Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Jul 14, 2012
  1. @sikachu @joshuaclayton

    Fix FactoryGirl naming convention

    sikachu authored joshuaclayton committed
    So now, we'll always refer to this Gem as FactoryGirl, regardless of
    context. This commit is to make it consistence throughout the code base.
Commits on Jul 12, 2012
  1. @joshuaclayton

    Add DefinitionHierarchy to handle inheritance of some definition attr…

    joshuaclayton authored
    …ibutes
    
    This includes #callbacks, #constructor, and #to_create. The reasoning
    behind this is that we were mimicing an inheritance chain via methods;
    now, we actually generate classes, which Factory maintains, who inherit
    from their parent's hierarchy. We build the hierarchy during compilation
    to conditionally define methods based on whether what we're dealing
    with from the definition is actually meaningful. The base class
    (DefinitionHierarchy) uses the defaults (an empty array for #callbacks
    and the global #to_create and #constructor) so once we hit the top
    level, if the definition doesn't set any overrides, we have a list of
    sensible values.
Commits on Jul 7, 2012
  1. @joshuaclayton
Commits on Jun 29, 2012
  1. @joshuaclayton

    Allow factories with traits to be used in associations

    joshuaclayton authored
    This allows defining associations with factories using traits by slicing
    up the hash passed to association. Passing an array to `:factory` will
    use the first item in the array as the factory, with any subsequent
    symbols as traits.
    
    Here's an example:
    
        factory :post do
          association :author, factory: [:user, :admin], name: 'John Doe'
        end
    
    Closes #395
Commits on Jun 25, 2012
  1. @joshuaclayton
  2. @joshuaclayton
Commits on Jun 22, 2012
  1. @joshuaclayton
  2. @joshuaclayton

    Bump version to 3.5.0

    joshuaclayton authored
  3. @joshuaclayton
  4. @joshuaclayton
Commits on Jun 20, 2012
  1. @joshuaclayton

    Fix date in NEWS

    joshuaclayton authored
  2. @joshuaclayton

    Bump version to 3.4.2

    joshuaclayton authored
  3. @joshuaclayton
Commits on Jun 19, 2012
  1. @joshuaclayton
Commits on Jun 18, 2012
  1. @joshuaclayton

    Bump version to 3.4.1

    joshuaclayton authored
Commits on Jun 16, 2012
  1. @joshuaclayton

    Fix various trait bugs so traits can be used within each other

    joshuaclayton authored
    The previous implementation of trait handling within the Definition
    didn't account for when implicit traits were used within other traits.
    This is useful if you have two different traits, but one depends on
    another; for example, a refunded order and a completed order could both
    have the attribute `completed_at` set, but refunded would additionally
    have `refunded_at` set:
    
        FactoryGirl.define do
          factory :order do
            trait :completed do
              completed_at { 3.days.ago }
            end
    
            trait :refunded do
              completed
              refunded_at { 1.day.ago }
            end
          end
        end
    
    This also tests to make sure that callbacks, custom constructors, and
    creation overrides work correctly when implicit traits are used within
    other traits.
    
    Fixes #360
Commits on Jun 12, 2012
  1. @joshuaclayton

    Don't mutate hash

    joshuaclayton authored
Commits on Jun 11, 2012
  1. @joshuaclayton

    Bump version to 3.4.0

    joshuaclayton authored
Commits on Jun 9, 2012
  1. @joshuaclayton

    Support refering to factory based on class name

    joshuaclayton authored
    Allows for build/creating based on RSpec's described_class, useful since
    we've deprecated other syntaxes from FG.
    
    Closes #386
Commits on Jun 8, 2012
  1. @joshuaclayton
  2. @joshuaclayton
  3. @joshuaclayton
  4. @joshuaclayton
Commits on May 18, 2012
  1. @joshuaclayton
  2. @joshuaclayton

    Optionally disable duplicate assignment of attributes in initialize_with

    joshuaclayton authored
    By setting:
    
        FactoryGirl.duplicate_attribute_assignment_from_initialize_with =
    false
    
    This turns off duplicate assignment of attributes accessed from
    initialize_with. This means any attributes accessed from the factory and
    assigned in the initialize_with block won't be subsequently set after
    the object has been instantiated.
    
    This will be the default functionality in 4.0.
    
    Closes #345
  3. @joshuaclayton

    Remove unnecessary conditional in Evaluator#method_missing

    joshuaclayton authored
    Evaluator has all methods defined dynamically; this includes standard
    attributes AND overrides. Because of this, method_missing never actually
    gets used to retrieve a value from previously declared attributes or
    overrides.
    
    This branch of logic was never accessed
Commits on May 13, 2012
  1. @joshuaclayton

    Sequences support Enumerators

    joshuaclayton authored
    This introduces an EnumeratorAdapter so everything coming in looks like
    an Enumerator. It doesn't use the adapter if the #peek method exists on
    the object.
    
    This allows for sequences like:
    
        sequence(:cities, %w[Boston Atlanta Detroit Seattle].cycle)
    
    This also makes it easier to cycle through arrays and ranges, since they
    can be converted to Enumerators rather easily.
    
        sequence(:month, (1..12).to_enum)
        sequence(:month, %w[foo bar baz].to_enum)
    
    This doesn't handle when calling Range#step out of the box, because
    Ruby returns an Enumerator but ActiveSupport 3.x returns an array,
    meaning #to_enum still needs to be called.
    
    Closes #339, #378
  2. @joshuaclayton

    Bump version to 3.3.0

    joshuaclayton authored
Commits on May 12, 2012
  1. @joshuaclayton

    Styles

    joshuaclayton authored
  2. @joshuaclayton

    Allow initialize_with defined for all factories

    joshuaclayton authored
    This allows users to define initialize_with for every factory run through
    factory_girl.
    
        FactoryGirl.define do
          initialize_with { new("John Doe") }
        end
    
    If you want to override this default, set it per factory or in a trait
    (and include the trait).
    
    Closes #342
  3. @joshuaclayton

    Allow to_create defined for all factories

    joshuaclayton authored
    This allows users to define to_create for every factory run through
    factory_girl.
    
        FactoryGirl.define do
          to_create {|instance| instance.persist! }
        end
    
    If you want to override this default, set it per factory or in a trait
    (and include the trait).
    
    Closes #341
  4. @joshuaclayton
Commits on May 11, 2012
  1. @joshuaclayton
  2. @joshuaclayton
  3. @joshuaclayton
Something went wrong with that request. Please try again.