permittable 0.1.1 → 0.1.2

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: 7e937b7a8fd46ed18f2828e5ad79b3ba5b4bda3133a108f7113472c51a1a664e
4
- data.tar.gz: e64f2c0b4b2b2a7196657e944fca56c3f8ac01a5bf1fead0a32713029b53d34b
3
+ metadata.gz: 84f1f4ca36c37a54ce5117ee6ec10bbd2e5dd5e9626e031c4dc35e8448ba1c35
4
+ data.tar.gz: c9ad5b56d78d44fd15de269547f431fd3441ec7233bc191cfa4c3ce391e8f19b
5
5
  SHA512:
6
- metadata.gz: e6158d39d4c9a3a84d5dff5f6bc6afb121197bc0a1759d16f0e628d5639639c6d6c3c3ecc7bacb29280dc395e511f197a0429209fb81375acac4142246604731
7
- data.tar.gz: 7e9adee7f244edfba05b5b9f7b5e93f8bd15c5c2af323315fd2dbafbd2f66f12ffdf74abb748614c56cd44146e0137e4af25ffe145914d53a61b26a6044ea639
6
+ metadata.gz: 0a1b6d1805eca305ba87b6ab7b78b238db6230255dcf14fc69096ff37f352c2cb4cc14199f1a68dfa19863dee745583b79f73510de8597a99dbc55c2cd1c01dc
7
+ data.tar.gz: 3630d2cba76050554c72cb763b2dd95f9442f2f12032b7b35932139f2ea0c887ab4f460178deff932d80d74d41b797ceac0f30cd9551984530c05d96a06c8b6a
data/CHANGELOG.md CHANGED
@@ -1,6 +1,19 @@
1
1
  <!-- CHANGELOG.md -->
2
2
 
3
+ ## 0.1.2 (2026-08-16)
4
+ <!-- title: gem metadata -->
5
+
6
+ Metadata-only release. `lib/` is byte-for-byte identical to 0.1.1, so upgrading changes nothing at runtime — it exists to publish the rewritten gem description, which RubyGems only refreshes on a new version.
7
+
8
+ ### Changed
9
+ - Rewrote the gem summary and description. Both now open with the comparison the README already draws — strong parameters say which keys may pass, a contract says what each field should be — rather than with implementation vocabulary. The schema-drift guard is presented as a consequence of contracts being class-level data instead of as one more bullet.
10
+
11
+ ### Internal
12
+ - The publish job creates the GitHub release itself, taking the title from this file's `<!-- title: ... -->` marker and the body from the matching section.
13
+ - Development dependencies: simplecov 0.22 → 1.1, `actions/checkout` 6 → 7.
14
+
3
15
  ## 0.1.1 (2026-08-16)
16
+ <!-- title: maintenance release -->
4
17
 
5
18
  Maintenance release. The public API and every documented behaviour are identical to 0.1.0; upgrading is a no-op.
6
19
 
@@ -13,6 +26,7 @@ Maintenance release. The public API and every documented behaviour are identical
13
26
  - CI on Ruby 3.2 (RuboCop + RSpec) and tag-driven publishing to RubyGems via trusted publishing. Repository tooling only — not part of the packaged gem.
14
27
 
15
28
  ## 0.1.0 (2026-08-16)
29
+ <!-- title: initial release -->
16
30
 
17
31
  Initial extraction from [concerns_on_rails](https://github.com/VSN2015/concerns_on_rails) (developed there on `feature/permittable` as `ConcernsOnRails::Controllers::Permittable`; concerns_on_rails now depends on this gem and aliases that constant to `::Permittable`).
18
32
 
@@ -1,3 +1,3 @@
1
1
  module Permittable
2
- VERSION = "0.1.1".freeze
2
+ VERSION = "0.1.2".freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: permittable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ethan Nguyen
@@ -30,10 +30,13 @@ dependencies:
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: '9'
33
- description: 'Declarative per-action params contracts: strict typing/coercion, validation,
34
- defaults, machine-readable 422s, output reshaping (transform/finalize), and a boot-time
35
- schema-drift guard that fails the deploy when a permitted field''s column was dropped.
36
- Strong parameters with types, validation, and drift detection.'
33
+ description: 'Strong parameters answer only which keys may pass. A Permittable contract
34
+ also says what each field should be: it casts the value to a declared type, validates
35
+ bounds and formats, applies defaults, and renders every failure as a 422 that names
36
+ the offending parameter. Because a contract is class-level data rather than code
37
+ inside the action, it can also be checked against the database when the controller
38
+ loads, so a column dropped by a migration fails the deploy instead of the request.
39
+ activesupport is the only runtime dependency.'
37
40
  email:
38
41
  - doctorit@gmail.com
39
42
  executables: []
@@ -75,5 +78,5 @@ requirements: []
75
78
  rubygems_version: 3.4.19
76
79
  signing_key:
77
80
  specification_version: 4
78
- summary: Typed, validated params contracts for Rails controllers + schema-drift guard
81
+ summary: Strong parameters for Rails that also know types, bounds, and defaults
79
82
  test_files: []