factory_bot_rails 6.2.0 → 6.4.3
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/CONTRIBUTING.md +1 -1
- data/NEWS.md +41 -0
- data/README.md +10 -6
- data/lib/factory_bot_rails/factory_validator.rb +23 -0
- data/lib/factory_bot_rails/generators/null_generator.rb +1 -1
- data/lib/factory_bot_rails/railtie.rb +3 -0
- data/lib/generators/factory_bot.rb +1 -1
- data/lib/rails/projections.json +26 -0
- metadata +37 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 70ac3e65ecb946bde74a107d453206896d96a0bdd02d52f6e9d99cc4b11ace65
|
|
4
|
+
data.tar.gz: c5478bf4191651ac02e944af9d118f2243b10fd508073b0911c9b165ad6afd1e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4ff19ee6c07babb79676b2ecea45b5abc8dcc6af75042409a3a4e373e9db91787b0f0506d626700303414fc9b2e50f355c2757e1ec9289fccdcf14b6239f30e8
|
|
7
|
+
data.tar.gz: d1a7e2c0c2966eff606e58addc63fe1dba533934fcb45ff1c7399ce5afd5604f1efab1d755e133bcd54f6b12850c76df88108b74df0da19917864e0c94ad8b92
|
data/CONTRIBUTING.md
CHANGED
|
@@ -35,5 +35,5 @@ Some things that will increase the chance that your pull request is accepted:
|
|
|
35
35
|
* Follow our [style guide][style].
|
|
36
36
|
* Write a [good commit message][commit].
|
|
37
37
|
|
|
38
|
-
[style]: https://github.com/thoughtbot/guides/tree/
|
|
38
|
+
[style]: https://github.com/thoughtbot/guides/tree/main/general
|
|
39
39
|
[commit]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
|
data/NEWS.md
CHANGED
|
@@ -3,6 +3,47 @@ there might not be any notable changes in new versions of this project.
|
|
|
3
3
|
|
|
4
4
|
# NEWS
|
|
5
5
|
|
|
6
|
+
## 6.4.3 (December 29, 2023)
|
|
7
|
+
|
|
8
|
+
* Changed: allow sequence definitions for ActiveRecord primary keys (Mike
|
|
9
|
+
Burns).
|
|
10
|
+
* Changed: Support Ruby 3.0+, Rails 6.1+ (Mike Burns)
|
|
11
|
+
* Documentation improvements (obregonia1).
|
|
12
|
+
* Internal: GitHub Actions improvements (Lorenzo Zabot, ydah).
|
|
13
|
+
* Internal: RubyGems points to changelog (Tilo Sloboda).
|
|
14
|
+
* Internal: Bump standard, rake, activerecord, appraisal, rspec-rails (Mike
|
|
15
|
+
Burns).
|
|
16
|
+
|
|
17
|
+
## 6.4.2 (November 23, 2023)
|
|
18
|
+
* Fixed: Fix Rails 7.1.2 + monkey-patched ActiveRecord compatibility (Adif
|
|
19
|
+
Sgaid, Benoit Tigeot)
|
|
20
|
+
* Internal: Test against Rails 7.1 (y-yagi)
|
|
21
|
+
* Internal: Fix links to old files after renaming the main branch to `main`
|
|
22
|
+
(y-yagi)
|
|
23
|
+
|
|
24
|
+
## 6.4.0 (November 17, 2023)
|
|
25
|
+
|
|
26
|
+
* Releasing this for consistency with the factory\_bot dependency.
|
|
27
|
+
|
|
28
|
+
## 6.3.0 (November 17, 2023)
|
|
29
|
+
|
|
30
|
+
* Changed: reject sequence definitions for ActiveRecord primary keys (Sean
|
|
31
|
+
Doyle).
|
|
32
|
+
* Changed: factory\_bot dependency to ~> 6.4 (Mike Burns).
|
|
33
|
+
* Changed: upgrade dependencies (Daniel Colson).
|
|
34
|
+
* Add: `projections.json` for Rails.vim (Caleb Hearth).
|
|
35
|
+
* Docs: fix broken link (Edu Depetris).
|
|
36
|
+
* Docs: mention Rails generator in docs (Edu Depetris).
|
|
37
|
+
* Docs: fix typo (Yudai Takada).
|
|
38
|
+
* Internal: skip Spring version 2.1.1 due to a bug in that release (Christina
|
|
39
|
+
Entcheva, Daniel Colson).
|
|
40
|
+
* Internal: test against Rails 6.1 (Antonis Berkakis).
|
|
41
|
+
* Internal: test against Ruby 3 (Daniel Colson).
|
|
42
|
+
* Internal: fewer warnings in Cucumber tests (Daniel Colson).
|
|
43
|
+
* Internal: use GitHub Actions for CI (Mathieu Jobin).
|
|
44
|
+
* Internal: a whole bunch of cleanup (Daniel Colson).
|
|
45
|
+
* Internal: fix CI due to a Bundler output change (Mike Burns).
|
|
46
|
+
|
|
6
47
|
## 6.2.0 (May 7, 2021)
|
|
7
48
|
|
|
8
49
|
* Changed: factory\_bot dependency to ~> 6.2.0
|
data/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# factory_bot_rails [![
|
|
1
|
+
# factory_bot_rails [![Code Climate][grade-image]][grade] [![Gem Version][version-image]][version]
|
|
2
2
|
|
|
3
3
|
[factory_bot][fb] is a fixtures replacement with a straightforward definition
|
|
4
4
|
syntax, support for multiple build strategies (saved instances, unsaved
|
|
@@ -15,7 +15,7 @@ Check out the [guide](https://github.com/thoughtbot/factory_bot/blob/4-9-0-stabl
|
|
|
15
15
|
factory\_bot\_rails provides Rails integration for [factory_bot][fb].
|
|
16
16
|
|
|
17
17
|
Supported Rails versions are listed in [`Appraisals`](Appraisals). Supported
|
|
18
|
-
Ruby versions are listed in [`.
|
|
18
|
+
Ruby versions are listed in [`.github/workflows/build.yml`](.github/workflows/build.yml).
|
|
19
19
|
|
|
20
20
|
## Download
|
|
21
21
|
|
|
@@ -36,7 +36,7 @@ end
|
|
|
36
36
|
```
|
|
37
37
|
|
|
38
38
|
You may want to configure your test suite to include factory\_bot methods; see
|
|
39
|
-
[configuration](https://github.com/thoughtbot/factory_bot/blob/
|
|
39
|
+
[configuration](https://github.com/thoughtbot/factory_bot/blob/main/GETTING_STARTED.md#configure-your-test-suite).
|
|
40
40
|
|
|
41
41
|
### Automatic Factory Definition Loading
|
|
42
42
|
|
|
@@ -144,7 +144,13 @@ Note that factory\_bot\_rails will only use this custom template if you are
|
|
|
144
144
|
generating each factory in a separate file; it will have no effect if you are
|
|
145
145
|
generating all of your factories in `test/factories.rb` or `spec/factories.rb`.
|
|
146
146
|
|
|
147
|
-
|
|
147
|
+
Factory\_bot\_rails will add a custom generator:
|
|
148
|
+
|
|
149
|
+
```shell
|
|
150
|
+
rails generate factory_bot:model NAME [field:type field:type] [options]
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
[default factory template]: https://github.com/thoughtbot/factory_bot_rails/tree/main/lib/generators/factory_bot/model/templates/factories.erb
|
|
148
154
|
|
|
149
155
|
## Contributing
|
|
150
156
|
|
|
@@ -171,8 +177,6 @@ See [our other projects][community].
|
|
|
171
177
|
We are [available for hire][hire].
|
|
172
178
|
|
|
173
179
|
[fb]: https://github.com/thoughtbot/factory_bot
|
|
174
|
-
[ci]: http://travis-ci.org/thoughtbot/factory_bot_rails?branch=master
|
|
175
|
-
[ci-image]: https://secure.travis-ci.org/thoughtbot/factory_bot_rails.svg
|
|
176
180
|
[grade]: https://codeclimate.com/github/thoughtbot/factory_bot_rails
|
|
177
181
|
[grade-image]: https://codeclimate.com/github/thoughtbot/factory_bot_rails.svg
|
|
178
182
|
[community]: https://thoughtbot.com/community?utm_source=github
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
module FactoryBotRails
|
|
2
|
+
class FactoryValidator
|
|
3
|
+
def initialize(validators = [])
|
|
4
|
+
@validators = Array(validators)
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
def add_validator(validator)
|
|
8
|
+
@validators << validator
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def run
|
|
12
|
+
ActiveSupport::Notifications.subscribe("factory_bot.compile_factory", &validate_compiled_factory)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
private
|
|
16
|
+
|
|
17
|
+
def validate_compiled_factory
|
|
18
|
+
proc do |event|
|
|
19
|
+
@validators.each { |validator| validator.validate!(event.payload) }
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -3,12 +3,14 @@
|
|
|
3
3
|
require "factory_bot"
|
|
4
4
|
require "factory_bot_rails/generator"
|
|
5
5
|
require "factory_bot_rails/reloader"
|
|
6
|
+
require "factory_bot_rails/factory_validator"
|
|
6
7
|
require "rails"
|
|
7
8
|
|
|
8
9
|
module FactoryBotRails
|
|
9
10
|
class Railtie < Rails::Railtie
|
|
10
11
|
config.factory_bot = ActiveSupport::OrderedOptions.new
|
|
11
12
|
config.factory_bot.definition_file_paths = FactoryBot.definition_file_paths
|
|
13
|
+
config.factory_bot.validator = FactoryBotRails::FactoryValidator.new
|
|
12
14
|
|
|
13
15
|
initializer "factory_bot.set_fixture_replacement" do
|
|
14
16
|
Generator.new(config).run
|
|
@@ -21,6 +23,7 @@ module FactoryBotRails
|
|
|
21
23
|
config.after_initialize do |app|
|
|
22
24
|
FactoryBot.find_definitions
|
|
23
25
|
Reloader.new(app).run
|
|
26
|
+
app.config.factory_bot.validator.run
|
|
24
27
|
end
|
|
25
28
|
|
|
26
29
|
private
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"spec/factories/*.rb": {
|
|
3
|
+
"alternate": "app/models/{singular}.rb",
|
|
4
|
+
"collection": "model",
|
|
5
|
+
"command": "factory",
|
|
6
|
+
"template": [
|
|
7
|
+
"FactoryBot.define do",
|
|
8
|
+
" factory :{singular} do",
|
|
9
|
+
" end",
|
|
10
|
+
"end"
|
|
11
|
+
],
|
|
12
|
+
"test": "spec/models/{singular}_spec.rb"
|
|
13
|
+
},
|
|
14
|
+
"test/factories/*.rb": {
|
|
15
|
+
"alternate": "app/models/{singular}.rb",
|
|
16
|
+
"collection": "model",
|
|
17
|
+
"command": "factory",
|
|
18
|
+
"template": [
|
|
19
|
+
"FactoryBot.define do",
|
|
20
|
+
" factory :{singular} do",
|
|
21
|
+
" end",
|
|
22
|
+
"end"
|
|
23
|
+
],
|
|
24
|
+
"test": "test/models/{singular}_test.rb"
|
|
25
|
+
}
|
|
26
|
+
}
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
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.4.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Joe Ferris
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2023-12-30 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: factory_bot
|
|
@@ -16,14 +16,14 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: 6.
|
|
19
|
+
version: '6.4'
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: 6.
|
|
26
|
+
version: '6.4'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: railties
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -38,6 +38,34 @@ dependencies:
|
|
|
38
38
|
- - ">="
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
40
|
version: 5.0.0
|
|
41
|
+
- !ruby/object:Gem::Dependency
|
|
42
|
+
name: sqlite3
|
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
|
44
|
+
requirements:
|
|
45
|
+
- - ">="
|
|
46
|
+
- !ruby/object:Gem::Version
|
|
47
|
+
version: '0'
|
|
48
|
+
type: :development
|
|
49
|
+
prerelease: false
|
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
+
requirements:
|
|
52
|
+
- - ">="
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
version: '0'
|
|
55
|
+
- !ruby/object:Gem::Dependency
|
|
56
|
+
name: activerecord
|
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
|
58
|
+
requirements:
|
|
59
|
+
- - ">="
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: 5.0.0
|
|
62
|
+
type: :development
|
|
63
|
+
prerelease: false
|
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
+
requirements:
|
|
66
|
+
- - ">="
|
|
67
|
+
- !ruby/object:Gem::Version
|
|
68
|
+
version: 5.0.0
|
|
41
69
|
description: factory_bot_rails provides integration between factory_bot and rails
|
|
42
70
|
5.0 or newer
|
|
43
71
|
email: jferris@thoughtbot.com
|
|
@@ -51,6 +79,7 @@ files:
|
|
|
51
79
|
- README.md
|
|
52
80
|
- lib/factory_bot_rails.rb
|
|
53
81
|
- lib/factory_bot_rails/definition_file_paths.rb
|
|
82
|
+
- lib/factory_bot_rails/factory_validator.rb
|
|
54
83
|
- lib/factory_bot_rails/generator.rb
|
|
55
84
|
- lib/factory_bot_rails/generators/non_rspec_generator.rb
|
|
56
85
|
- lib/factory_bot_rails/generators/null_generator.rb
|
|
@@ -60,10 +89,12 @@ files:
|
|
|
60
89
|
- lib/generators/factory_bot.rb
|
|
61
90
|
- lib/generators/factory_bot/model/model_generator.rb
|
|
62
91
|
- lib/generators/factory_bot/model/templates/factories.erb
|
|
92
|
+
- lib/rails/projections.json
|
|
63
93
|
homepage: https://github.com/thoughtbot/factory_bot_rails
|
|
64
94
|
licenses:
|
|
65
95
|
- MIT
|
|
66
|
-
metadata:
|
|
96
|
+
metadata:
|
|
97
|
+
changelog_uri: https://github.com/thoughtbot/factory_bot_rails/blob/main/NEWS.md
|
|
67
98
|
post_install_message:
|
|
68
99
|
rdoc_options: []
|
|
69
100
|
require_paths:
|
|
@@ -79,7 +110,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
79
110
|
- !ruby/object:Gem::Version
|
|
80
111
|
version: '0'
|
|
81
112
|
requirements: []
|
|
82
|
-
rubygems_version: 3.
|
|
113
|
+
rubygems_version: 3.4.10
|
|
83
114
|
signing_key:
|
|
84
115
|
specification_version: 4
|
|
85
116
|
summary: factory_bot_rails provides integration between factory_bot and rails 5.0
|