thoughtbot--factory_bot/NEWS

324 lines
14 KiB
Plaintext
Raw Normal View History

2019-01-06 03:00:45 +00:00
5.0.0
Added: Verbose option to include full backtraces in the linting output
Changed: use_parent_strategy now defaults to true, so by default the
build strategy will build, rather than create associations
Changed: Passing a block when defining associations now raises an error
Bugfix: use_parent_strategy is no longer reset by FactoryBot.reload
Bugfix: rewind_sequences will now rewind local sequences along with the global ones
Bugfix: the build_stubbed strategy now sets timestamps without changing the
the original behavior of the timestamp methods
Bugfix: avoid a stack error when referring to an "attributes" attribute in initialize_with
Removed: support for EOL versions of Ruby and Rails
Removed: static attributes (use dynamic attributes with a block instead)
Removed: looking up factories by class
Removed: ignore method (use transient instead)
Removed: duplicate_attribute_assignment_from_initialize_with configuration option
Deprecated: allow_class_lookup configuration option
2018-09-07 19:58:10 +00:00
4.11.1 (September 7, 2018)
Documentation: Include .yardopts in the gem to fix broken RubyDoc links
2018-08-15 14:56:09 +00:00
4.11.0 (August, 15, 2018)
Bugfix: Do not raise error for valid build_stubbed methods: decrement, increment, and toggle
Bugfix: Do not add timestamps with build_stubbed for objects that shouldn't have timestamps
Deprecate static attributes
2018-05-25 14:21:09 +00:00
4.10.0 (May 25, 2018)
Allow sequences to be rewound
4.9.0 (skipped - FactoryGirl only release)
2017-10-20 19:25:49 +00:00
4.8.2 (October 20, 2017)
Rename factory_girl to factory_bot
2017-09-28 10:30:14 +00:00
4.8.1 (September 28, 2017)
Explicitly define `#destroyed?` within the `Stub` strategy to return `nil` instead of raising
Update various dependencies
Update internal test suite to use RSpec's mocking/stubbing instead of mocha
2016-12-16 11:09:37 +00:00
4.8.0 (December 16, 2016)
Improve documentation
Add `FactoryGirl.generate_list` to be consistent with `build_list`/`create_list` and friends
Add `FactoryGirl.use_parent_strategy` configuration to allow associations to leverage parent build strategy
2016-04-01 10:04:25 +00:00
4.7.0 (April 1, 2016)
Improve documentation
Improve instrumentation payload to include traits, overrides, and the factory itself
Allow linting of traits
Deprecate factory lookup by class name in preparation for 5.0
Improve internal performance by using flat_map instead of map and compact
Improve handling of dirty attributes after building a stubbed object
Reduce warnings from redefining methods
4.6.0 (skipped)
2014-10-17 20:51:07 +00:00
4.5.0 (October 17, 2014)
Improve FactoryGirl.lint by including exception and message in output
Allow selective linting
Use more explicit #public_send when doing attribute assignment
Improve documentation around FactoryGirl.lint and initialize_with
Deprecate #ignore in favor of #transient
2014-02-11 13:04:21 +00:00
4.4.0 (February 10, 2014)
Add FactoryGirl.lint
Fix memory leak in duplicate traits
Update documentation
4.3.0 (November 3, 2013)
Start testing against Rails 4.0 and Ruby 2.0.0
Stop testing against Rails 3.0 and Ruby 1.9.2
Add *_pair methods to only build two objects
Raise if a method is defined with a FactoryGirl block (factory or trait)
Allow use of Symbol#to_proc in callbacks
Add global callbacks
Improve GETTING_STARTED and README
2013-01-18 19:40:57 +00:00
4.2.0 (January 18, 2013)
Improve documentation
Allow *_list syntax methods to accept a block
Update gem dependencies
Allow setting id for objects created with `build_stubbed`
Fix Stub strategy to mimic ActiveRecord regarding `created_at`
Evaluate sequences within the context of an Evaluator
Fix Mocha deprecation warning
Fix some warnings when running RUBYOPT=-w rake
Convert test suite to RSpec's "expect" syntax
2012-09-11 15:21:09 +00:00
4.1.0 (September 11, 2012)
Allow multiple callbacks to bind to the same block
Fix documentation surrounding the stub strategy
2012-08-03 21:00:06 +00:00
4.0.0 (August 3, 2012)
Remove deprecated cucumber_steps
Remove deprecated alternate syntaxes
Deprecate duplicate_attribute_assignment_from_initialize_with, which is now unused
as attributes assigned within initialize_with are not subsequently assigned
2012-08-02 15:16:39 +00:00
3.6.1 (August 2, 2012)
Update README to include info about running with JRuby
Update dependencies on RSpec and tiny versions of Rails in Appraisal
Improve flexibility of using traits with associations and add documentation
Stub update_column to raise to mirror ActiveRecord's change from update_attribute
2012-07-27 17:00:24 +00:00
3.6.0 (July 27, 2012)
Code/spec cleanup
Allow factories with traits to be used in associations
Refactor Factory to use DefinitionHierarchy to handle managing callbacks,
custom constructor, and custom to_create
Add memoization to speed up factories providing attribute overrides
Add initial support of JRuby when running in 1.9 mode
Improve docs on what happens when including FactoryGirl::Syntax::Methods
2012-06-22 21:00:29 +00:00
3.5.0 (June 22, 2012)
Allow created_at to be set when using build_stubbed
Deprecate FactoryGirl step definitions
2012-06-20 02:40:07 +00:00
3.4.2 (June 19, 2012)
2012-06-20 02:28:24 +00:00
Fix bug in traits with callbacks called implicitly in factories whose
callbacks trigger multiple times
2012-06-18 13:10:00 +00:00
3.4.1 (June 18, 2012)
Fix traits so they can be nested and referred to from other traits
2012-06-11 12:11:42 +00:00
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
2012-05-13 04:39:57 +00:00
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
2012-04-24 16:52:33 +00:00
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_bot's syntax methods from dynamic attributes
2012-04-24 16:52:33 +00:00
2012-04-06 20:17:26 +00:00
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
2012-03-23 15:24:29 +00:00
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
2012-03-16 17:16:26 +00:00
2.6.4 (March 16, 2012)
Do not ignore names of transient attributes
Ensure attributes set on instance are calculated uniquely
2012-03-09 19:36:01 +00:00
2.6.3 (March 9, 2012)
Fix issue with traits not being present the first time a factory is accessed
2015-03-23 11:54:38 +00:00
Update available Cucumber step definitions to not require a trailing colon
2012-03-09 19:36:01 +00:00
when building a table of attributes to instantiate records with
2012-03-09 19:32:04 +00:00
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
2012-02-17 20:58:45 +00:00
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
2012-02-10 22:36:37 +00:00
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
2012-02-03 21:58:58 +00:00
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
2012-01-21 00:06:30 +00:00
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
2012-01-18 15:33:30 +00:00
2.4.2 (January 18, 2012)
Fix inline traits' interaction with defaults on the factory
2012-01-17 22:53:55 +00:00
2.4.1 (January 17, 2012)
Deprecate build_stubbed and attributes_for
Fix inline traits
2012-01-13 19:35:48 +00:00
2.4.0 (January 13, 2012)
Refactor internals of FactoryGirl to use anonymous class on which attributes
2012-01-13 19:35:48 +00:00
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 FactoryGirl step
2012-01-13 19:35:48 +00:00
definitions
Test against Active Record 3.2.0.rc2
Update GETTING_STARTED to use Ruby syntax highlighting
2011-11-26 18:10:14 +00:00
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.
2011-11-23 23:47:25 +00:00
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_bot.rb
2011-11-23 23:47:25 +00:00
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
2011-11-18 22:12:02 +00:00
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
2011-10-14 14:31:02 +00:00
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
2011-09-23 20:03:40 +00:00
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)
2011-09-23 19:47:24 +00:00
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
2008-11-28 22:03:53 +00:00
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)
2008-09-12 19:59:58 +00:00
1.1.3 (September 12, 2008)
Automatically pull in definitions from factories.rb, test/factories.rb, or
spec/factories.rb
2008-07-30 14:10:54 +00:00
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
2008-06-23 22:23:36 +00:00
1.1.1 (June 23, 2008)
The attribute "name" no longer requires using #add_attribute
1.1.0 (June 03, 2008)
2008-06-23 22:23:36 +00:00
Added support for dependent attributes
Fixed the attributes_for build strategy to not build associations
Added support for sequences
2011-11-04 10:21:37 +00:00
1.0.0 (May 31, 2008)
2008-06-23 22:23:36 +00:00
First version