factory_bot 6.4.0 → 6.4.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 96b5b25a348686d9d0e394b4a8de682a4fb49fe83ae4038f758905c50cd2d57b
4
- data.tar.gz: 169f33bb5c12fed9548be6b010a06b0b5e71e6867950ec2a6344d63d82b75605
3
+ metadata.gz: b5f21ea97d90ed0a9c175d1ff2b04961bcf38fa981c2957ac3c9fd77fa7e2612
4
+ data.tar.gz: 4698bcccd79fe5252ec751637f7f86b1e0810b2d9d5b52a69fb1d7dd5d238894
5
5
  SHA512:
6
- metadata.gz: e238bf844535aa25a1fa01097ebfe49df0fe5edca86d4e4eb64d970f8bd47bfe90ee125596c1411ce0df52cb3d018466170da866b82fe24a7fa4f9e9e97acc9d
7
- data.tar.gz: cd1ece3fad8c3325d5da64103705e132c291934438a58638e5d966289815be6b8cda0552f2d040a04d9924d66107f92ccb1c50978ee1d82df87302428aefe2a4
6
+ metadata.gz: 74a79d529f84cece38fe558e1f6c9cb3213d9038e1b853bbe378ce86f3ce6c8168f057a438039670275845530122bb28e41cd8a5669a6f14a2886bfd20201c41
7
+ data.tar.gz: d2b13eb9ca94da825becc7fb04a0535dfb72547375b2b824a6c447dec27a0426d37907a88de95b80f2b78d412fc7f8290311d102ad31bbcafcee4c78a24babf5
data/NEWS.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # News
2
2
 
3
+ ## 6.4.2 (November 22, 2023)
4
+
5
+ * Fix: top-level traits pass their class to ActiveSupport::Notifications
6
+ (makicamel).
7
+
8
+ ## 6.4.1 (November 20, 2023)
9
+
10
+ * Fix: factories with traits pass their class to ActiveSupport::Notifications
11
+ (makicamel).
12
+
3
13
  ## 6.4.0 (November 17, 2023)
4
14
 
5
15
  * Added: if `build_stubbed` detects a UUID primary key, generate the correct
@@ -2,6 +2,7 @@ module FactoryBot
2
2
  # @api private
3
3
  class Definition
4
4
  attr_reader :defined_traits, :declarations, :name, :registered_enums
5
+ attr_accessor :klass
5
6
 
6
7
  def initialize(name, base_traits = [])
7
8
  @name = name
@@ -51,7 +52,9 @@ module FactoryBot
51
52
 
52
53
  declarations.attributes
53
54
 
55
+ self.klass ||= klass
54
56
  defined_traits.each do |defined_trait|
57
+ defined_trait.klass ||= klass
55
58
  base_traits.each { |bt| bt.define_trait defined_trait }
56
59
  additional_traits.each { |at| at.define_trait defined_trait }
57
60
  end
@@ -62,7 +65,7 @@ module FactoryBot
62
65
  name: name,
63
66
  attributes: declarations.attributes,
64
67
  traits: defined_traits,
65
- class: klass
68
+ class: klass || self.klass
66
69
  }
67
70
  end
68
71
  end
@@ -150,7 +153,7 @@ module FactoryBot
150
153
  end
151
154
 
152
155
  def trait_by_name(name)
153
- trait_for(name) || Internal.trait_by_name(name)
156
+ trait_for(name) || Internal.trait_by_name(name, klass)
154
157
  end
155
158
 
156
159
  def trait_for(name)
@@ -39,8 +39,8 @@ module FactoryBot
39
39
  trait
40
40
  end
41
41
 
42
- def trait_by_name(name)
43
- traits.find(name)
42
+ def trait_by_name(name, klass)
43
+ traits.find(name).tap { |t| t.klass = klass }
44
44
  end
45
45
 
46
46
  def register_sequence(sequence)
@@ -15,7 +15,7 @@ module FactoryBot
15
15
  end
16
16
 
17
17
  delegate :add_callback, :declare_attribute, :to_create, :define_trait, :constructor,
18
- :callbacks, :attributes, to: :@definition
18
+ :callbacks, :attributes, :klass, :klass=, to: :@definition
19
19
 
20
20
  def names
21
21
  [@name]
@@ -1,3 +1,3 @@
1
1
  module FactoryBot
2
- VERSION = "6.4.0".freeze
2
+ VERSION = "6.4.2".freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: factory_bot
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.4.0
4
+ version: 6.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josh Clayton
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2023-11-17 00:00:00.000000000 Z
12
+ date: 2023-11-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport