foundries 0.1.0 → 0.1.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: a0ecd2813e2ccbe57b1889f98748c0590d208e83005b32fb0302004b8c31b708
4
- data.tar.gz: 82dd0fe2b8f3fee39e3eb6821fb2fd3e2c222cebd599c4d6a0cd898b3af780f6
3
+ metadata.gz: cf089585b858ec4b4fb09964e7b8e17d1c2bcc3dcc1236a5a1414afb49810c11
4
+ data.tar.gz: 9919d0537dd62b84c9e3b49ccfce1de19778998203aca7e5bff36292e790fb8c
5
5
  SHA512:
6
- metadata.gz: 8585abf3336113d8ba508a67b9b83c207f7e3de3deeeb251f34cd1ba2449e9f62928e73b8e0f350205438f4284f0e07df59ac15456305fb8088d66febff6d738
7
- data.tar.gz: 02db8e30a432fddd54df80e32aa801bea689660bd252746ab3b79bc3a04e6bccf9cc75eed9c0977641ff37be25bce1237325bed770c457ca78225ec073d692bb
6
+ metadata.gz: 8a1a3e44f94106f6a4b8ac0702c9ffff6d55e54d57cd4c7e19d8c34eb8ee74cebadadf35267a49269c5e638d2fae9421de3e47af9577377b9d42f9fc21cdd38d
7
+ data.tar.gz: f3045a5705fd20d79d0ac77c29b4f104f6c6d09b690e39bb94d93c3f78df8458f883da25ec5efe68aced414d11cb1b879db6b03c205befa308dbf9f4aba1bf75
data/CHANGELOG.md CHANGED
@@ -5,4 +5,22 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](http://keepachangelog.com/)
6
6
  and this project adheres to [Semantic Versioning](http://semver.org/).
7
7
 
8
+ ## [0.1.1] - 2026-03-06
9
+
10
+ ### Added
11
+
12
+ - Blueprint base class with collection tracking, parent scoping, and factory_bot integration (0002336)
13
+ - Snapshot caching system with Postgres and SQLite adapters for test suite acceleration (0002336)
14
+ - Source file content hashing in snapshot fingerprint for automatic cache invalidation (cfb348d)
15
+
16
+ ### Changed
17
+
18
+ - Snapshot caching is opt-in via ARMATURE_CACHE=1 environment variable (0002336)
19
+ - Similarity detection only warns on identical structure, not containment (a5bdf25)
20
+
21
+ ### Fixed
22
+
23
+ - Parentless blueprints no longer raise NameError when find calls same_parent? (cfb348d)
24
+ - Snapshot-cached presets no longer produce false similarity warnings (a5bdf25)
25
+
8
26
  ## [0.1.0] - 2026-02-25
@@ -77,20 +77,22 @@ module Foundries
77
77
  #
78
78
  def preset(name, &block)
79
79
  define_singleton_method(name) do
80
- with_similarity_recording(name, Similarity.enabled?) do
81
- if defined?(Foundries::Snapshot) && Foundries::Snapshot.enabled?
82
- store = Foundries::Snapshot::Store.new(name)
83
-
84
- if store.cached?
85
- store.restore
86
- next new # hollow — no block, data already in DB
87
- end
88
-
89
- store.record_empty_tables
90
- foundry = new(&block)
91
- store.capture
92
- foundry
93
- else
80
+ if defined?(Foundries::Snapshot) && Foundries::Snapshot.enabled?
81
+ store = Foundries::Snapshot::Store.new(name)
82
+
83
+ if store.cached?
84
+ store.restore
85
+ next new # hollow — no block, data already in DB
86
+ end
87
+
88
+ store.record_empty_tables
89
+ foundry = with_similarity_recording(name, Similarity.enabled?) do
90
+ new(&block)
91
+ end
92
+ store.capture
93
+ foundry
94
+ else
95
+ with_similarity_recording(name, Similarity.enabled?) do
94
96
  new(&block)
95
97
  end
96
98
  end
@@ -17,18 +17,6 @@ module Foundries
17
17
  ":#{preset_name(existing_key)} have identical structure " \
18
18
  "(#{display_tree(new_tree)})"
19
19
  }
20
- elsif existing_tree.contains?(new_tree)
21
- warnings << {
22
- pair: pair_key,
23
- message: "[Foundries] Preset :#{preset_name(new_key)} is " \
24
- "structurally contained within :#{preset_name(existing_key)}"
25
- }
26
- elsif new_tree.contains?(existing_tree)
27
- warnings << {
28
- pair: pair_key,
29
- message: "[Foundries] Preset :#{preset_name(existing_key)} is " \
30
- "structurally contained within :#{preset_name(new_key)}"
31
- }
32
20
  end
33
21
  end
34
22
 
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Foundries
4
- VERSION = "0.1.0"
5
- RELEASE_DATE = "2026-02-25"
4
+ VERSION = "0.1.1"
5
+ RELEASE_DATE = "2026-03-06"
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foundries
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Dowd
@@ -87,7 +87,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
87
87
  - !ruby/object:Gem::Version
88
88
  version: '0'
89
89
  requirements: []
90
- rubygems_version: 3.7.2
90
+ rubygems_version: 4.0.3
91
91
  specification_version: 4
92
92
  summary: Declarative trees of related data using factory_bot
93
93
  test_files: []