disposita 0.2.0 → 0.2.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/.yard/templates/default/module/setup.rb +14 -0
- data/.yardopts +10 -0
- data/CHANGELOG.md +9 -0
- data/README.md +6 -6
- data/lib/disposita/version.rb +1 -1
- metadata +5 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 203e98bee659889337318d3bf9ad108b91858fd45dd2e37402544393befb7595
|
|
4
|
+
data.tar.gz: ea9ae2539c28a871a64d1578ea1da0246f0e11f7e30710db5b033468c22117a1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c81811f52d09d016ae10fc3f60c39b653428b0f2716014fd2d001db93277f9834611ee6f1dc6b2dc31aa1e0c0f29183821eb9011ea3010d41017bbe7cab364e0
|
|
7
|
+
data.tar.gz: 17075e0f5241d5df25c7b13238f597fd49832a17db504059fadac2bd4d7269b3d4d6ea7cfa83e3656ea312ae6a53b4286b5b797f1eb7d0dc9bae46e4fc9c78bd
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# YARD 0.9.45's default/module/setup.rb renders its special dynamic-method
|
|
4
|
+
# section without running the visibility/API verifier. Standard @api private,
|
|
5
|
+
# @private, private visibility, --hide-api, --no-private and --query therefore
|
|
6
|
+
# still expose method_missing there, even when it is absent from method lists.
|
|
7
|
+
# Apply the same verifier used by normal sections so API marked private stays
|
|
8
|
+
# out of public HTML (including RubyDoc-style output). This changes only docs.
|
|
9
|
+
# Remove this override once upstream applies its verifier to this section.
|
|
10
|
+
def methodmissing
|
|
11
|
+
methods = object.meths(inherited: true, included: true)
|
|
12
|
+
@mm = run_verifier(methods).find { |method| method.name == :method_missing && method.scope == :instance }
|
|
13
|
+
erb(:methodmissing) if @mm
|
|
14
|
+
end
|
data/.yardopts
ADDED
data/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,15 @@ All notable changes to Disposita will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project follows Semantic Versioning.
|
|
6
6
|
|
|
7
|
+
## [0.2.1] - 2026-09-09
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- Include `.yardopts` and the custom YARD template in the gem so documentation generated from the package preserves public API filtering.
|
|
12
|
+
- Centralize SimpleCov configuration in `.simplecov`, preserving line >=95% and branch >=90% thresholds.
|
|
13
|
+
- Add the public-gem metadata `homepage_uri` and `allowed_push_host` required by Rubcraft.
|
|
14
|
+
- Run dependency audit and gem build in CI, and verify documentation generated from the unpacked gem in CI and release verification.
|
|
15
|
+
|
|
7
16
|
## [0.2.0] - 2026-09-09
|
|
8
17
|
|
|
9
18
|
### Breaking
|
data/README.md
CHANGED
|
@@ -57,10 +57,10 @@ Namespaces merge recursively. Scalars and arrays are selected whole from the fir
|
|
|
57
57
|
|
|
58
58
|
## Installation
|
|
59
59
|
|
|
60
|
-
Disposita 0.2.
|
|
60
|
+
Disposita 0.2.1 requires Ruby 3.2 or newer. After the release is published, use:
|
|
61
61
|
|
|
62
62
|
```ruby
|
|
63
|
-
gem "disposita", "~> 0.2.
|
|
63
|
+
gem "disposita", "~> 0.2.1"
|
|
64
64
|
```
|
|
65
65
|
|
|
66
66
|
Then run `bundle install`. Breaking changes from the previous release are recorded in [CHANGELOG.md](CHANGELOG.md).
|
|
@@ -176,7 +176,7 @@ YAML interprets some unquoted values as special types before schema coercion. Fo
|
|
|
176
176
|
release_date: "2026-09-09"
|
|
177
177
|
```
|
|
178
178
|
|
|
179
|
-
Date is not a permitted class in Disposita 0.2.
|
|
179
|
+
Date is not a permitted class in Disposita 0.2.1.
|
|
180
180
|
|
|
181
181
|
## Explicit persistence
|
|
182
182
|
|
|
@@ -255,7 +255,7 @@ Custom Sources implement `read(schema)` and inherit `name`, read-only `writable?
|
|
|
255
255
|
|
|
256
256
|
## Schema versions
|
|
257
257
|
|
|
258
|
-
`Disposita.define_schema(:app, version: 1)` uses a consumer-owned version independent of `Disposita::VERSION` (`0.2.
|
|
258
|
+
`Disposita.define_schema(:app, version: 1)` uses a consumer-owned version independent of `Disposita::VERSION` (`0.2.1`). Explicit writes include `version:`. Resolution rejects persisted versions newer than the schema and malformed version values. Complex migrations are not included.
|
|
259
259
|
|
|
260
260
|
## Development and API documentation
|
|
261
261
|
|
|
@@ -264,10 +264,10 @@ bundle install
|
|
|
264
264
|
COVERAGE=true bundle exec rspec
|
|
265
265
|
bundle exec rubocop
|
|
266
266
|
bundle exec rake yard
|
|
267
|
-
bundle exec rake build
|
|
267
|
+
bundle exec rake build yard:package
|
|
268
268
|
```
|
|
269
269
|
|
|
270
|
-
`bundle exec rake` runs RuboCop, specs and YARD. Coverage thresholds
|
|
270
|
+
`bundle exec rake` runs RuboCop, specs, Bundler Audit, YARD and packaged-documentation verification. `bundle exec rake yard:package` builds and unpacks the gem into a temporary directory, generates YARD using its bundled configuration and template, and rejects internal API leakage. CI and release verification run this check before publication. Coverage thresholds are configured in `.simplecov`: line >=95% and branch >=90%. CI tests Ruby 3.2, 3.3, 3.4 and 4.0. YARD uses README as the homepage, writes documentation to `doc/`, and treats warnings as failures.
|
|
271
271
|
|
|
272
272
|
Public contracts are `Disposita.define_schema`, Schema, Configuration, Source and its three built-in implementations, the Types factories, Paths and the YAML codec. `Internal::*`, namespace implementation nodes, constructors for resolved objects, and dot-access machinery are implementation details excluded from public documentation.
|
|
273
273
|
|
data/lib/disposita/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: disposita
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.2.
|
|
4
|
+
version: 0.2.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Rubcraft
|
|
@@ -17,6 +17,8 @@ executables: []
|
|
|
17
17
|
extensions: []
|
|
18
18
|
extra_rdoc_files: []
|
|
19
19
|
files:
|
|
20
|
+
- ".yard/templates/default/module/setup.rb"
|
|
21
|
+
- ".yardopts"
|
|
20
22
|
- CHANGELOG.md
|
|
21
23
|
- LICENSE.txt
|
|
22
24
|
- README.md
|
|
@@ -41,6 +43,8 @@ homepage: https://github.com/Rubcraft/disposita
|
|
|
41
43
|
licenses:
|
|
42
44
|
- MIT
|
|
43
45
|
metadata:
|
|
46
|
+
homepage_uri: https://github.com/Rubcraft/disposita
|
|
47
|
+
allowed_push_host: https://rubygems.org
|
|
44
48
|
source_code_uri: https://github.com/Rubcraft/disposita
|
|
45
49
|
changelog_uri: https://github.com/Rubcraft/disposita/blob/main/CHANGELOG.md
|
|
46
50
|
bug_tracker_uri: https://github.com/Rubcraft/disposita/issues
|