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