factory_bot_rails 6.4.4 → 6.5.1
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.
- checksums.yaml +4 -4
- data/NEWS.md +16 -0
- data/README.md +13 -0
- data/lib/factory_bot_rails/file_fixture_support.rb +9 -0
- data/lib/factory_bot_rails/railtie.rb +18 -0
- data/lib/factory_bot_rails/version.rb +3 -0
- data/lib/generators/factory_bot/authentication/authentication_generator.rb +22 -0
- data/lib/generators/factory_bot/authentication/templates/users.rb +9 -0
- metadata +128 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 75360fd8a053000e549d17f3d2a8a87c9ec00736e44bf8369e93bc7ff666b72f
|
4
|
+
data.tar.gz: d1eafc076c461ae5474506732a533600a7fc29954c5caf49c057319d271c6a40
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d01d429548ba2f84b8ef8f37b743ac1fcbd779d79b00d25b8296cc39081544bf4a3b1b62bbe2c85d16c43855bab3d37e5ab4ca5c3b21a72763c28a41449024ab
|
7
|
+
data.tar.gz: 17a86892bfa8fc6508c67bd9f39795b99cf3ac12acc1caf5140b384ac0e2305946cdb0ad37f2e65d9c742945e4ebb76155d38982a465db6d6bfe771b7e900681
|
data/NEWS.md
CHANGED
@@ -3,6 +3,22 @@ there might not be any notable changes in new versions of this project.
|
|
3
3
|
|
4
4
|
# NEWS
|
5
5
|
|
6
|
+
## 6.5.1 (September 5, 2025)
|
7
|
+
|
8
|
+
* Add: Add AuthenticationGenerator for users factory creation (Rodrigo Toledo)
|
9
|
+
* Changed: Update required_ruby_version to require >= Ruby 3.1 (y-yagi)
|
10
|
+
* Internal: Fix Cucumber tests (Neil Carvalho)
|
11
|
+
|
12
|
+
## 6.5.0 (June 13, 2025)
|
13
|
+
|
14
|
+
* Add: First-party support for [`file_fixture`](https://api.rubyonrails.org/classes/ActiveSupport/Testing/FileFixtures.html#method-i-file_fixture) within factory blocks (Sean Doyle)
|
15
|
+
* Changed: Drop support for Ruby 3.0 (Fernando Perales)
|
16
|
+
* Changed: Add required Ruby version to the gemspec (Christoph Lipautz)
|
17
|
+
* Internal: Add Rails 7.2 to the test matrix (Raj Kumar)
|
18
|
+
* Internal: Add Rails 8.0 to the test matrix (James O'Neill)
|
19
|
+
* Internal: Run `standardrb` on CI runs (Christoph Lipautz)
|
20
|
+
|
21
|
+
|
6
22
|
## 6.4.4 (October 25, 2024)
|
7
23
|
|
8
24
|
* Changed: Bump Factory Bot 6.5.0
|
data/README.md
CHANGED
@@ -84,6 +84,19 @@ using an empty array:
|
|
84
84
|
config.factory_bot.definition_file_paths = []
|
85
85
|
```
|
86
86
|
|
87
|
+
### File Fixture Support
|
88
|
+
|
89
|
+
Factories have access to [ActiveSupport::Testing::FileFixtures#file_fixture][]
|
90
|
+
helper to read files from tests.
|
91
|
+
|
92
|
+
To disable file fixture support, set `file_fixture_support = false`:
|
93
|
+
|
94
|
+
```rb
|
95
|
+
config.factory_bot.file_fixture_support = false
|
96
|
+
```
|
97
|
+
|
98
|
+
[ActiveSupport::Testing::FileFixtures#file_fixture]: https://api.rubyonrails.org/classes/ActiveSupport/Testing/FileFixtures.html#method-i-file_fixture
|
99
|
+
|
87
100
|
### Generators
|
88
101
|
|
89
102
|
Including factory\_bot\_rails in the development group of your Gemfile
|
@@ -4,6 +4,7 @@ require "factory_bot"
|
|
4
4
|
require "factory_bot_rails/generator"
|
5
5
|
require "factory_bot_rails/reloader"
|
6
6
|
require "factory_bot_rails/factory_validator"
|
7
|
+
require "factory_bot_rails/file_fixture_support"
|
7
8
|
require "rails"
|
8
9
|
|
9
10
|
module FactoryBotRails
|
@@ -11,6 +12,7 @@ module FactoryBotRails
|
|
11
12
|
config.factory_bot = ActiveSupport::OrderedOptions.new
|
12
13
|
config.factory_bot.definition_file_paths = FactoryBot.definition_file_paths
|
13
14
|
config.factory_bot.validator = FactoryBotRails::FactoryValidator.new
|
15
|
+
config.factory_bot.file_fixture_support = true
|
14
16
|
|
15
17
|
initializer "factory_bot.set_fixture_replacement" do
|
16
18
|
Generator.new(config).run
|
@@ -20,6 +22,22 @@ module FactoryBotRails
|
|
20
22
|
FactoryBot.definition_file_paths = definition_file_paths
|
21
23
|
end
|
22
24
|
|
25
|
+
config.after_initialize do
|
26
|
+
if config.factory_bot.file_fixture_support
|
27
|
+
FactoryBot::SyntaxRunner.include FactoryBotRails::FileFixtureSupport
|
28
|
+
|
29
|
+
ActiveSupport.on_load :active_support_test_case do
|
30
|
+
setup { FactoryBot::SyntaxRunner.file_fixture_support = self }
|
31
|
+
end
|
32
|
+
|
33
|
+
if defined?(RSpec) && RSpec.respond_to?(:configure)
|
34
|
+
RSpec.configure do |config|
|
35
|
+
config.before { FactoryBot::SyntaxRunner.file_fixture_support = self }
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
23
41
|
config.after_initialize do |app|
|
24
42
|
FactoryBot.find_definitions
|
25
43
|
Reloader.new(app).run
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require "generators/factory_bot"
|
2
|
+
require "generators/factory_bot/model/model_generator"
|
3
|
+
require "factory_bot_rails"
|
4
|
+
|
5
|
+
module FactoryBot
|
6
|
+
module Generators
|
7
|
+
FixedAttribute = Struct.new(:name, :default)
|
8
|
+
|
9
|
+
class AuthenticationGenerator < ModelGenerator
|
10
|
+
source_paths << File.join(File.dirname(__FILE__), "../model/templates")
|
11
|
+
|
12
|
+
private
|
13
|
+
|
14
|
+
def attributes
|
15
|
+
[
|
16
|
+
FixedAttribute.new(:email_address, "user@example.com"),
|
17
|
+
FixedAttribute.new(:password, "password")
|
18
|
+
]
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: factory_bot_rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.
|
4
|
+
version: 6.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joe Ferris
|
8
|
-
autorequire:
|
9
8
|
bindir: bin
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
10
|
+
date: 2025-09-05 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: factory_bot
|
@@ -30,14 +29,56 @@ dependencies:
|
|
30
29
|
requirements:
|
31
30
|
- - ">="
|
32
31
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
32
|
+
version: 6.1.0
|
34
33
|
type: :runtime
|
35
34
|
prerelease: false
|
36
35
|
version_requirements: !ruby/object:Gem::Requirement
|
37
36
|
requirements:
|
38
37
|
- - ">="
|
39
38
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
39
|
+
version: 6.1.0
|
40
|
+
- !ruby/object:Gem::Dependency
|
41
|
+
name: activerecord
|
42
|
+
requirement: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: 6.1.0
|
47
|
+
type: :development
|
48
|
+
prerelease: false
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 6.1.0
|
54
|
+
- !ruby/object:Gem::Dependency
|
55
|
+
name: activestorage
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - ">="
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: 6.1.0
|
61
|
+
type: :development
|
62
|
+
prerelease: false
|
63
|
+
version_requirements: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - ">="
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: 6.1.0
|
68
|
+
- !ruby/object:Gem::Dependency
|
69
|
+
name: mutex_m
|
70
|
+
requirement: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - ">="
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '0'
|
75
|
+
type: :development
|
76
|
+
prerelease: false
|
77
|
+
version_requirements: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - ">="
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '0'
|
41
82
|
- !ruby/object:Gem::Dependency
|
42
83
|
name: sqlite3
|
43
84
|
requirement: !ruby/object:Gem::Requirement
|
@@ -53,21 +94,91 @@ dependencies:
|
|
53
94
|
- !ruby/object:Gem::Version
|
54
95
|
version: '0'
|
55
96
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
97
|
+
name: appraisal
|
98
|
+
requirement: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - ">="
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: '0'
|
103
|
+
type: :development
|
104
|
+
prerelease: false
|
105
|
+
version_requirements: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - ">="
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: aruba
|
57
112
|
requirement: !ruby/object:Gem::Requirement
|
58
113
|
requirements:
|
59
114
|
- - ">="
|
60
115
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
116
|
+
version: '0'
|
62
117
|
type: :development
|
63
118
|
prerelease: false
|
64
119
|
version_requirements: !ruby/object:Gem::Requirement
|
65
120
|
requirements:
|
66
121
|
- - ">="
|
67
122
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
69
|
-
|
70
|
-
|
123
|
+
version: '0'
|
124
|
+
- !ruby/object:Gem::Dependency
|
125
|
+
name: cucumber
|
126
|
+
requirement: !ruby/object:Gem::Requirement
|
127
|
+
requirements:
|
128
|
+
- - ">="
|
129
|
+
- !ruby/object:Gem::Version
|
130
|
+
version: '0'
|
131
|
+
type: :development
|
132
|
+
prerelease: false
|
133
|
+
version_requirements: !ruby/object:Gem::Requirement
|
134
|
+
requirements:
|
135
|
+
- - ">="
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
version: '0'
|
138
|
+
- !ruby/object:Gem::Dependency
|
139
|
+
name: rake
|
140
|
+
requirement: !ruby/object:Gem::Requirement
|
141
|
+
requirements:
|
142
|
+
- - ">="
|
143
|
+
- !ruby/object:Gem::Version
|
144
|
+
version: '0'
|
145
|
+
type: :development
|
146
|
+
prerelease: false
|
147
|
+
version_requirements: !ruby/object:Gem::Requirement
|
148
|
+
requirements:
|
149
|
+
- - ">="
|
150
|
+
- !ruby/object:Gem::Version
|
151
|
+
version: '0'
|
152
|
+
- !ruby/object:Gem::Dependency
|
153
|
+
name: rspec-rails
|
154
|
+
requirement: !ruby/object:Gem::Requirement
|
155
|
+
requirements:
|
156
|
+
- - ">="
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: '0'
|
159
|
+
type: :development
|
160
|
+
prerelease: false
|
161
|
+
version_requirements: !ruby/object:Gem::Requirement
|
162
|
+
requirements:
|
163
|
+
- - ">="
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: '0'
|
166
|
+
- !ruby/object:Gem::Dependency
|
167
|
+
name: standard
|
168
|
+
requirement: !ruby/object:Gem::Requirement
|
169
|
+
requirements:
|
170
|
+
- - ">="
|
171
|
+
- !ruby/object:Gem::Version
|
172
|
+
version: '0'
|
173
|
+
type: :development
|
174
|
+
prerelease: false
|
175
|
+
version_requirements: !ruby/object:Gem::Requirement
|
176
|
+
requirements:
|
177
|
+
- - ">="
|
178
|
+
- !ruby/object:Gem::Version
|
179
|
+
version: '0'
|
180
|
+
description: factory_bot_rails provides integration between factory_bot and Rails
|
181
|
+
6.1 or newer
|
71
182
|
email: jferris@thoughtbot.com
|
72
183
|
executables: []
|
73
184
|
extensions: []
|
@@ -80,13 +191,17 @@ files:
|
|
80
191
|
- lib/factory_bot_rails.rb
|
81
192
|
- lib/factory_bot_rails/definition_file_paths.rb
|
82
193
|
- lib/factory_bot_rails/factory_validator.rb
|
194
|
+
- lib/factory_bot_rails/file_fixture_support.rb
|
83
195
|
- lib/factory_bot_rails/generator.rb
|
84
196
|
- lib/factory_bot_rails/generators/non_rspec_generator.rb
|
85
197
|
- lib/factory_bot_rails/generators/null_generator.rb
|
86
198
|
- lib/factory_bot_rails/generators/rspec_generator.rb
|
87
199
|
- lib/factory_bot_rails/railtie.rb
|
88
200
|
- lib/factory_bot_rails/reloader.rb
|
201
|
+
- lib/factory_bot_rails/version.rb
|
89
202
|
- lib/generators/factory_bot.rb
|
203
|
+
- lib/generators/factory_bot/authentication/authentication_generator.rb
|
204
|
+
- lib/generators/factory_bot/authentication/templates/users.rb
|
90
205
|
- lib/generators/factory_bot/model/model_generator.rb
|
91
206
|
- lib/generators/factory_bot/model/templates/factories.erb
|
92
207
|
- lib/rails/projections.json
|
@@ -95,7 +210,6 @@ licenses:
|
|
95
210
|
- MIT
|
96
211
|
metadata:
|
97
212
|
changelog_uri: https://github.com/thoughtbot/factory_bot_rails/blob/main/NEWS.md
|
98
|
-
post_install_message:
|
99
213
|
rdoc_options: []
|
100
214
|
require_paths:
|
101
215
|
- lib
|
@@ -103,16 +217,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
103
217
|
requirements:
|
104
218
|
- - ">="
|
105
219
|
- !ruby/object:Gem::Version
|
106
|
-
version:
|
220
|
+
version: 3.1.0
|
107
221
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
108
222
|
requirements:
|
109
223
|
- - ">="
|
110
224
|
- !ruby/object:Gem::Version
|
111
225
|
version: '0'
|
112
226
|
requirements: []
|
113
|
-
rubygems_version: 3.
|
114
|
-
signing_key:
|
227
|
+
rubygems_version: 3.6.2
|
115
228
|
specification_version: 4
|
116
|
-
summary: factory_bot_rails provides integration between factory_bot and
|
229
|
+
summary: factory_bot_rails provides integration between factory_bot and Rails 6.1
|
117
230
|
or newer
|
118
231
|
test_files: []
|