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 +4 -4
- data/CHANGELOG.md +18 -0
- data/lib/foundries/base.rb +16 -14
- data/lib/foundries/similarity/comparator.rb +0 -12
- data/lib/foundries/version.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: cf089585b858ec4b4fb09964e7b8e17d1c2bcc3dcc1236a5a1414afb49810c11
|
|
4
|
+
data.tar.gz: 9919d0537dd62b84c9e3b49ccfce1de19778998203aca7e5bff36292e790fb8c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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
|
data/lib/foundries/base.rb
CHANGED
|
@@ -77,20 +77,22 @@ module Foundries
|
|
|
77
77
|
#
|
|
78
78
|
def preset(name, &block)
|
|
79
79
|
define_singleton_method(name) do
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
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
|
|
data/lib/foundries/version.rb
CHANGED
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.
|
|
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:
|
|
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: []
|