factory_bot 6.4.2 → 6.4.4

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: b5f21ea97d90ed0a9c175d1ff2b04961bcf38fa981c2957ac3c9fd77fa7e2612
4
- data.tar.gz: 4698bcccd79fe5252ec751637f7f86b1e0810b2d9d5b52a69fb1d7dd5d238894
3
+ metadata.gz: 29f358b07e7a913b68e774a5d6fb07f5108e46250555d3813ac2a592debcfb17
4
+ data.tar.gz: 0afcfa66f242dbb8c9631d3c9d64dc72436245915f91f7706502f04e2cea2cde
5
5
  SHA512:
6
- metadata.gz: 74a79d529f84cece38fe558e1f6c9cb3213d9038e1b853bbe378ce86f3ce6c8168f057a438039670275845530122bb28e41cd8a5669a6f14a2886bfd20201c41
7
- data.tar.gz: d2b13eb9ca94da825becc7fb04a0535dfb72547375b2b824a6c447dec27a0426d37907a88de95b80f2b78d412fc7f8290311d102ad31bbcafcee4c78a24babf5
6
+ metadata.gz: 0c7ce4439447ed2079e6db42b8b75711a7113b327bdb3d776d24465f05b2ce633e47edf544dec6ab3cfd78857d6858296f5bf47e477556c2f135cf544731b8a8
7
+ data.tar.gz: 54b78dbafda5253abed5be787658d01424956e3271b6615d24f461dc5be7866f2c7d94c9014cebbb87b033894b42e21c859a30c793e08c742be454005c1f5f36
data/NEWS.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # News
2
2
 
3
+ ## 6.4.4 (December 27, 2023)
4
+
5
+ * Internal: Remove observer dependency (Earlopain).
6
+
7
+ ## 6.4.3 (December 26, 2023)
8
+
9
+ * Fix: Support models without ID setters in build_stubbed (Olivier Bellone).
10
+ * Fix: Explicit observer dependency (Oleg Antonyan).
11
+ * Internal: Add Rails 7.1 to CI (Olivier Bellone).
12
+ * Internal: Bump github actions/checkout to v4 (Lorenzo Zabot)
13
+ * Internal: Stop passing disable-error_highlight in CI (Mike Burns).
14
+ * Internal: Relax the exception message check (Mike Burns).
15
+
3
16
  ## 6.4.2 (November 22, 2023)
4
17
 
5
18
  * Fix: top-level traits pass their class to ActiveSupport::Notifications
@@ -1,13 +1,10 @@
1
- require "observer"
2
-
3
1
  module FactoryBot
4
2
  class Evaluation
5
- include Observable
6
-
7
- def initialize(evaluator, attribute_assigner, to_create)
3
+ def initialize(evaluator, attribute_assigner, to_create, observer)
8
4
  @evaluator = evaluator
9
5
  @attribute_assigner = attribute_assigner
10
6
  @to_create = to_create
7
+ @observer = observer
11
8
  end
12
9
 
13
10
  delegate :object, :hash, to: :@attribute_assigner
@@ -20,8 +17,7 @@ module FactoryBot
20
17
  end
21
18
 
22
19
  def notify(name, result_instance)
23
- changed
24
- notify_observers(name, result_instance)
20
+ @observer.update(name, result_instance)
25
21
  end
26
22
  end
27
23
  end
@@ -36,9 +36,9 @@ module FactoryBot
36
36
  evaluator = evaluator_class.new(strategy, overrides.symbolize_keys)
37
37
  attribute_assigner = AttributeAssigner.new(evaluator, build_class, &compiled_constructor)
38
38
 
39
+ observer = CallbacksObserver.new(callbacks, evaluator)
39
40
  evaluation =
40
- Evaluation.new(evaluator, attribute_assigner, compiled_to_create)
41
- evaluation.add_observer(CallbacksObserver.new(callbacks, evaluator))
41
+ Evaluation.new(evaluator, attribute_assigner, compiled_to_create, observer)
42
42
 
43
43
  strategy.result(evaluation).tap(&block)
44
44
  end
@@ -83,8 +83,9 @@ module FactoryBot
83
83
  end
84
84
 
85
85
  def has_settable_id?(result_instance)
86
- !result_instance.class.respond_to?(:primary_key) ||
87
- result_instance.class.primary_key
86
+ result_instance.respond_to?(:id=) &&
87
+ (!result_instance.class.respond_to?(:primary_key) ||
88
+ result_instance.class.primary_key)
88
89
  end
89
90
 
90
91
  def uuid_primary_key?(result_instance)
@@ -1,3 +1,3 @@
1
1
  module FactoryBot
2
- VERSION = "6.4.2".freeze
2
+ VERSION = "6.4.4".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.2
4
+ version: 6.4.4
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-22 00:00:00.000000000 Z
12
+ date: 2023-12-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport