Skip to content
This repository
Fetching contributors…

Cannot retrieve contributors at this time

file 204 lines (176 sloc) 8.897 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204
3.4.1 (June 18, 2012)
  Fix traits so they can be nested and referred to from other traits

3.4.0 (June 11, 2012)
  Sequences support Enumerators
  Optionally disable duplicate assignment of attributes in initialize_with
  Make hash of public attributes available in initialize_with
  Support referring to a factory based on class name

3.3.0 (May 13, 2012)
  Allow to_create, skip_create, and initialize_with to be defined globally
  Allow to_create, skip_create, and initialize_with to be defined within traits
  Fix deprecation messages for alternate syntaxes (make, generate, etc.)
  Improve library documentation
  Deprecate after_build, after_create, before_create, after_stub in favor of new callbacks
  Introduce new callback syntax: after(:build) {}, after(:custom) {}, or callback(:different) {}
    This allows for declaring any callback, usable with custom strategies
  Add attributes_for_list and build_stubbed_list with the StrategySyntaxMethodRegistrar
  Allow use of syntax methods (build, create, generate, etc) implicitly in callbacks
  Internal refactoring of a handful of components

3.2.0 (April 24, 2012)
  Use AS::Notifications for pub/sub to track running factories
  Call new within initialize_with implicitly on the build class
  Skip to_create with skip_create
  Allow registration of custom strategies
  Deprecate alternate syntaxes
  Implicitly call factory_girl's syntax methods from dynamic attributes

3.1.0 (April 6, 2012)
  Sequences support aliases, which reference the same block
  Update documentation
  Add before_create callback
  Support use of #attribute_names method to determine available attributes for steps
  Use ActiveSupport::Deprecation for all deprecations

3.0.0 (March 23, 2012)
  Deprecate the vintage syntax
  Remove Rails 2.x support
  Remove Ruby 1.8 support
  Remove deprecated features, including default_strategy, factory_name,
    :method for defining default strategy, ignore on individual attributes, and
    interacting with Factory the way you would FactoryGirl

2.6.4 (March 16, 2012)
  Do not ignore names of transient attributes
  Ensure attributes set on instance are calculated uniquely

2.6.3 (March 9, 2012)
  Fix issue with traits not being present the first time a factory is accessed
  Update available Cucumber step definitions to not require a trialing colon
    when building a table of attributes to instantiate records with

2.6.2 (March 9, 2012)
  Allow factories to use all their ancestors' traits
  Ignore bin dir generated by bundler
  Namespace ::Factory as top-level to fix vintage syntax issue with
    Ruby 1.9.2-p3p18

2.6.1 (March 2, 2012)
  Use FactoryGirl.reload in specs
  Clean up running named factories with a particular strategy with
    FactoryGirl::FactoryRunner

2.6.0 (February 17, 2012)
  Improve documentation of has_many associations in the GETTING_STARTED
    document
  Deprecate :method in favor of :strategy when overriding an association's
    build strategy

2.5.2 (February 10, 2012)
  Fix step definitions to use associations defined in parent factories
  Add inline trait support to (build|create)_list
  Update ActiveSupport dependency to >= 2.3.9, which introduced
    class_attribute

2.5.1 (February 3, 2012)
  Fix attribute evaluation when the attribute isn't defined in the factory but
    is a private method on Object
  Update rubygems on Travis before running tests
  Fix spec name
  Update GETTING_STARTED with correct usage of build_stubbed
  Update README with more info on initialize_with
  Honor :parent on factory over block nesting

2.5.0 (January 20, 2012)
  Revert 'Deprecate build_stubbed and attributes_for'
  Implement initialize_with to allow overriding object instantiation
  Ensure FG runs against Rails 3.2.0

2.4.2 (January 18, 2012)
  Fix inline traits' interaction with defaults on the factory

2.4.1 (January 17, 2012)
  Deprecate build_stubbed and attributes_for
  Fix inline traits

2.4.0 (January 13, 2012)
  Refactor internals of Factory Girl to use anonymous class on which attributes
    get defined
  Explicitly require Ruby 1.8.7 or higher in gemspec
  Fix documentation
  Add Gemnasium status to documentation
  Supplying a Class to a factory that overrides to_s no longer results in
    getting the wrong Class constructed
  Be more agnostic about ORMs when using columns in Factory Girl step
    definitions
  Test against Active Record 3.2.0.rc2
  Update GETTING_STARTED to use Ruby syntax highlighting

2.3.2 (November 26, 2011)
  Move logic of where instance.save! is set to Definition
  Fix method name from aliases_for? to alias_for?
  Refactor internal attribute handling to use an anonymous class instead of
    faking Ruby's variable resolution. This allows for more sane usage of
    attributes without having to manage sorting priority because attributes
    can turn themselves into procs, which are used with define_method on a
    class so attributes work correctly all the time.

2.3.1 (November 23, 2011)
  Remove internally-used associate method from all the FactoryGirl::Proxy subclasses
  Move around requiring of files
  Consolidate errors into factory_girl.rb
  Refactor AttributeList to deal with priority only when iterating over
    attributes
  Refactor internals of some of the Proxy subclasses
  Ensure callbacks on traits are executed in the correct order

2.3.0 (November 18, 2011)
  Registries are named, resulting in better messages when factories, traits,
    or sequences cannot be found
  Fix incorrect tests
  Internals refactoring introducing FactoryGirl::NullFactory,
    FactoryGirl::Definition, and FactoryGirl::DeclarationList
  Use ActiveSupport for Hash#except and its delegation capabilities
  Fix usage of callbacks when added via implicit traits
  Use Bundler tasks and clean up dependencies
  Fix failing spec for big letters in factory name passed as symbol
  Add ability for traits to be added dynamically when creating an instance via
    build, create, build_stubbed, or attributes_for

2.2.0 (October 14, 2011)
  Clean up RSpec suite to not use 'should'
  Use create_list in step definitions
  Syntax methods that deal with ORM interaction (attributes_for, build, build_stubbed,
    and create) now accept a block that yields the result. This results in a
    more convenient way to interact with the result than using Object.tap.
  Standardize deprecation warnings
  Update transient attribute syntax to use blocks instead of calling ignore on
    each attribute declaration
  Parents can be defined after children because factories are evaluated when
    they're used; this means breaking up factories across multiple files will
    behave as expected
  Large internal refactoring, including changing access modifiers for a
    handful of methods for a more clearly defined API

2.1.2 (September 23, 2011)
  Bugfix: Vintage syntax fixed after bug introduced in 2.1.1
  Introduce dependency on activesupport to remove code from Factory class

2.1.1 (September 23, 2011) (yanked)
  Bugfix: Parent object callbacks are run before child object callbacks
  Declarations: allow overriding/modification of individual traits in child factories
  Callbacks refactored to not be attributes
  Updating documentation for formatting and clarity (incl. new specificity for cucumber)

2.1.0 (September 02, 2011)
  Bugfix: created_at now defined for stubbed models
  Gemspec updated for use with Rails 3.1
  Factories can now be modified post-definition (useful for overriding defaults from gems/plugins)
  All factories can now be reloaded with Factory.reload
  Add :method => build to factory associations to prevent saving of associated objects
  Factories defined in {Rails.root}/factories are now loaded by default
  Various documentation updates

1.1.4 (November 28, 2008)
  Factory.build now uses Factory.create for associations of the built object
  Factory definitions are now detected in subdirectories, such as
factories/person_factory.rb (thanks to Josh Nichols)
  Factory definitions are now loaded after the environment in a Rails project
(fixes some issues with dependencies being loaded too early) (thanks to
Josh Nichols)
  Factory names ending in 's' no longer cause problems (thanks to Alex Sharp
and Josh Owens)

1.1.3 (September 12, 2008)
  Automatically pull in definitions from factories.rb, test/factories.rb, or
spec/factories.rb
1.1.2 (July 30, 2008)
  Improved error handling for invalid and undefined factories/attributes
Improved handling of strings vs symbols vs classes
Added a prettier syntax for handling associations
  Updated documentation and fixed compatibility with Rails 2.1

1.1.1 (June 23, 2008)
  The attribute "name" no longer requires using #add_attribute

1.1.0 (June 03, 2008)
Added support for dependent attributes
Fixed the attributes_for build strategy to not build associations
  Added support for sequences

1.0.0 (May 31, 2008)
  First version
Something went wrong with that request. Please try again.