factory_bot 6.4.0 → 6.4.2

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: 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