Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Apr 3, 2015
  1. @takiy33 @mcmire

    Use pry-byebug instead of pry-nav

    takiy33 authored mcmire committed
Commits on Apr 1, 2015
  1. @mcmire
Commits on Mar 1, 2015
  1. @mcmire

    Upgrade pry to master version

    mcmire authored
    The latest commit of pry removes a lot of annoying warnings.
    Unfortunately a new release has not been issued yet, so just use the
    master branch for now.
Commits on Feb 12, 2015
  1. @mcmire

    Add support for Postgres

    mcmire authored
    When running tests, you can now switch between running them against a
    SQLite or PostgreSQL database. This is accomplished by modifying the
    unit and acceptance tests so that when they generate and load the test
    Rails application, database.yml is replaced with content that will
    configure the database appropriately.
Commits on Feb 9, 2015
  1. @mcmire

    Add support for Ruby 2.2

    mcmire authored
    Secondary author: Luciano Sousa <>
    Also, upgrade to rspec-rails 3.2.0 explicitly. (See
    b7fe87a for an explanation of why 3.2.0
    is necessary here.)
  2. @mcmire

    Remove Rails 3.x, Ruby 1.9.2, Ruby 1.9.3

    mcmire authored
    Ruby 1.9.3 will be end-of-lifed on February 23, 2015. We might as well
    remove support for it now.
  3. @mcmire

    Clean up Gemfile

    mcmire authored
    * Remove Aruba and Bourne since we don't use them anymore
    * Remove Rails from main Gemfile as it's already a dependency in each of
      the appraisals
    * Tighten dependency on Rake to 10.x
    * Move dependencies shared among appraisals to Appraisals
Commits on Feb 5, 2015
  1. @mcmire

    Test against RSpec 3 from now on

    mcmire authored
    * Ruby 2.2 removed Minitest and Test::Unit from the standard library
      [[1]], [[2]]
    * rspec-rails requires Test::Unit for Rails versions prior to 4.1 (which
      switched to Minitest)
    * This doesn't work now, because we don't have Test::Unit present in the
      gem bundle
    * RSpec 3.2.0 fixes this issue [[3]]
    I don't really see this as a huge concern, since we were testing against
    RSpec 2.99 for Rails < 4, and that has most of the changes that RSpec 3
    [1]: ruby/ruby@f8c6a5d
    [2]: ruby/ruby@96f5526
    [3]: rspec/rspec-rails@999ebb7#diff-08d960c572ac094640dd183fa9641393R13
  2. @mcmire

    Remove debugger, byebug, and web-console from 4.2

    mcmire authored
    debugger and byebug cannot be present in Appraisals because they only
    work on specific Ruby versions, and we test against a range of Ruby
    versions. Hence, they can't be present in the Rails application that
    gets generated in acceptance tests, either.
    Also, we don't really need web-console to be there, it's just an extra
Commits on Jan 23, 2015
  1. @mcmire

    Add Rails 4.2 to Travis

    mcmire authored
  2. @mcmire
Commits on Jan 4, 2015
  1. @mcmire
Commits on Dec 25, 2014
  1. @mcmire

    Ensure that we are req'd after rspec in tests

    mcmire authored
    Currently before running unit tests we are getting auto-required before
    rspec-rails is getting required. This is bad because we need to wait
    until rspec-rails is loaded before injecting Shoulda::Matchers::* into
    the current RSpec context, otherwise matchers that clash with
    rspec-rails (such as `render_template` will get overridden).
    This is happening when creating and booting the Rails application.
    Bundler will auto-require any gems in the Gemfile. One of these gems is
    ourselves (via the `gemspec` line). Since there aren't any dependencies
    in the gemspec, there's no need for us to be in the Gemfile.
    This means that we no longer have to explicit `include` Rails
    ActionController template assertions in the tests for `render_template`
    as they should get included automatically for us.
Commits on Dec 24, 2014
  1. @mcmire

    Add Appraisal for Rails 4.2

    mcmire authored
Commits on Nov 6, 2014
  1. @mcmire

    Upgrade 4.1 appraisal to Rails 4.1.7

    mcmire authored
    This version fixes a bug with habtm and a namespaced class name so that
    when the association looks up that class it will look inside the model
    namespace instead of the global namespace.
Commits on Nov 5, 2014
  1. @mcmire

    Remove Cucumber tests

    mcmire authored
Commits on Oct 22, 2014
  1. @mcmire

    Upgrade to appraisal 1.0.2

    mcmire authored
Commits on Oct 8, 2014
  1. @mcmire

    Add minitest to Rails 3.x appraisals

    mcmire authored
    The minitest dependency is necessary in order to write Cucumber tests
    that depend on Minitest.
  2. @mcmire
Commits on Sep 3, 2014
  1. @mcmire

    Bump version to 2.7.0

    mcmire authored
Commits on Aug 14, 2014
  1. @lunks @mcmire

    Using RSpec 3 for development.

    lunks authored mcmire committed
Commits on Jul 19, 2014
  1. @mcmire

    Bump version to 2.6.2

    mcmire authored
Commits on Jun 27, 2014
  1. @mcmire

    Use same assertion class as Rails, if loaded

    mcmire authored
    Given this scenario:
    * Using Rails 4.1
    * Gemfile has `gem 'shoulda-matchers', require: false`
    * spec_helper has `require 'shoulda/matchers'` following
      `require 'rspec/rails'`
    * Using Spring to run tests
    matchers that delegate to assertions in Rails (e.g. `render_template`
    and `route`) will fail in the wrong way if used. They fail because in
    order to use these assertions, we expect that the assertions will
    raise a specific exception, an exception that corresponds to whichever
    test framework that Rails is using. For Rails versions that used
    Test::Unit, this is Test::Unit::AssertionFailedError. For current Rails
    versions, which now use Minitest, this exception is Minitest::Assertion.
    The problem is that instead of asking Rails which exception class it's
    using, we are trying to detect this exception class ourselves (for
    cases in which Rails is not being used). This leads to the wrong class
    being detected: when using a Rails version that uses Minitest, we choose
    Test::Unit::AssertionFailedError as the class. This happens using the
    exact scenario above because even though shoulda-matchers is loaded
    after rspec-rails, rspec-rails itself defines
    Also add Cucumber tests that confirms this exact scenario works.
Commits on Jun 20, 2014
  1. @mcmire

    Generate docs using YARD

    mcmire authored
  2. @mcmire

    Move dev dependencies to Gemfile

    mcmire authored
    Currently some dev dependencies are in the Gemfile, and some are in the
    gemspec. The dependencies in the Gemfile are there because they are
    using Bundler-specific options, so there is a legitimate reason for them
    to be there, however, it's confusing to have gems in two places. So the
    common denominator is to have them in the Gemfile.
Commits on May 21, 2014
  1. @mcmire

    Add missing test dependences to Appraisals

    mcmire authored
    Since as of commit 2748b75, we no
    longer install dependencies inside of the Rails app that is generated
    and used to run all of the tests, we have to require all of the
    dependencies that the app would install inside of the appropriate
    This was mostly straightforward except for some workarounds with the
    turn gem:
    * Rails 3.1 requires two versions of turn depending on which Ruby
      version you're using. On 1.9.2, it uses turn 0.9.2; after 1.9.2, it
      uses ~> 0.9.3. To accommodate this we have to have two versions of the
      Rails 3.1 appraisal which declare the different turn versions.
    * Rails 3.1 also loads the turn gem even if, in the Gemfile for the app,
      turn is declared with `require: false`. This causes a problem while
      running our tests because turn actually requires minitest/autorun,
      which adds a hook so when Ruby exits, Minitest tests are run. Because
      we're already using RSpec, Minitest will try to re-run the `rspec`
      command we ran within a Minitest environment. This will fail since we
      are using RSpec-specific command line options to run the tests.
      Unfortunately there's no way to shut off minitest/autorun after it's
      been required, so we have to monkey-patch Minitest's #run method so
    it's a no-op.
Commits on Apr 30, 2014
  1. @mcmire

    Bump version to 2.6.1

    mcmire authored
Commits on Apr 27, 2014
  1. @mcmire

    Bump to version 2.6.1.rc2

    mcmire authored
Commits on Apr 22, 2014
  1. @mcmire

    Bump to version 2.6.1.rc1

    mcmire authored
Commits on Apr 12, 2014
  1. @mcmire

    Bump to version 2.6.0

    mcmire authored
Commits on Apr 8, 2014
  1. @maurogeorge

    Add support to rails 4.1.0

    maurogeorge authored
Commits on Mar 26, 2014
  1. @dgalarza

    Remove dependencies for `StrongParametersMatcher`

    Damian Galarza and Harry Schwartz authored dgalarza committed
    Refactor the `StrongParametersMatcher` to work without depending on
    bourne for spying on methods. Use an internal spying tool to provide
    platform independence.
    Other improvements include:
    * Standardize `failure_message` method naming
    * Properly detect when a matcher does not match
    * Add documentation for `permit` matcher.
  2. @dgalarza

    Revert "Remove 'strong_parameters' matcher"

    Damian Galarza and Harry Schwartz authored dgalarza committed
    This reverts commit 7e7fb14.
Commits on Feb 22, 2014
  1. @mcmire
Commits on Feb 11, 2014
  1. @maurogeorge @mcmire

    Add pry as development dependency

    maurogeorge authored mcmire committed
Something went wrong with that request. Please try again.