I no longer mantain this list. There are lots of other very comprehensive JavaScript link lists out there. Please see those, instead (Google "awesome JavaScript" for a start).
PRs are a great way of sharing information, and can help us be aware of the changes that are occuring in our codebase. They are also an excellent way of getting peer review on the work that we do, without the cost of working in direct pairs.
Ultimately though, the primary reason we use PRs is to encourage quality in the commits that are made to our code repositories
Done well, the commits (and their attached messages) contained within tell a story to people examining the code at a later date. If we are not careful to ensure the quality of these commits, we silently lose this ability.
In React's terminology, there are five core types that are important to distinguish:
React Elements
This list is based on aliases_spec.rb.
You can see also Module: RSpec::Matchers API.
matcher | aliased to | description |
---|---|---|
a_truthy_value | be_truthy | a truthy value |
a_falsey_value | be_falsey | a falsey value |
be_falsy | be_falsey | be falsy |
a_falsy_value | be_falsey | a falsy value |
- http://david.heinemeierhansson.com/2014/tdd-is-dead-long-live-testing.html
- http://blog.8thlight.com/uncle-bob/2014/04/25/MonogamousTDD.html
- http://david.heinemeierhansson.com/2014/test-induced-design-damage.html
- http://blog.8thlight.com/uncle-bob/2014/05/01/Design-Damage.html
- http://david.heinemeierhansson.com/2014/slow-database-test-fallacy.html
- http://blog.8thlight.com/uncle-bob/2014/04/30/When-tdd-does-not-work.html
- https://www.destroyallsoftware.com/blog/2014/tdd-straw-men-and-rhetoric
- http://articles.coreyhaines.com/posts/active-record-spec-helper/
- http://martinfowler.com/bliki/UnitTest.html
class Ticket < ActiveRecord::Base | |
belongs_to :grouper | |
belongs_to :user | |
validate :user_cant_be_blacklisted, on: :confirmation | |
validate :user_cant_double_book, on: :confirmation | |
validate :grouper_cant_be_full, on: :confirmation | |
validate :grouper_cant_have_occurred, on: :confirmation |
require 'stringio' | |
require 'timeout' | |
class Object | |
def methods_returning(expected, *args, &blk) | |
old_stdout = $> | |
$> = StringIO.new | |
methods.select do |meth| | |
Timeout::timeout(1) { dup.public_send(meth, *args, &blk) == expected rescue false } rescue false |
# A Basic API Controller for Rails | |
# Handles authentication via Headers, params, and HTTP Auth | |
# Automatically makes all requests JSON format | |
# | |
# Written for production code | |
# Made public for: http://broadcastingadam.com/2012/03/state_of_rails_apis | |
# | |
# Enjoy! | |
class ApiController < ApplicationController |
module DefaultValues | |
def has_default_values(default_values = {}) | |
class_attribute :default_values | |
self.default_values = default_values | |
after_initialize :assign_default_values | |
include InstanceMethods |
require 'spec_helper' | |
require File.expand_path('../../../db/migrate/20130910173340_decrypt_case_identifiers', __FILE__) | |
describe 'Case identifiers decryption migration' do | |
subject(:migration) { DecryptCaseIdentifiers.new } | |
describe ".up" do | |
it "decrypts identifier of each case" do | |
cases = create_list(:case, 2) | |
cases[0].update_column(:identifier, encrypt('12345')) |