fixtury 2.3.0 → 2.4.1

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: eddc0719dafeefce9c31300b44475af08c14429c7b1de69328cef38fa1c6f6fb
4
- data.tar.gz: b79ec0e74adf1bff8b1f0f03b875c5e83dde1c02856908122e03ae51c93eab9c
3
+ metadata.gz: 0dc1fff518ef8b315b202a22de2515584ea441aae5a52d918c42dfb60d5ef5cc
4
+ data.tar.gz: 1a0322bf3f43cd4fc5eaa651aa5c0c2478902e79f5592527d2da5e84a4b688ee
5
5
  SHA512:
6
- metadata.gz: 33daa75ff819a5a3d22cdb773fd08eb35e8859f401e83e0246c481ef2030a1438d9376eb66ab9e5db3c566da130fc46e0af56a5744b9e194ae2ce7801611fb21
7
- data.tar.gz: 1ec5c972ed02e9760d0a064616c047d2d78d0ace61d1e9a43db0d36d54b911e2ea65ff83503e15dd1d47ec4992d55f4e8afecfdc09a0f0ba12cfaad0cf07cf0c
6
+ metadata.gz: 19b0e54fedbd89ae87d6b302950cbf162b971df397183b1dc1a7587cd32fdab8c20f0acaaec5fd3093d772b79a38e908905a1602d34cf28cb80f7bd9f0d28163
7
+ data.tar.gz: de752bf06cae131a37bad7dbc4909441877c069e04d60257d1ec688871c62170ce39461f1f2e193a52486f0a49bf5d9d63f652f0116da89d994f2194e958a2a4
data/fixtury.gemspec CHANGED
@@ -11,13 +11,20 @@ Gem::Specification.new do |spec|
11
11
  spec.email = ["mike@guideline.com"]
12
12
 
13
13
  spec.summary = "Treat fixtures like factories and factories like fixtures"
14
- spec.homepage = "https://github.com/guideline-tech/fixtury"
15
14
  spec.license = "MIT"
15
+ spec.required_ruby_version = ">= 3.3.0"
16
16
 
17
17
  spec.metadata["allowed_push_host"] = "https://rubygems.org"
18
+
19
+ github_uri = "https://github.com/guideline-tech/fixtury"
20
+
21
+ spec.homepage = github_uri
22
+ spec.metadata["homepage_uri"] = spec.homepage
23
+ spec.metadata["source_code_uri"] = github_uri
24
+ spec.metadata["changelog_uri"] = "#{github_uri}/releases"
25
+ spec.metadata["github_repo"] = github_uri
18
26
  spec.metadata["rubygems_mfa_required"] = "true"
19
27
 
20
- # Specify which files should be added to the gem when it is released.
21
28
  spec.files = Dir["lib/**/*"] + Dir["*.gemspec"] + Dir["bin/**/*"]
22
29
 
23
30
  spec.bindir = "bin"
@@ -33,6 +40,4 @@ Gem::Specification.new do |spec|
33
40
  spec.add_development_dependency "mocha"
34
41
  spec.add_development_dependency "rake"
35
42
  spec.add_development_dependency "sqlite3"
36
-
37
- spec.required_ruby_version = ">= 3.3.0"
38
43
  end
data/lib/fixtury/store.rb CHANGED
@@ -121,6 +121,11 @@ module Fixtury
121
121
  pathname = dfn.pathname
122
122
  isokey = dfn.isolation_key
123
123
 
124
+ # Capture whether a real reference existed before isolation-dependency loading,
125
+ # so we can distinguish a true cache hit from a reference materialized by the
126
+ # recursive isolation build path.
127
+ pre_existing_real_ref = !!references[pathname]&.real?
128
+
124
129
  # Ensure that if we're part of an isolation group, we load all the fixtures in that group.
125
130
  maybe_load_isolation_dependencies(isokey)
126
131
 
@@ -138,6 +143,7 @@ module Fixtury
138
143
  log("refreshing #{pathname}", level: LOG_LEVEL_DEBUG)
139
144
  clear_reference(pathname)
140
145
  ref = nil
146
+ pre_existing_real_ref = false
141
147
  end
142
148
 
143
149
  value = nil
@@ -149,6 +155,8 @@ module Fixtury
149
155
  clear_reference(pathname)
150
156
  ref = nil
151
157
  log("missing #{pathname}", level: LOG_LEVEL_ALL)
158
+ elsif pre_existing_real_ref
159
+ ::Fixtury.hooks.call(:load, dfn, value) { value }
152
160
  end
153
161
  end
154
162
 
@@ -3,8 +3,8 @@
3
3
  module Fixtury
4
4
 
5
5
  MAJOR = 2
6
- MINOR = 3
7
- PATCH = 0
6
+ MINOR = 4
7
+ PATCH = 1
8
8
  PRERELEASE = nil
9
9
 
10
10
  VERSION = [MAJOR, MINOR, PATCH, PRERELEASE].compact.join(".")
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fixtury
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.0
4
+ version: 2.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Nelson
@@ -170,6 +170,10 @@ licenses:
170
170
  - MIT
171
171
  metadata:
172
172
  allowed_push_host: https://rubygems.org
173
+ homepage_uri: https://github.com/guideline-tech/fixtury
174
+ source_code_uri: https://github.com/guideline-tech/fixtury
175
+ changelog_uri: https://github.com/guideline-tech/fixtury/releases
176
+ github_repo: https://github.com/guideline-tech/fixtury
173
177
  rubygems_mfa_required: 'true'
174
178
  rdoc_options: []
175
179
  require_paths:
@@ -185,7 +189,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
185
189
  - !ruby/object:Gem::Version
186
190
  version: '0'
187
191
  requirements: []
188
- rubygems_version: 4.0.9
192
+ rubygems_version: 4.0.14
189
193
  specification_version: 4
190
194
  summary: Treat fixtures like factories and factories like fixtures
191
195
  test_files: []