factory_bot 6.4.2 → 6.4.4

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