factory_bot 6.5.1 → 6.5.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/NEWS.md CHANGED
@@ -1,477 +1,575 @@
1
1
  # News
2
2
 
3
+ ## 6.5.5 (August 15, 2025)
4
+
5
+ * Feat: Adds developer console features (CodeMeister)
6
+ * adds `bin/setup` to run bundle install
7
+ * adds `bin/console` to open an IRB console with factory_bot loaded
8
+ * adds a session method `reload!` will reload all gem files.
9
+ * Feat: Before(:all) and after(:all) callbacks added (CodeMeister)
10
+ * Feat: Adds support for before build callback (Mohammed Nasser and Neil Carvalho)
11
+ * Feat: Adds support for lazy loaded initial value sequences (AJ Esler)
12
+ * Fix: Refactors the removal of files from the loaded register in `.irbrc` (CodeMeister)
13
+ * Fix: Improves the sequence handling with better context support (CodeMeister)
14
+ * Fixes issue #1754 where `#generate` was throwing an error
15
+ * Refactors the `#increment_sequence` method to remove the URI requirement
16
+ * Fix: Cleans up ActiveSupport core extensions (Neil Carvalho)
17
+ * Fix: Addresses issue #1709 with resolution of conflict between '<attribute>' and '<attribute_id>` (CodeMeister)
18
+ * Fix: Addresses issue #1712 by ensuring callbacks only run once per instance (CodeMeister)
19
+ * Docs: Downcase of the word "constants" in `.irbrc` file (CodeMeister)
20
+ * Docs: Update docs with note clarifying when the full namespace is required in a factory (John Pitchko)
21
+ * Chore: Add new maintainers to CODEOWNERS (Ajina Slater)
22
+
23
+ ## 6.5.4 (June 13, 2025)
24
+
25
+ * Fix bug where user-defined method named `definition` could not be set through `method_missing` in factories. (CodeMeister)
26
+
27
+ ## 6.5.3 (June 2, 2025)
28
+
29
+ * Fix: Factory sequences without blocks (CodeMeister)
30
+ * Added: New methods for setting, generating and rewinding sequences (CodeMeister)
31
+
32
+ ## 6.5.2 (May 30, 2025)
33
+
34
+ * Changed: Updated "verbose linting" test to allow for backtrace changes in Ruby 3.4 (CodeMeister)
35
+ * Fix: Set the same timestamps for `created_at` and `updated_at` on `build_stubbed` (Kim Emmanuel)
36
+ * Fix: Refactored sequences to ensure cloned traits use parent sequences. (CodeMeister)
37
+ * Docs: Fix definition_file_paths comment (Milo Winningham)
38
+ * Docs: Add ruby-lsp extensions to Useful Tools in README.md (johansenja)
39
+ * Docs: Fix docs about definition file paths (Ryo Nakamura)
40
+ * Docs: Update has_many-associations.md to mention that traits can use inline associations (Matthew Zagaja)
41
+ * Docs: Fix "Transitioning from Factory Girl" guide link (Neil Carvalho)
42
+
3
43
  ## 6.5.1 (January 31, 2025)
4
44
 
5
- * Changed: execute linting tests within ActiveRecord transactions when available (Sean Doyle)
6
- * Fix: Random test failure when tracking compilation time (CodeMeinster)
7
- * Fix: Bump the minimum required activesupport version to 6.1 (Earlopain)
8
- * Internal: Update development dependencies (Neil Carvalho)
45
+ * Changed: execute linting tests within ActiveRecord transactions when available (Sean Doyle)
46
+ * Fix: Random test failure when tracking compilation time (CodeMeister)
47
+ * Fix: Bump the minimum required activesupport version to 6.1 (Earlopain)
48
+ * Internal: Update development dependencies (Neil Carvalho)
9
49
 
10
50
  ## 6.5.0 (September 6, 2024)
11
51
 
12
- * fix: issue 1621 broken links in ref/factory.md by @elasticspoon in https://github.com/thoughtbot/factory_bot/pull/1623
13
- * Add standard settings by @ydah in https://github.com/thoughtbot/factory_bot/pull/1625
14
- * Call dynamic-readme reusable workflow by @stefannibrasil in https://github.com/thoughtbot/factory_bot/pull/1628
15
- * Update README again by @stefannibrasil in https://github.com/thoughtbot/factory_bot/pull/1630
16
- * Only run this workflow if the README has been updated by @stefannibrasil in https://github.com/thoughtbot/factory_bot/pull/1635
17
- * Automatically Generated: Update Dynamic Section in README by @github-actions in https://github.com/thoughtbot/factory_bot/pull/1637
18
- * Added a case for build_class to handle class names with underscores passed as a string by @m-gizzi in https://github.com/thoughtbot/factory_bot/pull/1642
19
- * Add Ruby 3.3 to CI by @berkos in https://github.com/thoughtbot/factory_bot/pull/1615
20
- * Update Dependabot configuration by @smaboshe in https://github.com/thoughtbot/factory_bot/pull/1655
21
- * Add new maintainers to CODEOWNERS by @sarahraqueld in https://github.com/thoughtbot/factory_bot/pull/1651
22
- * Improve docs formatting and fix filename conflicts by @sarahraqueld in https://github.com/thoughtbot/factory_bot/pull/1666
23
- * Add a dynamic security workflow and a SECURITY.md file by @sarahraqueld in https://github.com/thoughtbot/factory_bot/pull/1677
24
- * Automatically Generated: Update Dynamic Section in SECURITY by @github-actions in https://github.com/thoughtbot/factory_bot/pull/1678
25
- * Ensure rails 7.2 compatibility by @Earlopain in https://github.com/thoughtbot/factory_bot/pull/1686
26
- * Fix the factory definition in traits documentation by @ddieulivol in https://github.com/thoughtbot/factory_bot/pull/1688
52
+ * fix: issue 1621 broken links in ref/factory.md by @elasticspoon in https://github.com/thoughtbot/factory_bot/pull/1623
53
+ * Add standard settings by @ydah in https://github.com/thoughtbot/factory_bot/pull/1625
54
+ * Call dynamic-readme reusable workflow by @stefannibrasil in https://github.com/thoughtbot/factory_bot/pull/1628
55
+ * Update README again by @stefannibrasil in https://github.com/thoughtbot/factory_bot/pull/1630
56
+ * Only run this workflow if the README has been updated by @stefannibrasil in https://github.com/thoughtbot/factory_bot/pull/1635
57
+ * Automatically Generated: Update Dynamic Section in README by @github-actions in https://github.com/thoughtbot/factory_bot/pull/1637
58
+ * Added a case for build_class to handle class names with underscores passed as a string by @m-gizzi in https://github.com/thoughtbot/factory_bot/pull/1642
59
+ * Add Ruby 3.3 to CI by @berkos in https://github.com/thoughtbot/factory_bot/pull/1615
60
+ * Update Dependabot configuration by @smaboshe in https://github.com/thoughtbot/factory_bot/pull/1655
61
+ * Add new maintainers to CODEOWNERS by @sarahraqueld in https://github.com/thoughtbot/factory_bot/pull/1651
62
+ * Improve docs formatting and fix filename conflicts by @sarahraqueld in https://github.com/thoughtbot/factory_bot/pull/1666
63
+ * Add a dynamic security workflow and a SECURITY.md file by @sarahraqueld in https://github.com/thoughtbot/factory_bot/pull/1677
64
+ * Automatically Generated: Update Dynamic Section in SECURITY by @github-actions in https://github.com/thoughtbot/factory_bot/pull/1678
65
+ * Ensure rails 7.2 compatibility by @Earlopain in https://github.com/thoughtbot/factory_bot/pull/1686
66
+ * Fix the factory definition in traits documentation by @ddieulivol in https://github.com/thoughtbot/factory_bot/pull/1688
27
67
 
28
68
  ## 6.4.6 (January 30, 2023)
29
69
 
30
- * Fix: Bump minimum required Ruby in gemspec (Earlopain).
31
- * Fix: Broken link in `FactoryBot.modify` docs (Matt Brictson).
32
- * Fix: Broken link in `FactoryBot.lint` docs (Anton Dieterle).
70
+ * Fix: Bump minimum required Ruby in gemspec (Earlopain).
71
+ * Fix: Broken link in `FactoryBot.modify` docs (Matt Brictson).
72
+ * Fix: Broken link in `FactoryBot.lint` docs (Anton Dieterle).
33
73
 
34
74
  ## 6.4.5 (December 29, 2023)
35
75
 
36
- * Changed: Support Ruby 3.0+, Rails 6.1+ (Mike Burns).
76
+ * Changed: Support Ruby 3.0+, Rails 6.1+ (Mike Burns).
37
77
 
38
78
  ## 6.4.4 (December 27, 2023)
39
79
 
40
- * Internal: Remove observer dependency (Earlopain).
80
+ * Internal: Remove observer dependency (Earlopain).
41
81
 
42
82
  ## 6.4.3 (December 26, 2023)
43
83
 
44
- * Fix: Support models without ID setters in build_stubbed (Olivier Bellone).
45
- * Fix: Explicit observer dependency (Oleg Antonyan).
46
- * Internal: Add Rails 7.1 to CI (Olivier Bellone).
47
- * Internal: Bump github actions/checkout to v4 (Lorenzo Zabot)
48
- * Internal: Stop passing disable-error_highlight in CI (Mike Burns).
49
- * Internal: Relax the exception message check (Mike Burns).
84
+ * Fix: Support models without ID setters in build_stubbed (Olivier Bellone).
85
+ * Fix: Explicit observer dependency (Oleg Antonyan).
86
+ * Internal: Add Rails 7.1 to CI (Olivier Bellone).
87
+ * Internal: Bump github actions/checkout to v4 (Lorenzo Zabot)
88
+ * Internal: Stop passing disable-error_highlight in CI (Mike Burns).
89
+ * Internal: Relax the exception message check (Mike Burns).
50
90
 
51
91
  ## 6.4.2 (November 22, 2023)
52
92
 
53
- * Fix: top-level traits pass their class to ActiveSupport::Notifications
54
- (makicamel).
93
+ * Fix: top-level traits pass their class to ActiveSupport::Notifications (makicamel).
55
94
 
56
95
  ## 6.4.1 (November 20, 2023)
57
96
 
58
- * Fix: factories with traits pass their class to ActiveSupport::Notifications
59
- (makicamel).
97
+ * Fix: factories with traits pass their class to ActiveSupport::Notifications
98
+ (makicamel).
60
99
 
61
100
  ## 6.4.0 (November 17, 2023)
62
101
 
63
- * Added: if `build_stubbed` detects a UUID primary key, generate the correct
64
- type (Peter Boling, Alexandre Ruban).
65
- * Docs: show examples of Ruby 3 syntactic sugars (Sean Doyle).
66
- * Internal: resolve test warning messages (Mike Burns).
67
-
102
+ * Added: if `build_stubbed` detects a UUID primary key, generate the correct
103
+ type (Peter Boling, Alexandre Ruban).
104
+ * Docs: show examples of Ruby 3 syntactic sugars (Sean Doyle).
105
+ * Internal: resolve test warning messages (Mike Burns).
68
106
 
69
107
  ## 6.3.0 (September 1, 2023)
70
108
 
71
- * Fix: link to changelog for RubyGems (Berkan Ünal).
72
- * Fix: integrate with Ruby 3.2's `did_you_mean` library (Daniel Colson).
73
- * Changed: explicitly define `#destroyed?` within the `Stub` strategy to return `false` to be consistent
74
- with ActiveRecord (Benjamin Fleischer).
75
- * Added: announce `factory_bot.compile_factory` notification (Sean Doyle).
76
- * Docs: clarify that custom strategies need to define `#to_sym` (Edmund Korley, Jonas S).
77
- * Docs: fix CI link in README (Mark Huk).
78
- * Docs: fix GitHub links (Robert Fletcher).
79
- * Docs: install this library with `bundle add` (Glauco Custódio).
80
- * Docs: re-write into mdBook (Mike Burns, Sara Jackson, Stefanni Brasil)
81
- * Docs: clarify that automatic trait definitions could introduce new linting errors (Lawrence Chou).
82
- * Internal: skip TruffleRuby on Rails 5.0, 5.1, 5.2 (Andrii Konchyn).
83
- * Internal: fix typoes throughout codebase (Yudai Takada).
84
- * Internal: run CI on `actions/checkout` v3 (Yudai Takada).
85
- * Internal: follow standardrb code style (Yudai Takada).
86
- * Internal: stop using Hound (Daniel Nolan).
87
- * Internal: only run simplecov on C Ruby (Daniel Colson).
88
- * Internal: quieter Cucumber (Daniel Colson).
89
- * Internal: Ruby 3.2 support (Daniel Colson).
90
- * Internal: Mike Burns is the CODEOWNER (Stefanni Brasil).
109
+ * Fix: link to changelog for RubyGems (Berkan Ünal).
110
+ * Fix: integrate with Ruby 3.2's `did_you_mean` library (Daniel Colson).
111
+ * Changed: explicitly define `#destroyed?` within the `Stub` strategy to return `false` to be consistent
112
+ with ActiveRecord (Benjamin Fleischer).
113
+ * Added: announce `factory_bot.compile_factory` notification (Sean Doyle).
114
+ * Docs: clarify that custom strategies need to define `#to_sym` (Edmund Korley, Jonas S).
115
+ * Docs: fix CI link in README (Mark Huk).
116
+ * Docs: fix GitHub links (Robert Fletcher).
117
+ * Docs: install this library with `bundle add` (Glauco Custódio).
118
+ * Docs: re-write into mdBook (Mike Burns, Sara Jackson, Stefanni Brasil)
119
+ * Docs: clarify that automatic trait definitions could introduce new linting errors (Lawrence Chou).
120
+ * Internal: skip TruffleRuby on Rails 5.0, 5.1, 5.2 (Andrii Konchyn).
121
+ * Internal: fix typoes throughout codebase (Yudai Takada).
122
+ * Internal: run CI on `actions/checkout` v3 (Yudai Takada).
123
+ * Internal: follow standardrb code style (Yudai Takada).
124
+ * Internal: stop using Hound (Daniel Nolan).
125
+ * Internal: only run simplecov on C Ruby (Daniel Colson).
126
+ * Internal: quieter Cucumber (Daniel Colson).
127
+ * Internal: Ruby 3.2 support (Daniel Colson).
128
+ * Internal: Mike Burns is the CODEOWNER (Stefanni Brasil).
91
129
 
92
130
  ## 6.2.1 (March 8, 2022)
93
- * Added: CI testing against truffleruby
94
- * Changed: Documentation improvements for sequences and traits
95
- * Fixed: ActiveSupport::Notifications reporting strategy through associations now report as symbols
96
- * BREAKING CHANGE: Custom strategies now need to define a `to_sym` method to specify the strategy identifier
97
- * Fixed: `add_attribute` with reserved keywords assigns values correctly
131
+
132
+ * Added: CI testing against truffleruby
133
+ * Changed: Documentation improvements for sequences and traits
134
+ * Fixed: ActiveSupport::Notifications reporting strategy through associations now report as symbols
135
+ * BREAKING CHANGE: Custom strategies now need to define a `to_sym` method to specify the strategy identifier
136
+ * Fixed: `add_attribute` with reserved keywords assigns values correctly
98
137
 
99
138
  ## 6.2.0 (May 7, 2021)
100
- * Added: support for Ruby 3.0
101
- * Changed: Include factory or trait name in error messages for missing traits. d05a9a3c
102
- * Changed: Switched from Travis CI to GitHub Actions
103
- * Fixed: More Ruby 2.7 kwarg deprecation warnings
139
+
140
+ * Added: support for Ruby 3.0
141
+ * Changed: Include factory or trait name in error messages for missing traits. d05a9a3c
142
+ * Changed: Switched from Travis CI to GitHub Actions
143
+ * Fixed: More Ruby 2.7 kwarg deprecation warnings
104
144
 
105
145
  ## 6.1.0 (July 8, 2020)
106
- * Added: public reader for the evaluation instance, helpful for building interrelated associations
107
- * Changed: raise a more helpful error when passing an invalid argument to an association
108
- * Fixed: Ruby 2.7 kwarg deprecation warnings
146
+
147
+ * Added: public reader for the evaluation instance, helpful for building interrelated associations
148
+ * Changed: raise a more helpful error when passing an invalid argument to an association
149
+ * Fixed: Ruby 2.7 kwarg deprecation warnings
109
150
 
110
151
  ## 6.0.2 (June 19, 2020)
111
- * Fixed: bug causing traits to consume more memory each time they were used
152
+
153
+ * Fixed: bug causing traits to consume more memory each time they were used
112
154
 
113
155
  ## 6.0.1 (June 19, 2020)
114
- * Fixed: bug with constant resolution causing unexpected uninitialized constant errors
156
+
157
+ * Fixed: bug with constant resolution causing unexpected uninitialized constant errors
115
158
 
116
159
  ## 6.0.0 (June 18, 2020)
117
- * Added: automatic definition of traits for Active Record enum attributes, enabled by default
118
- (Note that this required changing where factory_bot constantizes the build
119
- class, which may affect applications that were using abstract factories for
120
- inheritance. See issue #1409.) (This may break `FactoryBot.lint` because
121
- there may be previously non-existing factory+trait combinations being
122
- defined and checked)
123
- * Added: `traits_for_enum` method to define traits for non-Active Record enums
124
- * Added: `build_stubbed_starting_id=` option to define the starting id for `build_stubbed`
125
- * Removed: deprecated methods on the top-level `FactoryBot` module meant only for internal use
126
- * Removed: support for EOL versions of Ruby (2.3, 2.4) and Rails (4.2)
127
- * Removed: support for "abstract" factories with no associated class; use traits instead.
160
+
161
+ * Added: automatic definition of traits for Active Record enum attributes, enabled by default
162
+ (Note that this required changing where factory_bot constantizes the build
163
+ class, which may affect applications that were using abstract factories for
164
+ inheritance. See issue #1409.) (This may break `FactoryBot.lint` because
165
+ there may be previously non-existing factory+trait combinations being
166
+ defined and checked)
167
+ * Added: `traits_for_enum` method to define traits for non-Active Record enums
168
+ * Added: `build_stubbed_starting_id=` option to define the starting id for `build_stubbed`
169
+ * Removed: deprecated methods on the top-level `FactoryBot` module meant only for internal use
170
+ * Removed: support for EOL versions of Ruby (2.3, 2.4) and Rails (4.2)
171
+ * Removed: support for "abstract" factories with no associated class; use traits instead.
128
172
 
129
173
  ## 5.2.0 (April 24, 2020)
130
- * Added: Pass index to block for `*_list` methods
131
- * Deprecated: methods on the top-level `FactoryBot` module meant only for internal use: `callbacks`, `configuration`, `constructor`, `initialize_with`, `register_sequence`, `resent_configuration`, `skip_create`, `to_create`
174
+
175
+ * Added: Pass index to block for `*_list` methods
176
+ * Deprecated: methods on the top-level `FactoryBot` module meant only for internal use: `callbacks`, `configuration`, `constructor`, `initialize_with`, `register_sequence`, `resent_configuration`, `skip_create`, `to_create`
132
177
 
133
178
  ## 5.1.2 (March 25, 2020)
134
- * Fixed: Ruby 2.7 keyword deprecation warning in FactoryBot.lint
179
+
180
+ * Fixed: Ruby 2.7 keyword deprecation warning in FactoryBot.lint
135
181
 
136
182
  ## 5.1.1 (October 2, 2019)
137
- * Improved: performance of traits
138
- * Fixed: registering strategies on JRuby
183
+
184
+ * Improved: performance of traits
185
+ * Fixed: registering strategies on JRuby
139
186
 
140
187
  ## 5.1.0 (September 21, 2019)
141
- * Added: "Did you mean?" style error message to help with typos in association declarations
142
- * Changed: `NoMethodError` for static attributes now offers a "Did you mean?" style message
143
- * Fixed: avoid undefining inherited evaluator methods
144
- * Fixed: avoid stubbing id for records without a primary key
145
- * Fixed: raise a helpful error for self-referencing traits to avoid a `SystemStackError`
146
- * Deprecated: methods on the top-level `FactoryBot` module meant only for internal use: `allow_class_lookup`, `allow_class_lookup`=, `register_trait`, `trait_by_name`, `traits`, `sequence_by_name`, `sequences`, `factory_by_name`, `register_factory`, `callback_names`, `register_callback`, `register_default_callbacks`, `register_default_strategies`, `strategies`
188
+
189
+ * Added: "Did you mean?" style error message to help with typos in association declarations
190
+ * Changed: `NoMethodError` for static attributes now offers a "Did you mean?" style message
191
+ * Fixed: avoid undefining inherited evaluator methods
192
+ * Fixed: avoid stubbing id for records without a primary key
193
+ * Fixed: raise a helpful error for self-referencing traits to avoid a `SystemStackError`
194
+ * Deprecated: methods on the top-level `FactoryBot` module meant only for internal use: `allow_class_lookup`, `allow_class_lookup`=, `register_trait`, `trait_by_name`, `traits`, `sequence_by_name`, `sequences`, `factory_by_name`, `register_factory`, `callback_names`, `register_callback`, `register_default_callbacks`, `register_default_strategies`, `strategies`
147
195
 
148
196
  ## 5.0.2 (February 22, 2019)
149
- * Bugfix: raise "Trait not registered" error when passing invalid trait arguments
197
+
198
+ * Bugfix: raise "Trait not registered" error when passing invalid trait arguments
150
199
 
151
200
  ## 5.0.1 (February 15, 2019)
152
- * Bugfix: Do not raise error when two sequences have the same name
153
- in two traits that have the same name
201
+
202
+ * Bugfix: Do not raise error when two sequences have the same name
203
+ in two traits that have the same name
154
204
 
155
205
  ## 5.0.0 (February 1, 2019)
156
- * Added: Verbose option to include full backtraces in the linting output
157
- * Changed: use_parent_strategy now defaults to true, so by default the
158
- build strategy will build, rather than create associations
159
- * Changed: Passing a block when defining associations now raises an error
160
- * Bugfix: use_parent_strategy is no longer reset by FactoryBot.reload
161
- * Bugfix: rewind_sequences will now rewind local sequences along with the global ones
162
- * Bugfix: the build_stubbed strategy now sets timestamps without changing the
163
- the original behavior of the timestamp methods
164
- * Bugfix: avoid a stack error when referring to an "attributes" attribute in initialize_with
165
- * Removed: support for EOL versions of Ruby and Rails
166
- * Removed: static attributes (use dynamic attributes with a block instead)
167
- * Removed: looking up factories by class
168
- * Removed: ignore method (use transient instead)
169
- * Removed: duplicate_attribute_assignment_from_initialize_with configuration option
170
- * Deprecated: allow_class_lookup configuration option
206
+
207
+ * Added: Verbose option to include full backtraces in the linting output
208
+ * Changed: use_parent_strategy now defaults to true, so by default the
209
+ build strategy will build, rather than create associations
210
+ * Changed: Passing a block when defining associations now raises an error
211
+ * Bugfix: use_parent_strategy is no longer reset by FactoryBot.reload
212
+ * Bugfix: rewind_sequences will now rewind local sequences along with the global ones
213
+ * Bugfix: the build_stubbed strategy now sets timestamps without changing the
214
+ the original behavior of the timestamp methods
215
+ * Bugfix: avoid a stack error when referring to an "attributes" attribute in initialize_with
216
+ * Removed: support for EOL versions of Ruby and Rails
217
+ * Removed: static attributes (use dynamic attributes with a block instead)
218
+ * Removed: looking up factories by class
219
+ * Removed: ignore method (use transient instead)
220
+ * Removed: duplicate_attribute_assignment_from_initialize_with configuration option
221
+ * Deprecated: allow_class_lookup configuration option
171
222
 
172
223
  ## 4.11.1 (September 7, 2018)
173
- * Documentation: Include .yardopts in the gem to fix broken RubyDoc links
224
+
225
+ * Documentation: Include .yardopts in the gem to fix broken RubyDoc links
174
226
 
175
227
  ## 4.11.0 (August, 15, 2018)
176
- * Bugfix: Do not raise error for valid build_stubbed methods: decrement, increment, and toggle
177
- * Bugfix: Do not add timestamps with build_stubbed for objects that shouldn't have timestamps
178
- * Deprecate static attributes
228
+
229
+ * Bugfix: Do not raise error for valid build_stubbed methods: decrement, increment, and toggle
230
+ * Bugfix: Do not add timestamps with build_stubbed for objects that shouldn't have timestamps
231
+ * Deprecate static attributes
179
232
 
180
233
  ## 4.10.0 (May 25, 2018)
181
- * Allow sequences to be rewound
234
+
235
+ * Allow sequences to be rewound
182
236
 
183
237
  ## 4.9.0 (skipped - FactoryGirl only release)
184
238
 
185
239
  ## 4.8.2 (October 20, 2017)
186
- * Rename factory_girl to factory_bot
240
+
241
+ * Rename factory_girl to factory_bot
187
242
 
188
243
  ## 4.8.1 (September 28, 2017)
189
- * Explicitly define `#destroyed?` within the `Stub` strategy to return `nil` instead of raising
190
- * Update various dependencies
191
- * Update internal test suite to use RSpec's mocking/stubbing instead of mocha
244
+
245
+ * Explicitly define `#destroyed?` within the `Stub` strategy to return `nil` instead of raising
246
+ * Update various dependencies
247
+ * Update internal test suite to use RSpec's mocking/stubbing instead of mocha
192
248
 
193
249
  ## 4.8.0 (December 16, 2016)
194
- * Improve documentation
195
- * Add `FactoryGirl.generate_list` to be consistent with `build_list`/`create_list` and friends
196
- * Add `FactoryGirl.use_parent_strategy` configuration to allow associations to leverage parent build strategy
250
+
251
+ * Improve documentation
252
+ * Add `FactoryGirl.generate_list` to be consistent with `build_list`/`create_list` and friends
253
+ * Add `FactoryGirl.use_parent_strategy` configuration to allow associations to leverage parent build strategy
197
254
 
198
255
  ## 4.7.0 (April 1, 2016)
199
- * Improve documentation
200
- * Improve instrumentation payload to include traits, overrides, and the factory itself
201
- * Allow linting of traits
202
- * Deprecate factory lookup by class name in preparation for 5.0
203
- * Improve internal performance by using flat_map instead of map and compact
204
- * Improve handling of dirty attributes after building a stubbed object
205
- * Reduce warnings from redefining methods
256
+
257
+ * Improve documentation
258
+ * Improve instrumentation payload to include traits, overrides, and the factory itself
259
+ * Allow linting of traits
260
+ * Deprecate factory lookup by class name in preparation for 5.0
261
+ * Improve internal performance by using flat_map instead of map and compact
262
+ * Improve handling of dirty attributes after building a stubbed object
263
+ * Reduce warnings from redefining methods
206
264
 
207
265
  ## 4.6.0 (skipped)
208
266
 
209
267
  ## 4.5.0 (October 17, 2014)
210
- * Improve FactoryGirl.lint by including exception and message in output
211
- * Allow selective linting
212
- * Use more explicit #public_send when doing attribute assignment
213
- * Improve documentation around FactoryGirl.lint and initialize_with
214
- * Deprecate #ignore in favor of #transient
268
+
269
+ * Improve FactoryGirl.lint by including exception and message in output
270
+ * Allow selective linting
271
+ * Use more explicit #public_send when doing attribute assignment
272
+ * Improve documentation around FactoryGirl.lint and initialize_with
273
+ * Deprecate #ignore in favor of #transient
215
274
 
216
275
  ## 4.4.0 (February 10, 2014)
217
- * Add FactoryGirl.lint
218
- * Fix memory leak in duplicate traits
219
- * Update documentation
276
+
277
+ * Add FactoryGirl.lint
278
+ * Fix memory leak in duplicate traits
279
+ * Update documentation
220
280
 
221
281
  ## 4.3.0 (November 3, 2013)
222
- * Start testing against Rails 4.0 and Ruby 2.0.0
223
- * Stop testing against Rails 3.0 and Ruby 1.9.2
224
- * Add `*_pair` methods to only build two objects
225
- * Raise if a method is defined with a FactoryGirl block (factory or trait)
226
- * Allow use of Symbol#to_proc in callbacks
227
- * Add global callbacks
228
- * Improve GETTING_STARTED and README
282
+
283
+ * Start testing against Rails 4.0 and Ruby 2.0.0
284
+ * Stop testing against Rails 3.0 and Ruby 1.9.2
285
+ * Add `*_pair` methods to only build two objects
286
+ * Raise if a method is defined with a FactoryGirl block (factory or trait)
287
+ * Allow use of Symbol#to_proc in callbacks
288
+ * Add global callbacks
289
+ * Improve GETTING_STARTED and README
229
290
 
230
291
  ## 4.2.0 (January 18, 2013)
231
- * Improve documentation
232
- * Allow `*_list` syntax methods to accept a block
233
- * Update gem dependencies
234
- * Allow setting id for objects created with `build_stubbed`
235
- * Fix Stub strategy to mimic ActiveRecord regarding `created_at`
236
- * Evaluate sequences within the context of an Evaluator
237
- * Fix Mocha deprecation warning
238
- * Fix some warnings when running RUBYOPT=-w rake
239
- * Convert test suite to RSpec's "expect" syntax
292
+
293
+ * Improve documentation
294
+ * Allow `*_list` syntax methods to accept a block
295
+ * Update gem dependencies
296
+ * Allow setting id for objects created with `build_stubbed`
297
+ * Fix Stub strategy to mimic ActiveRecord regarding `created_at`
298
+ * Evaluate sequences within the context of an Evaluator
299
+ * Fix Mocha deprecation warning
300
+ * Fix some warnings when running RUBYOPT=-w rake
301
+ * Convert test suite to RSpec's "expect" syntax
240
302
 
241
303
  ## 4.1.0 (September 11, 2012)
242
- * Allow multiple callbacks to bind to the same block
243
- * Fix documentation surrounding the stub strategy
304
+
305
+ * Allow multiple callbacks to bind to the same block
306
+ * Fix documentation surrounding the stub strategy
244
307
 
245
308
  ## 4.0.0 (August 3, 2012)
246
- * Remove deprecated cucumber_steps
247
- * Remove deprecated alternate syntaxes
248
- * Deprecate duplicate_attribute_assignment_from_initialize_with, which is now unused
249
- as attributes assigned within initialize_with are not subsequently assigned
309
+
310
+ * Remove deprecated cucumber_steps
311
+ * Remove deprecated alternate syntaxes
312
+ * Deprecate duplicate_attribute_assignment_from_initialize_with, which is now unused
313
+ as attributes assigned within initialize_with are not subsequently assigned
250
314
 
251
315
  ## 3.6.1 (August 2, 2012)
252
- Update README to include info about running with JRuby
253
- * Update dependencies on RSpec and tiny versions of Rails in Appraisal
254
- * Improve flexibility of using traits with associations and add documentation
255
- * Stub update_column to raise to mirror ActiveRecord's change from update_attribute
316
+
317
+ Update README to include info about running with JRuby
318
+ * Update dependencies on RSpec and tiny versions of Rails in Appraisal
319
+ * Improve flexibility of using traits with associations and add documentation
320
+ * Stub update_column to raise to mirror ActiveRecord's change from update_attribute
256
321
 
257
322
  ## 3.6.0 (July 27, 2012)
258
- * Code/spec cleanup
259
- * Allow factories with traits to be used in associations
260
- * Refactor Factory to use DefinitionHierarchy to handle managing callbacks,
261
- custom constructor, and custom to_create
262
- * Add memoization to speed up factories providing attribute overrides
263
- * Add initial support of JRuby when running in 1.9 mode
264
- * Improve docs on what happens when including FactoryGirl::Syntax::Methods
323
+
324
+ * Code/spec cleanup
325
+ * Allow factories with traits to be used in associations
326
+ * Refactor Factory to use DefinitionHierarchy to handle managing callbacks,
327
+ custom constructor, and custom to_create
328
+ * Add memoization to speed up factories providing attribute overrides
329
+ * Add initial support of JRuby when running in 1.9 mode
330
+ * Improve docs on what happens when including FactoryGirl::Syntax::Methods
265
331
 
266
332
  ## 3.5.0 (June 22, 2012)
267
- * Allow created_at to be set when using build_stubbed
268
- * Deprecate FactoryGirl step definitions
333
+
334
+ * Allow created_at to be set when using build_stubbed
335
+ * Deprecate FactoryGirl step definitions
269
336
 
270
337
  ## 3.4.2 (June 19, 2012)
271
- * Fix bug in traits with callbacks called implicitly in factories whose
272
- callbacks trigger multiple times
338
+
339
+ * Fix bug in traits with callbacks called implicitly in factories whose
340
+ callbacks trigger multiple times
273
341
 
274
342
  ## 3.4.1 (June 18, 2012)
275
- * Fix traits so they can be nested and referred to from other traits
343
+
344
+ * Fix traits so they can be nested and referred to from other traits
276
345
 
277
346
  ## 3.4.0 (June 11, 2012)
278
- * Sequences support Enumerators
279
- * Optionally disable duplicate assignment of attributes in initialize_with
280
- * Make hash of public attributes available in initialize_with
281
- * Support referring to a factory based on class name
347
+
348
+ * Sequences support Enumerators
349
+ * Optionally disable duplicate assignment of attributes in initialize_with
350
+ * Make hash of public attributes available in initialize_with
351
+ * Support referring to a factory based on class name
282
352
 
283
353
  ## 3.3.0 (May 13, 2012)
284
- * Allow to_create, skip_create, and initialize_with to be defined globally
285
- * Allow to_create, skip_create, and initialize_with to be defined within traits
286
- * Fix deprecation messages for alternate syntaxes (make, generate, etc.)
287
- * Improve library documentation
288
- * Deprecate after_build, after_create, before_create, after_stub in favor of new callbacks
289
- * Introduce new callback syntax: after(:build) {}, after(:custom) {}, or callback(:different) {}
290
- This allows for declaring any callback, usable with custom strategies
291
- * Add attributes_for_list and build_stubbed_list with the StrategySyntaxMethodRegistrar
292
- * Allow use of syntax methods (build, create, generate, etc) implicitly in callbacks
293
- * Internal refactoring of a handful of components
354
+
355
+ * Allow to_create, skip_create, and initialize_with to be defined globally
356
+ * Allow to_create, skip_create, and initialize_with to be defined within traits
357
+ * Fix deprecation messages for alternate syntaxes (make, generate, etc.)
358
+ * Improve library documentation
359
+ * Deprecate after_build, after_create, before_create, after_stub in favor of new callbacks
360
+ * Introduce new callback syntax: after(:build) {}, after(:custom) {}, or callback(:different) {}
361
+ This allows for declaring any callback, usable with custom strategies
362
+ * Add attributes_for_list and build_stubbed_list with the StrategySyntaxMethodRegistrar
363
+ * Allow use of syntax methods (build, create, generate, etc) implicitly in callbacks
364
+ * Internal refactoring of a handful of components
294
365
 
295
366
  ## 3.2.0 (April 24, 2012)
296
- * Use AS::Notifications for pub/sub to track running factories
297
- * Call new within initialize_with implicitly on the build class
298
- * Skip to_create with skip_create
299
- * Allow registration of custom strategies
300
- * Deprecate alternate syntaxes
301
- * Implicitly call factory_bot's syntax methods from dynamic attributes
367
+
368
+ * Use AS::Notifications for pub/sub to track running factories
369
+ * Call new within initialize_with implicitly on the build class
370
+ * Skip to_create with skip_create
371
+ * Allow registration of custom strategies
372
+ * Deprecate alternate syntaxes
373
+ * Implicitly call factory_bot's syntax methods from dynamic attributes
302
374
 
303
375
  ## 3.1.0 (April 6, 2012)
304
- * Sequences support aliases, which reference the same block
305
- * Update documentation
306
- * Add before_create callback
307
- * Support use of #attribute_names method to determine available attributes for steps
308
- * Use ActiveSupport::Deprecation for all deprecations
376
+
377
+ * Sequences support aliases, which reference the same block
378
+ * Update documentation
379
+ * Add before_create callback
380
+ * Support use of #attribute_names method to determine available attributes for steps
381
+ * Use ActiveSupport::Deprecation for all deprecations
309
382
 
310
383
  ## 3.0.0 (March 23, 2012)
311
- * Deprecate the vintage syntax
312
- * Remove Rails 2.x support
313
- * Remove Ruby 1.8 support
314
- * Remove deprecated features, including default_strategy, factory_name,
315
- :method for defining default strategy, ignore on individual attributes, and
316
- interacting with Factory the way you would FactoryGirl
384
+
385
+ * Deprecate the vintage syntax
386
+ * Remove Rails 2.x support
387
+ * Remove Ruby 1.8 support
388
+ * Remove deprecated features, including default_strategy, factory_name,
389
+ :method for defining default strategy, ignore on individual attributes, and
390
+ interacting with Factory the way you would FactoryGirl
317
391
 
318
392
  ## 2.6.4 (March 16, 2012)
319
- * Do not ignore names of transient attributes
320
- * Ensure attributes set on instance are calculated uniquely
393
+
394
+ * Do not ignore names of transient attributes
395
+ * Ensure attributes set on instance are calculated uniquely
321
396
 
322
397
  ## 2.6.3 (March 9, 2012)
323
- * Fix issue with traits not being present the first time a factory is accessed
324
- * Update available Cucumber step definitions to not require a trailing colon
325
- when building a table of attributes to instantiate records with
398
+
399
+ * Fix issue with traits not being present the first time a factory is accessed
400
+ * Update available Cucumber step definitions to not require a trailing colon
401
+ when building a table of attributes to instantiate records with
326
402
 
327
403
  ## 2.6.2 (March 9, 2012)
328
- * Allow factories to use all their ancestors' traits
329
- * Ignore bin dir generated by bundler
330
- * Namespace ::Factory as top-level to fix vintage syntax issue with
331
- Ruby 1.9.2-p3p18
404
+ * Allow factories to use all their ancestors' traits
405
+ * Ignore bin dir generated by bundler
406
+ * Namespace ::Factory as top-level to fix vintage syntax issue with
407
+ Ruby 1.9.2-p3p18
332
408
 
333
409
  ## 2.6.1 (March 2, 2012)
334
- * Use FactoryGirl.reload in specs
335
- * Clean up running named factories with a particular strategy with
336
- FactoryGirl::FactoryRunner
410
+
411
+ * Use FactoryGirl.reload in specs
412
+ * Clean up running named factories with a particular strategy with
413
+ FactoryGirl::FactoryRunner
337
414
 
338
415
  ## 2.6.0 (February 17, 2012)
339
- * Improve documentation of has_many associations in the GETTING_STARTED
340
- document
341
- * Deprecate :method in favor of :strategy when overriding an association's
342
- build strategy
416
+
417
+ * Improve documentation of has_many associations in the GETTING_STARTED
418
+ document
419
+ * Deprecate :method in favor of :strategy when overriding an association's
420
+ build strategy
343
421
 
344
422
  ## 2.5.2 (February 10, 2012)
345
- * Fix step definitions to use associations defined in parent factories
346
- * Add inline trait support to (build|create)_list
347
- * Update ActiveSupport dependency to >= 2.3.9, which introduced
348
- class_attribute
423
+
424
+ * Fix step definitions to use associations defined in parent factories
425
+ * Add inline trait support to (build|create)_list
426
+ * Update ActiveSupport dependency to >= 2.3.9, which introduced
427
+ class_attribute
349
428
 
350
429
  ## 2.5.1 (February 3, 2012)
351
- * Fix attribute evaluation when the attribute isn't defined in the factory but
352
- is a private method on Object
353
- * Update rubygems on Travis before running tests
354
- * Fix spec name
355
- * Update GETTING_STARTED with correct usage of build_stubbed
356
- * Update README with more info on initialize_with
357
- * Honor :parent on factory over block nesting
430
+
431
+ * Fix attribute evaluation when the attribute isn't defined in the factory but
432
+ is a private method on Object
433
+ * Update rubygems on Travis before running tests
434
+ * Fix spec name
435
+ * Update GETTING_STARTED with correct usage of build_stubbed
436
+ * Update README with more info on initialize_with
437
+ * Honor :parent on factory over block nesting
358
438
 
359
439
  ## 2.5.0 (January 20, 2012)
360
- * Revert 'Deprecate build_stubbed and attributes_for'
361
- * Implement initialize_with to allow overriding object instantiation
362
- * Ensure FG runs against Rails 3.2.0
440
+
441
+ * Revert 'Deprecate build_stubbed and attributes_for'
442
+ * Implement initialize_with to allow overriding object instantiation
443
+ * Ensure FG runs against Rails 3.2.0
363
444
 
364
445
  ## 2.4.2 (January 18, 2012)
365
- * Fix inline traits' interaction with defaults on the factory
446
+
447
+ * Fix inline traits' interaction with defaults on the factory
366
448
 
367
449
  ## 2.4.1 (January 17, 2012)
368
- * Deprecate build_stubbed and attributes_for
369
- * Fix inline traits
450
+
451
+ * Deprecate build_stubbed and attributes_for
452
+ * Fix inline traits
370
453
 
371
454
  ## 2.4.0 (January 13, 2012)
372
- * Refactor internals of FactoryGirl to use anonymous class on which attributes
373
- get defined
374
- * Explicitly require Ruby 1.8.7 or higher in gemspec
375
- * Fix documentation
376
- * Add Gemnasium status to documentation
377
- * Supplying a Class to a factory that overrides to_s no longer results in
378
- getting the wrong Class constructed
379
- * Be more agnostic about ORMs when using columns in FactoryGirl step
380
- definitions
381
- * Test against Active Record 3.2.0.rc2
382
- * Update GETTING_STARTED to use Ruby syntax highlighting
455
+
456
+ * Refactor internals of FactoryGirl to use anonymous class on which attributes
457
+ get defined
458
+ * Explicitly require Ruby 1.8.7 or higher in gemspec
459
+ * Fix documentation
460
+ * Add Gemnasium status to documentation
461
+ * Supplying a Class to a factory that overrides to_s no longer results in
462
+ getting the wrong Class constructed
463
+ * Be more agnostic about ORMs when using columns in FactoryGirl step
464
+ definitions
465
+ * Test against Active Record 3.2.0.rc2
466
+ * Update GETTING_STARTED to use Ruby syntax highlighting
383
467
 
384
468
  ## 2.3.2 (November 26, 2011)
385
- * Move logic of where instance.save! is set to Definition
386
- * Fix method name from aliases_for? to alias_for?
387
- * Refactor internal attribute handling to use an anonymous class instead of
388
- faking Ruby's variable resolution. This allows for more sane usage of
389
- attributes without having to manage sorting priority because attributes
390
- can turn themselves into procs, which are used with define_method on a
391
- class so attributes work correctly all the time.
469
+
470
+ * Move logic of where instance.save! is set to Definition
471
+ * Fix method name from aliases_for? to alias_for?
472
+ * Refactor internal attribute handling to use an anonymous class instead of
473
+ faking Ruby's variable resolution. This allows for more sane usage of
474
+ attributes without having to manage sorting priority because attributes
475
+ can turn themselves into procs, which are used with define_method on a
476
+ class so attributes work correctly all the time.
392
477
 
393
478
  ## 2.3.1 (November 23, 2011)
394
- * Remove internally-used associate method from all the FactoryGirl::Proxy subclasses
395
- * Move around requiring of files
396
- * Consolidate errors into factory_bot.rb
397
- * Refactor AttributeList to deal with priority only when iterating over
398
- attributes
399
- * Refactor internals of some of the Proxy subclasses
400
- * Ensure callbacks on traits are executed in the correct order
479
+
480
+ * Remove internally-used associate method from all the FactoryGirl::Proxy subclasses
481
+ * Move around requiring of files
482
+ * Consolidate errors into factory_bot.rb
483
+ * Refactor AttributeList to deal with priority only when iterating over
484
+ attributes
485
+ * Refactor internals of some of the Proxy subclasses
486
+ * Ensure callbacks on traits are executed in the correct order
401
487
 
402
488
  ## 2.3.0 (November 18, 2011)
403
- * Registries are named, resulting in better messages when factories, traits,
404
- or sequences cannot be found
405
- * Fix incorrect tests
406
- * Internals refactoring introducing FactoryGirl::NullFactory,
407
- FactoryGirl::Definition, and FactoryGirl::DeclarationList
408
- * Use ActiveSupport for Hash#except and its delegation capabilities
409
- * Fix usage of callbacks when added via implicit traits
410
- * Use Bundler tasks and clean up dependencies
411
- * Fix failing spec for big letters in factory name passed as symbol
412
- * Add ability for traits to be added dynamically when creating an instance via
413
- build, create, build_stubbed, or attributes_for
489
+
490
+ * Registries are named, resulting in better messages when factories, traits,
491
+ or sequences cannot be found
492
+ * Fix incorrect tests
493
+ * Internals refactoring introducing FactoryGirl::NullFactory,
494
+ FactoryGirl::Definition, and FactoryGirl::DeclarationList
495
+ * Use ActiveSupport for Hash#except and its delegation capabilities
496
+ * Fix usage of callbacks when added via implicit traits
497
+ * Use Bundler tasks and clean up dependencies
498
+ * Fix failing spec for big letters in factory name passed as symbol
499
+ * Add ability for traits to be added dynamically when creating an instance via
500
+ build, create, build_stubbed, or attributes_for
414
501
 
415
502
  ## 2.2.0 (October 14, 2011)
416
- * Clean up RSpec suite to not use 'should'
417
- * Use create_list in step definitions
418
- * Syntax methods that deal with ORM interaction (attributes_for, build, build_stubbed,
419
- and create) now accept a block that yields the result. This results in a
420
- more convenient way to interact with the result than using Object.tap.
421
- * Standardize deprecation warnings
422
- * Update transient attribute syntax to use blocks instead of calling ignore on
423
- each attribute declaration
424
- * Parents can be defined after children because factories are evaluated when
425
- they're used; this means breaking up factories across multiple files will
426
- behave as expected
427
- * Large internal refactoring, including changing access modifiers for a
428
- handful of methods for a more clearly defined API
503
+
504
+ * Clean up RSpec suite to not use 'should'
505
+ * Use create_list in step definitions
506
+ * Syntax methods that deal with ORM interaction (attributes_for, build, build_stubbed,
507
+ and create) now accept a block that yields the result. This results in a
508
+ more convenient way to interact with the result than using Object.tap.
509
+ * Standardize deprecation warnings
510
+ * Update transient attribute syntax to use blocks instead of calling ignore on
511
+ each attribute declaration
512
+ * Parents can be defined after children because factories are evaluated when
513
+ they're used; this means breaking up factories across multiple files will
514
+ behave as expected
515
+ * Large internal refactoring, including changing access modifiers for a
516
+ handful of methods for a more clearly defined API
429
517
 
430
518
  ## 2.1.2 (September 23, 2011)
431
- * Bugfix: Vintage syntax fixed after bug introduced in 2.1.1
432
- * Introduce dependency on activesupport to remove code from Factory class
519
+
520
+ * Bugfix: Vintage syntax fixed after bug introduced in 2.1.1
521
+ * Introduce dependency on activesupport to remove code from Factory class
433
522
 
434
523
  ## 2.1.1 (September 23, 2011) (yanked)
435
- * Bugfix: Parent object callbacks are run before child object callbacks
436
- * Declarations: allow overriding/modification of individual traits in child factories
437
- * Callbacks refactored to not be attributes
438
- * Updating documentation for formatting and clarity (incl. new specificity for cucumber)
524
+
525
+ * Bugfix: Parent object callbacks are run before child object callbacks
526
+ * Declarations: allow overriding/modification of individual traits in child factories
527
+ * Callbacks refactored to not be attributes
528
+ * Updating documentation for formatting and clarity (incl. new specificity for cucumber)
439
529
 
440
530
  ## 2.1.0 (September 02, 2011)
441
- * Bugfix: created_at now defined for stubbed models
442
- * Gemspec updated for use with Rails 3.1
443
- * Factories can now be modified post-definition (useful for overriding defaults from gems/plugins)
444
- * All factories can now be reloaded with Factory.reload
445
- * Add :method => build to factory associations to prevent saving of associated objects
446
- * Factories defined in {Rails.root}/factories are now loaded by default
447
- * Various documentation updates
531
+
532
+ * Bugfix: created_at now defined for stubbed models
533
+ * Gemspec updated for use with Rails 3.1
534
+ * Factories can now be modified post-definition (useful for overriding defaults from gems/plugins)
535
+ * All factories can now be reloaded with Factory.reload
536
+ * Add :method => build to factory associations to prevent saving of associated objects
537
+ * Factories defined in {Rails.root}/factories are now loaded by default
538
+ * Various documentation updates
448
539
 
449
540
  ## 1.1.4 (November 28, 2008)
450
- * Factory.build now uses Factory.create for associations of the built object
451
- * Factory definitions are now detected in subdirectories, such as
452
- factories/person_factory.rb (thanks to Josh Nichols)
453
- * Factory definitions are now loaded after the environment in a Rails project
454
- (fixes some issues with dependencies being loaded too early) (thanks to
455
- Josh Nichols)
456
- * Factory names ending in 's' no longer cause problems (thanks to Alex Sharp
457
- and Josh Owens)
541
+
542
+ * Factory.build now uses Factory.create for associations of the built object
543
+ * Factory definitions are now detected in subdirectories, such as
544
+ factories/person_factory.rb (thanks to Josh Nichols)
545
+ * Factory definitions are now loaded after the environment in a Rails project
546
+ (fixes some issues with dependencies being loaded too early) (thanks to
547
+ Josh Nichols)
548
+ * Factory names ending in 's' no longer cause problems (thanks to Alex Sharp
549
+ and Josh Owens)
458
550
 
459
551
  ## 1.1.3 (September 12, 2008)
460
- * Automatically pull in definitions from factories.rb, test/factories.rb, or
461
- spec/factories.rb
552
+
553
+ * Automatically pull in definitions from factories.rb, test/factories.rb, or
554
+ spec/factories.rb
555
+
462
556
  ## 1.1.2 (July 30, 2008)
463
- * Improved error handling for invalid and undefined factories/attributes
464
- * Improved handling of strings vs symbols vs classes
465
- * Added a prettier syntax for handling associations
466
- * Updated documentation and fixed compatibility with Rails 2.1
557
+
558
+ * Improved error handling for invalid and undefined factories/attributes
559
+ * Improved handling of strings vs symbols vs classes
560
+ * Added a prettier syntax for handling associations
561
+ * Updated documentation and fixed compatibility with Rails 2.1
467
562
 
468
563
  ## 1.1.1 (June 23, 2008)
469
- * The attribute "name" no longer requires using #add_attribute
564
+
565
+ * The attribute "name" no longer requires using #add_attribute
470
566
 
471
567
  ## 1.1.0 (June 03, 2008)
472
- * Added support for dependent attributes
473
- * Fixed the attributes_for build strategy to not build associations
474
- * Added support for sequences
568
+
569
+ * Added support for dependent attributes
570
+ * Fixed the attributes_for build strategy to not build associations
571
+ * Added support for sequences
475
572
 
476
573
  ## 1.0.0 (May 31, 2008)
477
- * First version
574
+
575
+ * First version