Permalink
Commits on Feb 3, 2012
  1. Bump version to 2.5.1

    joshuaclayton committed Feb 3, 2012
  2. Overrides become methods defined on each instance of the evaluator

    joshuaclayton committed Jan 29, 2012
    There were some big issues with trying to undefine specific methods on
    the Evaluator. After investigating maybe inheriting from BasicObject (or
    ActiveSupport::BasicObject since BasicObject is 1.9+), that turned out
    to be too much of a pain because it undefines almost everything,
    including class and a handful of other methods necessary for Evaluator
    to work properly.
    
    The second solution was to undefine all private methods. The problem is,
    when other libraries defining methods (private or otherwise) on Object
    are loaded *after* factory girl, those methods get added and Evaluator
    sees those methods on Object. So, that solution didn't directly work either.
    
    This commit removes undefining methods (the sole reason of which was to
    capture with method_missing and process ourselves, returning the
    override or cached value) and instead introduces a new concept -
    iterating over each override and defining it as a method on the
    evaluator INSTANCE. This means that overrides don't collide because
    they're on the instance and we don't have to worry about undefining
    methods so that method_missing kicks in. This is the most stable and
    guaranteed way to get this to work because the overrides are applied to
    each instance at runtime.
    
    Closes #279, #285
Commits on Jan 29, 2012
  1. Update rubygems on travis-ci.org before running dependency installation

    michaelklishin committed Jan 29, 2012
    REE will fail to install Rails 3.2 gems w/o rubygems update.
Commits on Jan 23, 2012
Commits on Jan 21, 2012
  1. Bump version to 2.5.0

    joshuaclayton committed Jan 21, 2012
Commits on Jan 20, 2012
  1. Revert "Deprecate attributes_for and build_stubbed"

    joshuaclayton committed Jan 20, 2012
    This reverts commit a883315.
  2. Implement initialize_with to allow overriding object instantiation

    joshuaclayton committed Jan 20, 2012
    Factory Girl now allows factories to override object instantiation. This
    means factories can use factory methods (e.g. methods other than new) as
    well as pass arguments explicitly.
    
        factory :user do
          ignore do
            things { ["thing 1", "thing 2"] }
          end
    
          initialize_with { User.construct_with_things(things) }
        end
    
        factory :report_generator do
          ignore do
            name { "Generic Report" }
            data { {:foo => "bar", :baz => "buzz"} }
          end
    
          initialize_with { ReportGenerator.new(name, data) }
        end
    
    Whitespace
    
    Code recommendations
Commits on Jan 18, 2012
  1. Bump to 2.4.2

    joshuaclayton committed Jan 18, 2012
Commits on Jan 17, 2012
  1. Bump version to 2.4.1

    joshuaclayton committed Jan 17, 2012
Commits on Jan 16, 2012
  1. Reset evaluator class when cloning a FactoryGirl::Factory

    joshuaclayton committed Jan 16, 2012
    Applying traits inline modifies the evaluator class, so it needs to be
    reset when cloning in order to ensure that the attributes are correct.
    
    Closes #268
Commits on Jan 13, 2012
  1. Bump version to 2.4.0

    joshuaclayton committed Jan 13, 2012
  2. Be more agnostic to ORMs when using columns. This will allow using FG…

    dnagir committed with joshuaclayton Dec 15, 2011
    … with neo4j still preserving semantics for other ORMs.
  3. Supplying a Class to a factory that overrides to_s no longer results …

    Evan Larkin committed with joshuaclayton Dec 14, 2011
    …in getting the wrong Class constructed
Commits on Jan 12, 2012
  1. Add `required_ruby_version` to the Gemspec.

    weppos committed Jan 12, 2012
    See http://docs.rubygems.org/read/chapter/20#required_ruby_version
    
    Some features, such as commit 4b6ada7, requires Ruby >= 1.8.7.
    Also, there's no trace of Ruby 1.8.6 support in the .travis.yml file.
  2. Update Giant Robots blog URL

    weppos committed Jan 12, 2012
  3. http => https

    weppos committed Jan 12, 2012
Commits on Jan 9, 2012
Commits on Jan 8, 2012
  1. Revert "Don't cache build class"

    joshuaclayton committed Jan 8, 2012
    This reverts commit 845a76a.
  2. Add NullObject

    joshuaclayton committed Jan 8, 2012
  3. Allow methods to be called from the instance in factory girl attributes

    joshuaclayton committed Jan 8, 2012
    This fixes a regression introduced with the introduction of the
    anonymous class.
    
    Closes #264