factory_bot_rails 5.1.1 → 6.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 889ea2acf3323850c9bcbaef4585aae23df7d03bf0d0442dc94a4952f5389ed1
4
- data.tar.gz: c2302de95f5a5ce2249115b39d8aa9892fba66a7e9f7eb5e0aec0d4f5673ae58
3
+ metadata.gz: e34b7cb7b552958392d728b282403897262a4b6e1da70975ec8a0b9561581eac
4
+ data.tar.gz: 326411303d3007a412ab5c4d31f833e9f3340c9fb450046941efef2395bc18e0
5
5
  SHA512:
6
- metadata.gz: 1c090ec3a5f2c138091e2d6c85b21ec4efa42a7966df0bb76bd26018522fdaf4ea4a83cb61a02e5f996e42db44698882115d3c84b994908e8234a12b6ca61747
7
- data.tar.gz: d7862a20d0ef8979b46240225702ff6a4356a93b068032901aef4bad395d913ada443613b3e4d0fd5659fcd479e0fe431920cf1d103063d3bc756af19904bcae
6
+ metadata.gz: 91506d8cccb153ef1a548723b89a8577ac3bf9e46fffae1901cac8edd8c1084a653908ad61be5ef99d22270206f6f6d31f7d4a17c2962c06cb7f12fee95a8569
7
+ data.tar.gz: a6a332018316694fe1e07ef2d3ae7339e78b0069283eed329ad0942211fdc89564d2904ea2f56a9d6e24e0365003c1b440e76daf21d4aefcb9af1c7f1d60ef1f
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2008-2019 Joe Ferris and thoughtbot, inc.
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,24 +1,37 @@
1
- factory_bot_rails versioning is synced with factory_bot releases. For this reason
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
+ ## 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)
13
+
6
14
  ## 5.1.1 (September 24, 2019)
15
+
7
16
  * Fixed: Ensure definitions do not load before I18n is initialized
8
17
 
9
18
  ## 5.1.0 (September 24, 2019)
10
- * Changed: factory_bot dependency to ~> 5.1.0
19
+
20
+ * Changed: factory\_bot dependency to ~> 5.1.0
11
21
 
12
22
  ## 5.0.2 (April 14, 2019)
23
+
13
24
  * Bugfix: Reload factory\_bot whenever the application changes to avoid holding
14
25
  onto stale object references
15
26
  * Bugfix: Avoid watching project root when no factory definitions exist
16
27
 
17
28
  ## 5.0.1 (February 9, 2019)
29
+
18
30
  * Bugfix: Avoid watching files and directories that don't exist (to avoid a
19
31
  file watching bug in Rails https://github.com/rails/rails/issues/32700)
20
32
 
21
33
  ## 5.0.0 (February 1, 2019)
34
+
22
35
  * Added: calling reload! in the Rails console will reload any factory definition files that have changed
23
36
  * Added: support for custom generator templates
24
37
  * Added: `definition_file_paths` configuration option, making it easier to place factories in custom locations
@@ -27,35 +40,45 @@ there might not be any notable changes in new versions of this project.
27
40
  * Removed: support for EOL version of Ruby and Rails
28
41
 
29
42
  ## 4.11.1 (September 7, 2018)
43
+
30
44
  * Update generator to use dynamic attributes instead of deprecated static attributes
31
45
 
32
46
  ## 4.11.0 (August 16, 2018)
47
+
33
48
  * No notable changes
34
49
 
35
50
  ## 4.10.0 (May 25, 2018)
51
+
36
52
  * No notable changes
37
53
 
38
54
  ## 4.8.2 (October 20, 2017)
55
+
39
56
  * Rename factory\_girl\_rails to factory\_bot\_rails
40
57
 
41
58
  ## 4.7.0 (April 1, 2016)
59
+
42
60
  * No notable changes
43
61
 
44
62
  ## 4.6.0 (February 1, 2016)
63
+
45
64
  * No notable changes
46
65
 
47
66
  ## 4.5.0 (October 17, 2014)
67
+
48
68
  * Improved README
49
69
 
50
70
  ## 4.4.1 (February 26, 2014)
71
+
51
72
  * Support Spring
52
73
 
53
74
  ## 4.2.1 (February 8, 2013)
75
+
54
76
  * Fix bug when configuring FG and RSpec fixture directory
55
77
  * Remove debugging
56
78
  * Require factory\_girl\_rails explicitly in generator
57
79
 
58
80
  ## 4.2.0 (January 25, 2013)
81
+
59
82
  * Add appraisal and get test suite working reliably with turn gem
60
83
  * Support MiniTest
61
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 now maintained by Josh
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-2019 Joe Ferris and thoughtbot. It is free
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
- ![thoughtbot](https://thoughtbot.com/logo.png)
164
+ ![thoughtbot](https://thoughtbot.com/brand_assets/93:44.svg)
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.
@@ -9,7 +9,7 @@ module FactoryBotRails
9
9
  @generators.test_framework(
10
10
  test_framework,
11
11
  fixture: false,
12
- fixture_replacement: :factory_bot,
12
+ fixture_replacement: :factory_bot
13
13
  )
14
14
  end
15
15
 
@@ -8,7 +8,7 @@ module FactoryBotRails
8
8
  def run
9
9
  @generators.fixture_replacement(
10
10
  fixture_replacement_setting,
11
- dir: factory_bot_directory,
11
+ dir: factory_bot_directory
12
12
  )
13
13
  end
14
14
 
@@ -18,12 +18,9 @@ module FactoryBotRails
18
18
  FactoryBot.definition_file_paths = definition_file_paths
19
19
  end
20
20
 
21
- initializer "factory_bot.register_reloader" do |app|
22
- Reloader.new(app, config).run
23
- end
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, config)
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, :config
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
- closed_over_app = app
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,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 :#{singular_table_name}#{explicit_class_option} do
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 do |attribute|
65
+ attributes.map { |attribute|
66
66
  "#{attribute.name} { #{attribute.default.inspect} }"
67
- end.join("\n")
67
+ }.join("\n")
68
68
  end
69
69
 
70
70
  def filename
@@ -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 == singular_table_name.camelize
22
+ return if class_name.underscore == factory_name
19
23
 
20
24
  ", class: '#{class_name}'"
21
25
  end
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: 5.1.1
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: 2019-10-03 00:00:00.000000000 Z
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: 5.1.0
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: 5.1.0
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: 4.2.0
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: 4.2.0
40
+ version: 5.0.0
41
41
  description: factory_bot_rails provides integration between factory_bot and rails
42
- 4.2 or newer
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.0.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 4.2
85
+ summary: factory_bot_rails provides integration between factory_bot and rails 5.0
86
86
  or newer
87
87
  test_files: []