factory_bot_rails 5.2.0 → 6.0.0
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/LICENSE +1 -1
- data/NEWS.md +24 -4
- data/README.md +3 -4
- data/lib/factory_bot_rails/generators/non_rspec_generator.rb +1 -1
- data/lib/factory_bot_rails/generators/rspec_generator.rb +1 -1
- data/lib/factory_bot_rails/railtie.rb +3 -6
- data/lib/factory_bot_rails/reloader.rb +4 -9
- data/lib/generators/factory_bot.rb +6 -2
- data/lib/generators/factory_bot/model/model_generator.rb +8 -8
- metadata +9 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e34b7cb7b552958392d728b282403897262a4b6e1da70975ec8a0b9561581eac
|
4
|
+
data.tar.gz: 326411303d3007a412ab5c4d31f833e9f3340c9fb450046941efef2395bc18e0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 91506d8cccb153ef1a548723b89a8577ac3bf9e46fffae1901cac8edd8c1084a653908ad61be5ef99d22270206f6f6d31f7d4a17c2962c06cb7f12fee95a8569
|
7
|
+
data.tar.gz: a6a332018316694fe1e07ef2d3ae7339e78b0069283eed329ad0942211fdc89564d2904ea2f56a9d6e24e0365003c1b440e76daf21d4aefcb9af1c7f1d60ef1f
|
data/LICENSE
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
Copyright (c) 2008-
|
1
|
+
Copyright (c) 2008-2020 Joe Ferris and thoughtbot, inc.
|
2
2
|
|
3
3
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
4
|
of this software and associated documentation files (the "Software"), to deal
|
data/NEWS.md
CHANGED
@@ -1,27 +1,37 @@
|
|
1
|
-
|
1
|
+
factory\_bot\_rails versioning is synced with factory\_bot releases. For this reason
|
2
2
|
there might not be any notable changes in new versions of this project.
|
3
3
|
|
4
4
|
# NEWS
|
5
5
|
|
6
|
-
##
|
7
|
-
|
6
|
+
## 6.0.0 (June 18, 2020)
|
7
|
+
|
8
|
+
* Fixed: generate a plural factory name when the --force-plural flag is provided
|
9
|
+
* Changed: factory\_bot dependency to ~> 6.0.0
|
10
|
+
* Removed: `"factory_bot.register_reloader"` initializer, now registering the
|
11
|
+
reloader after application initialization
|
12
|
+
* Removed: support for EOL versions of Ruby (2.3, 2.4) and Rails (4.2)
|
8
13
|
|
9
14
|
## 5.1.1 (September 24, 2019)
|
15
|
+
|
10
16
|
* Fixed: Ensure definitions do not load before I18n is initialized
|
11
17
|
|
12
18
|
## 5.1.0 (September 24, 2019)
|
13
|
-
|
19
|
+
|
20
|
+
* Changed: factory\_bot dependency to ~> 5.1.0
|
14
21
|
|
15
22
|
## 5.0.2 (April 14, 2019)
|
23
|
+
|
16
24
|
* Bugfix: Reload factory\_bot whenever the application changes to avoid holding
|
17
25
|
onto stale object references
|
18
26
|
* Bugfix: Avoid watching project root when no factory definitions exist
|
19
27
|
|
20
28
|
## 5.0.1 (February 9, 2019)
|
29
|
+
|
21
30
|
* Bugfix: Avoid watching files and directories that don't exist (to avoid a
|
22
31
|
file watching bug in Rails https://github.com/rails/rails/issues/32700)
|
23
32
|
|
24
33
|
## 5.0.0 (February 1, 2019)
|
34
|
+
|
25
35
|
* Added: calling reload! in the Rails console will reload any factory definition files that have changed
|
26
36
|
* Added: support for custom generator templates
|
27
37
|
* Added: `definition_file_paths` configuration option, making it easier to place factories in custom locations
|
@@ -30,35 +40,45 @@ there might not be any notable changes in new versions of this project.
|
|
30
40
|
* Removed: support for EOL version of Ruby and Rails
|
31
41
|
|
32
42
|
## 4.11.1 (September 7, 2018)
|
43
|
+
|
33
44
|
* Update generator to use dynamic attributes instead of deprecated static attributes
|
34
45
|
|
35
46
|
## 4.11.0 (August 16, 2018)
|
47
|
+
|
36
48
|
* No notable changes
|
37
49
|
|
38
50
|
## 4.10.0 (May 25, 2018)
|
51
|
+
|
39
52
|
* No notable changes
|
40
53
|
|
41
54
|
## 4.8.2 (October 20, 2017)
|
55
|
+
|
42
56
|
* Rename factory\_girl\_rails to factory\_bot\_rails
|
43
57
|
|
44
58
|
## 4.7.0 (April 1, 2016)
|
59
|
+
|
45
60
|
* No notable changes
|
46
61
|
|
47
62
|
## 4.6.0 (February 1, 2016)
|
63
|
+
|
48
64
|
* No notable changes
|
49
65
|
|
50
66
|
## 4.5.0 (October 17, 2014)
|
67
|
+
|
51
68
|
* Improved README
|
52
69
|
|
53
70
|
## 4.4.1 (February 26, 2014)
|
71
|
+
|
54
72
|
* Support Spring
|
55
73
|
|
56
74
|
## 4.2.1 (February 8, 2013)
|
75
|
+
|
57
76
|
* Fix bug when configuring FG and RSpec fixture directory
|
58
77
|
* Remove debugging
|
59
78
|
* Require factory\_girl\_rails explicitly in generator
|
60
79
|
|
61
80
|
## 4.2.0 (January 25, 2013)
|
81
|
+
|
62
82
|
* Add appraisal and get test suite working reliably with turn gem
|
63
83
|
* Support MiniTest
|
64
84
|
* Allow a custom directory for factories to be specified
|
data/README.md
CHANGED
@@ -150,19 +150,18 @@ generating all of your factories in `test/factories.rb` or `spec/factories.rb`.
|
|
150
150
|
|
151
151
|
Please see [CONTRIBUTING.md](CONTRIBUTING.md).
|
152
152
|
|
153
|
-
factory_bot_rails was originally written by Joe Ferris and is
|
154
|
-
Clayton. Many improvements and bugfixes were contributed by the [open source
|
153
|
+
factory_bot_rails was originally written by Joe Ferris and is maintained by thoughtbot. Many improvements and bugfixes were contributed by the [open source
|
155
154
|
community](https://github.com/thoughtbot/factory_bot_rails/graphs/contributors).
|
156
155
|
|
157
156
|
## License
|
158
157
|
|
159
|
-
factory_bot_rails is Copyright © 2008-
|
158
|
+
factory_bot_rails is Copyright © 2008-2020 Joe Ferris and thoughtbot. It is free
|
160
159
|
software, and may be redistributed under the terms specified in the
|
161
160
|
[LICENSE](LICENSE) file.
|
162
161
|
|
163
162
|
## About thoughtbot
|
164
163
|
|
165
|
-

|
166
165
|
|
167
166
|
factory_bot_rails is maintained and funded by thoughtbot, inc.
|
168
167
|
The names and logos for thoughtbot are trademarks of thoughtbot, inc.
|
@@ -18,12 +18,9 @@ module FactoryBotRails
|
|
18
18
|
FactoryBot.definition_file_paths = definition_file_paths
|
19
19
|
end
|
20
20
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
config.after_initialize do
|
26
|
-
FactoryBot.reload
|
21
|
+
config.after_initialize do |app|
|
22
|
+
FactoryBot.find_definitions
|
23
|
+
Reloader.new(app).run
|
27
24
|
end
|
28
25
|
|
29
26
|
private
|
@@ -4,9 +4,8 @@ require "factory_bot_rails/definition_file_paths"
|
|
4
4
|
|
5
5
|
module FactoryBotRails
|
6
6
|
class Reloader
|
7
|
-
def initialize(app
|
7
|
+
def initialize(app)
|
8
8
|
@app = app
|
9
|
-
@config = config
|
10
9
|
@paths = DefinitionFilePaths.new(FactoryBot.definition_file_paths)
|
11
10
|
end
|
12
11
|
|
@@ -18,7 +17,7 @@ module FactoryBotRails
|
|
18
17
|
|
19
18
|
private
|
20
19
|
|
21
|
-
attr_reader :app
|
20
|
+
attr_reader :app
|
22
21
|
|
23
22
|
def build_reloader
|
24
23
|
reloader_class.new(@paths.files, @paths.directories) do
|
@@ -31,12 +30,8 @@ module FactoryBotRails
|
|
31
30
|
end
|
32
31
|
|
33
32
|
def register_reloader(reloader)
|
34
|
-
|
35
|
-
|
36
|
-
config.to_prepare do
|
37
|
-
if closed_over_app.initialized?
|
38
|
-
reloader.execute
|
39
|
-
end
|
33
|
+
app.reloader.to_prepare do
|
34
|
+
reloader.execute
|
40
35
|
end
|
41
36
|
|
42
37
|
app.reloaders << reloader
|
@@ -8,14 +8,18 @@ module FactoryBot
|
|
8
8
|
File.dirname(__FILE__),
|
9
9
|
"factory_bot",
|
10
10
|
generator_name,
|
11
|
-
"templates"
|
11
|
+
"templates"
|
12
12
|
)
|
13
13
|
|
14
14
|
File.expand_path(path)
|
15
15
|
end
|
16
16
|
|
17
|
+
def factory_name
|
18
|
+
class_name.gsub("::", "").underscore
|
19
|
+
end
|
20
|
+
|
17
21
|
def explicit_class_option
|
18
|
-
return if class_name ==
|
22
|
+
return if class_name.underscore == factory_name
|
19
23
|
|
20
24
|
", class: '#{class_name}'"
|
21
25
|
end
|
@@ -8,21 +8,21 @@ module FactoryBot
|
|
8
8
|
:attributes,
|
9
9
|
type: :array,
|
10
10
|
default: [],
|
11
|
-
banner: "field:type field:type"
|
11
|
+
banner: "field:type field:type"
|
12
12
|
)
|
13
13
|
|
14
14
|
class_option(
|
15
15
|
:dir,
|
16
16
|
type: :string,
|
17
17
|
default: "test/factories",
|
18
|
-
desc: "The directory or file root where factories belong"
|
18
|
+
desc: "The directory or file root where factories belong"
|
19
19
|
)
|
20
20
|
|
21
21
|
class_option(
|
22
22
|
:suffix,
|
23
23
|
type: :string,
|
24
24
|
default: nil,
|
25
|
-
desc: "Suffix to add factory file"
|
25
|
+
desc: "Suffix to add factory file"
|
26
26
|
)
|
27
27
|
|
28
28
|
def create_fixture_file
|
@@ -43,7 +43,7 @@ module FactoryBot
|
|
43
43
|
insert_into_file(
|
44
44
|
factories_file,
|
45
45
|
factory_definition,
|
46
|
-
after: "FactoryBot.define do\n"
|
46
|
+
after: "FactoryBot.define do\n"
|
47
47
|
)
|
48
48
|
end
|
49
49
|
|
@@ -54,17 +54,17 @@ module FactoryBot
|
|
54
54
|
|
55
55
|
def factory_definition
|
56
56
|
<<~RUBY
|
57
|
-
factory :#{
|
58
|
-
#{factory_attributes.gsub(/^/,
|
57
|
+
factory :#{factory_name}#{explicit_class_option} do
|
58
|
+
#{factory_attributes.gsub(/^/, " ")}
|
59
59
|
end
|
60
60
|
|
61
61
|
RUBY
|
62
62
|
end
|
63
63
|
|
64
64
|
def factory_attributes
|
65
|
-
attributes.map
|
65
|
+
attributes.map { |attribute|
|
66
66
|
"#{attribute.name} { #{attribute.default.inspect} }"
|
67
|
-
|
67
|
+
}.join("\n")
|
68
68
|
end
|
69
69
|
|
70
70
|
def filename
|
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:
|
4
|
+
version: 6.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joe Ferris
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-06-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: factory_bot
|
@@ -16,30 +16,30 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 6.0.0
|
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:
|
26
|
+
version: 6.0.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: railties
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 5.0.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 5.0.0
|
41
41
|
description: factory_bot_rails provides integration between factory_bot and rails
|
42
|
-
|
42
|
+
5.0 or newer
|
43
43
|
email: jferris@thoughtbot.com
|
44
44
|
executables: []
|
45
45
|
extensions: []
|
@@ -79,9 +79,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
79
79
|
- !ruby/object:Gem::Version
|
80
80
|
version: '0'
|
81
81
|
requirements: []
|
82
|
-
rubygems_version: 3.
|
82
|
+
rubygems_version: 3.1.2
|
83
83
|
signing_key:
|
84
84
|
specification_version: 4
|
85
|
-
summary: factory_bot_rails provides integration between factory_bot and rails
|
85
|
+
summary: factory_bot_rails provides integration between factory_bot and rails 5.0
|
86
86
|
or newer
|
87
87
|
test_files: []
|