Permalink
Commits on Feb 10, 2012
  1. Bump version to 2.5.2

    joshuaclayton committed Feb 10, 2012
Commits on Feb 8, 2012
  1. Move factory associations logic to evaluator_class

    evaluator_class contains the fully-inherited list of attributes; this
    includes parent classes, traits, etc. When calculating associations for
    an individual factory, the factory should use inheritance to build the
    list instead of merely accessing association attributes on itself.
    
    Closes #293
    joshuaclayton committed Feb 8, 2012
  2. Minor code cleanup

    joshuaclayton committed Feb 8, 2012
  3. Let Cucumber steps use inherited associations.

    By making Factory#associations include the parent's associations.
    
    #292
    eostrom committed with joshuaclayton Feb 7, 2012
  4. Clean up gemspec.

    gabebw committed Feb 8, 2012
Commits on Feb 4, 2012
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

    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
    joshuaclayton committed Jan 29, 2012
Commits on Jan 29, 2012
  1. Update rubygems on travis-ci.org before running dependency installation

    REE will fail to install Rails 3.2 gems w/o rubygems update.
    michaelklishin committed Jan 29, 2012
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"

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

    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
    joshuaclayton committed Jan 20, 2012
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

    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
    joshuaclayton committed Jan 16, 2012
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…

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

    …in getting the wrong Class constructed
    Evan Larkin committed with joshuaclayton Dec 14, 2011