snaky_hash 2.0.6 → 2.0.7
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
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +29 -1
- data/CONTRIBUTING.md +6 -3
- data/FUNDING.md +1 -5
- data/MIT.md +21 -0
- data/README.md +38 -18
- data/lib/snaky_hash/serializer.rb +6 -6
- data/lib/snaky_hash/snake.rb +2 -2
- data/lib/snaky_hash/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +28 -27
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3d7ba970e956310051542f6433aeca0bc5c98ee6bc2a3e85ed71c5b10ddd2330
|
|
4
|
+
data.tar.gz: d26b882458ccc1860b98bebb9391f917c245812fbda4eee3e2941d2f487a8be9
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6abac6e9dca6aae24b6362f4b2b0be36ded0c11f628911338ee21b5d8d962cf6ff7603b2dd586fb1f64c2f11dee34dd2a5f2074f1cbc5fafae9f859829ec3a47
|
|
7
|
+
data.tar.gz: f241d80a2a0ef0970cdfd37a522ac6e24bce5d3ced1167df919d1c705e9fd73fb7fcace1df2ca51bbeb39bdb5a80d67504e7e4919ff39617936dad73c54d1bb9
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/CHANGELOG.md
CHANGED
|
@@ -30,6 +30,32 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
30
30
|
|
|
31
31
|
### Security
|
|
32
32
|
|
|
33
|
+
## [2.0.7] - 2026-07-14
|
|
34
|
+
|
|
35
|
+
- TAG: [v2.0.7][2.0.7t]
|
|
36
|
+
- COVERAGE: 100.00% -- 133/133 lines in 7 files
|
|
37
|
+
- BRANCH COVERAGE: 100.00% -- 38/38 branches in 7 files
|
|
38
|
+
- 92.86% documented
|
|
39
|
+
|
|
40
|
+
### Added
|
|
41
|
+
|
|
42
|
+
- Added support for JRuby 10.1 and TruffleRuby 34.0.
|
|
43
|
+
|
|
44
|
+
### Changed
|
|
45
|
+
|
|
46
|
+
- Retemplated generated project metadata, support documentation, CI workflows,
|
|
47
|
+
binstubs, and development dependency floors with `kettle-jem` v7.0.0.
|
|
48
|
+
|
|
49
|
+
### Fixed
|
|
50
|
+
|
|
51
|
+
- Corrected RubyGems homepage metadata to point at the gem documentation site.
|
|
52
|
+
- Corrected persisted Open Collective and repository topology metadata used by
|
|
53
|
+
future template runs.
|
|
54
|
+
|
|
55
|
+
- Package configured license files in gem release file lists.
|
|
56
|
+
|
|
57
|
+
- Removed stale local-path `version_gem` state from the main lockfile.
|
|
58
|
+
|
|
33
59
|
## [2.0.6] - 2026-06-11
|
|
34
60
|
|
|
35
61
|
- TAG: [v2.0.6][2.0.6t]
|
|
@@ -173,7 +199,9 @@ end
|
|
|
173
199
|
|
|
174
200
|
- Initial release
|
|
175
201
|
|
|
176
|
-
[Unreleased]: https://github.com/ruby-oauth/snaky_hash/compare/v2.0.
|
|
202
|
+
[Unreleased]: https://github.com/ruby-oauth/snaky_hash/compare/v2.0.7...HEAD
|
|
203
|
+
[2.0.7]: https://github.com/ruby-oauth/snaky_hash/compare/v2.0.6...v2.0.7
|
|
204
|
+
[2.0.7t]: https://github.com/ruby-oauth/snaky_hash/releases/tag/v2.0.7
|
|
177
205
|
[2.0.6]: https://github.com/ruby-oauth/snaky_hash/compare/v2.0.5...v2.0.6
|
|
178
206
|
[2.0.6t]: https://github.com/ruby-oauth/snaky_hash/releases/tag/v2.0.6
|
|
179
207
|
[2.0.5]: https://github.com/ruby-oauth/snaky_hash/compare/v2.0.4...v2.0.5
|
data/CONTRIBUTING.md
CHANGED
|
@@ -109,14 +109,14 @@ Git diff driver setup
|
|
|
109
109
|
- Git hosting forges generally ignore external diff drivers, so pull request views may still show raw textual diffs even when local `git diff` uses semantic drivers.
|
|
110
110
|
|
|
111
111
|
```console
|
|
112
|
-
K_JEM_TEMPLATING=true
|
|
112
|
+
K_JEM_TEMPLATING=true kettle-jem install
|
|
113
113
|
```
|
|
114
114
|
|
|
115
115
|
Troubleshooting Git diffs
|
|
116
116
|
- Use `git diff --no-ext-diff` to compare against Git's built-in diff output.
|
|
117
117
|
- Use `git diff --no-textconv` when a textconv projection obscures the raw file bytes you need to inspect.
|
|
118
118
|
- If Git reports a missing `smorg-*` executable, rerun `bundle install` and the setup command above, then check `git config --local --get-regexp '^diff\.smorg-'`.
|
|
119
|
-
- To remove managed local entries, run `K_JEM_TEMPLATING=true
|
|
119
|
+
- To remove managed local entries, run `K_JEM_TEMPLATING=true kettle-jem install --undo`; remove global command registrations with `git config --global --unset-all diff.smorg-ruby.command`.
|
|
120
120
|
|
|
121
121
|
For a quick starting point, this repository’s `mise.toml` defines the shared defaults, and `.env.local` can override them locally. Copy `.env.local.example` to `.env.local`, use `KEY=value` lines, and either activate `mise` in your shell or run commands through `mise exec -C /path/to/project -- ...`.
|
|
122
122
|
|
|
@@ -131,9 +131,12 @@ toolchain, and it may be higher than the gemspec runtime floor.
|
|
|
131
131
|
They are created and updated with the commands:
|
|
132
132
|
|
|
133
133
|
```console
|
|
134
|
-
bin/rake appraisal:
|
|
134
|
+
bin/rake appraisal:generate
|
|
135
135
|
```
|
|
136
136
|
|
|
137
|
+
Use `bin/rake appraisal:update` when you intentionally need to resolve fresh
|
|
138
|
+
appraisal locks.
|
|
139
|
+
|
|
137
140
|
If you need to reset all gemfiles/*.gemfile.lock files:
|
|
138
141
|
|
|
139
142
|
```console
|
data/FUNDING.md
CHANGED
|
@@ -6,7 +6,7 @@ Many paths lead to being a sponsor or a backer of this project. Are you on such
|
|
|
6
6
|
|
|
7
7
|
[![OpenCollective Backers][🖇osc-backers-i]][🖇osc-backers] [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] [![Liberapay Goal Progress][⛳liberapay-img]][⛳liberapay] [![Donate on PayPal][🖇paypal-img]][🖇paypal]
|
|
8
8
|
|
|
9
|
-
[![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate
|
|
9
|
+
[![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate to my FLOSS efforts at ko-fi.com][🖇kofi-img]][🖇kofi]
|
|
10
10
|
|
|
11
11
|
[⛳liberapay-img]: https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay&color=a51611&style=flat
|
|
12
12
|
[⛳liberapay]: https://liberapay.com/pboling/donate
|
|
@@ -16,12 +16,8 @@ Many paths lead to being a sponsor or a backer of this project. Are you on such
|
|
|
16
16
|
[🖇osc-sponsors-i]: https://opencollective.com/ruby-oauth/sponsors/badge.svg?style=flat
|
|
17
17
|
[🖇sponsor-img]: https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social&logo=github
|
|
18
18
|
[🖇sponsor]: https://github.com/sponsors/pboling
|
|
19
|
-
[🖇polar-img]: https://img.shields.io/badge/polar-donate-a51611.svg?style=flat
|
|
20
|
-
[🖇polar]: https://polar.sh/pboling
|
|
21
19
|
[🖇kofi-img]: https://img.shields.io/badge/ko--fi-%E2%9C%93-a51611.svg?style=flat
|
|
22
20
|
[🖇kofi]: https://ko-fi.com/pboling
|
|
23
|
-
[🖇patreon-img]: https://img.shields.io/badge/patreon-donate-a51611.svg?style=flat
|
|
24
|
-
[🖇patreon]: https://patreon.com/galtzo
|
|
25
21
|
[🖇buyme-small-img]: https://img.shields.io/badge/buy_me_a_coffee-%E2%9C%93-a51611.svg?style=flat
|
|
26
22
|
[🖇buyme]: https://www.buymeacoffee.com/pboling
|
|
27
23
|
[🖇paypal-img]: https://img.shields.io/badge/donate-paypal-a51611.svg?style=flat&logo=paypal
|
data/MIT.md
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
See [LICENSE.md](LICENSE.md) for the copyright notice.
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
|
13
|
+
all copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
21
|
+
THE SOFTWARE.
|
data/README.md
CHANGED
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
|
|
11
11
|
`if ci_badges.map(&:color).all? { it == "green"}` 👇️ send money so I can do more of this. FLOSS maintenance is now my full-time job.
|
|
12
12
|
|
|
13
|
-
[![OpenCollective Backers][🖇osc-backers-i]][🖇osc-backers] [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] [![Liberapay Goal Progress][⛳liberapay-img]][⛳liberapay] [![Donate on PayPal][🖇paypal-img]][🖇paypal] [![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate
|
|
13
|
+
[![OpenCollective Backers][🖇osc-backers-i]][🖇osc-backers] [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] [![Liberapay Goal Progress][⛳liberapay-img]][⛳liberapay] [![Donate on PayPal][🖇paypal-img]][🖇paypal] [![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate at ko-fi.com][🖇kofi-img]][🖇kofi]
|
|
14
14
|
|
|
15
|
-
<details>
|
|
15
|
+
<details markdown="1">
|
|
16
16
|
<summary>👣 How will this project approach the September 2025 hostile takeover of RubyGems? 🚑️</summary>
|
|
17
17
|
|
|
18
18
|
I've summarized my thoughts in [this blog post](https://dev.to/galtzo/hostile-takeover-of-rubygems-my-thoughts-5hlo).
|
|
@@ -25,9 +25,9 @@ I've summarized my thoughts in [this blog post](https://dev.to/galtzo/hostile-ta
|
|
|
25
25
|
|
|
26
26
|
| Tokens to Remember | [![Gem name][⛳️name-img]][⛳️gem-name] [![Gem namespace][⛳️namespace-img]][⛳️gem-namespace] |
|
|
27
27
|
|-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
28
|
-
| Works with JRuby | [![JRuby 9.2 Compat][💎jruby-9.2i]][🚎jruby-9.2-wf] [![JRuby 9.3 Compat][💎jruby-9.3i]][🚎jruby-9.3-wf] <br/> [![JRuby 9.4 Compat][💎jruby-9.4i]][🚎jruby-9.4-wf] [![JRuby current Compat][💎jruby-c-i]][🚎10-j-wf] [![JRuby HEAD Compat][💎jruby-headi]][🚎3-hd-wf]|
|
|
29
|
-
| Works with Truffle Ruby | [![Truffle Ruby 22.3 Compat][💎truby-22.3i]][🚎truby-22.3-wf] [![Truffle Ruby 23.0 Compat][💎truby-23.0i]][🚎truby-23.0-wf] [![Truffle Ruby 23.1 Compat][💎truby-23.1i]][🚎truby-23.1-wf] <br/> [![Truffle Ruby 24.2 Compat][💎truby-24.2i]][🚎truby-24.2-wf] [![Truffle Ruby 25.0 Compat][💎truby-25.0i]][🚎truby-25.0-wf] [![Truffle Ruby current Compat][💎truby-c-i]][🚎9-t-wf]|
|
|
30
|
-
| Works with MRI Ruby 4 | [![Ruby
|
|
28
|
+
| Works with JRuby | [![JRuby 9.2 Compat][💎jruby-9.2i]][🚎jruby-9.2-wf] [![JRuby 9.3 Compat][💎jruby-9.3i]][🚎jruby-9.3-wf] <br/> [![JRuby 9.4 Compat][💎jruby-9.4i]][🚎jruby-9.4-wf] [![JRuby 10.0 Compat][💎jruby-10.0i]][🚎jruby-10.0-wf] [![JRuby current Compat][💎jruby-c-i]][🚎10-j-wf] [![JRuby HEAD Compat][💎jruby-headi]][🚎3-hd-wf]|
|
|
29
|
+
| Works with Truffle Ruby | [![Truffle Ruby 22.3 Compat][💎truby-22.3i]][🚎truby-22.3-wf] [![Truffle Ruby 23.0 Compat][💎truby-23.0i]][🚎truby-23.0-wf] [![Truffle Ruby 23.1 Compat][💎truby-23.1i]][🚎truby-23.1-wf] <br/> [![Truffle Ruby 24.2 Compat][💎truby-24.2i]][🚎truby-24.2-wf] [![Truffle Ruby 25.0 Compat][💎truby-25.0i]][🚎truby-25.0-wf] [![Truffle Ruby 33.0 Compat][💎truby-33.0i]][🚎truby-33.0-wf] [![Truffle Ruby current Compat][💎truby-c-i]][🚎9-t-wf] [![Truffle Ruby HEAD Compat][💎truby-headi]][🚎3-hd-wf]|
|
|
30
|
+
| Works with MRI Ruby 4 | [![Ruby current Compat][💎ruby-c-i]][🚎11-c-wf] [![Ruby HEAD Compat][💎ruby-headi]][🚎3-hd-wf]|
|
|
31
31
|
| Works with MRI Ruby 3 | [![Ruby 3.0 Compat][💎ruby-3.0i]][🚎ruby-3.0-wf] [![Ruby 3.1 Compat][💎ruby-3.1i]][🚎ruby-3.1-wf] [![Ruby 3.2 Compat][💎ruby-3.2i]][🚎ruby-3.2-wf] [![Ruby 3.3 Compat][💎ruby-3.3i]][🚎ruby-3.3-wf] [![Ruby 3.4 Compat][💎ruby-3.4i]][🚎ruby-3.4-wf]|
|
|
32
32
|
| Works with MRI Ruby 2 | ![Ruby 2.2 Compat][💎ruby-2.2i] ![Ruby 2.3 Compat][💎ruby-2.3i] <br/> [![Ruby 2.4 Compat][💎ruby-2.4i]][🚎ruby-2.4-wf] [![Ruby 2.5 Compat][💎ruby-2.5i]][🚎ruby-2.5-wf] [![Ruby 2.6 Compat][💎ruby-2.6i]][🚎ruby-2.6-wf] [![Ruby 2.7 Compat][💎ruby-2.7i]][🚎ruby-2.7-wf]|
|
|
33
33
|
| Support & Community | [![Join Me on Daily.dev's RubyFriends][✉️ruby-friends-img]][✉️ruby-friends] [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite] [![Get help from me on Upwork][👨🏼🏫expsup-upwork-img]][👨🏼🏫expsup-upwork] [![Get help from me on Codementor][👨🏼🏫expsup-codementor-img]][👨🏼🏫expsup-codementor] |
|
|
@@ -46,9 +46,25 @@ This test floor is configured by `ruby.test_minimum` in `.kettle-jem.yml` and
|
|
|
46
46
|
may be higher than the gem's runtime compatibility floor when legacy Rubies are
|
|
47
47
|
not practical for the current toolchain.
|
|
48
48
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
49
|
+
<a href="https://github.com/kettle-dev"><img alt="kettle-dev Logo by Aboling0, CC BY-SA 4.0" src="https://logos.galtzo.com/assets/images/kettle-dev/avatar-128px.svg" width="14%" align="right"/></a>
|
|
50
|
+
|
|
51
|
+
The _amazing_ test matrix is powered by the kettle-dev stack.
|
|
52
|
+
|
|
53
|
+
<details markdown="1">
|
|
54
|
+
<summary>How kettle-dev manages complexity in tests</summary>
|
|
55
|
+
|
|
56
|
+
| Gem | Source | Role | Daily download rank |
|
|
57
|
+
|-----|--------|------|---------------------|
|
|
58
|
+
| [appraisal2](https://bestgems.org/gems/appraisal2) | [GitHub](https://github.com/appraisal-rb/appraisal2) | multi-dependency Appraisal matrix generation | [](https://bestgems.org/gems/appraisal2) |
|
|
59
|
+
| [appraisal2-rubocop](https://bestgems.org/gems/appraisal2-rubocop) | [GitHub](https://github.com/appraisal-rb/appraisal2-rubocop) | RuboCop Appraisal generator integration | [](https://bestgems.org/gems/appraisal2-rubocop) |
|
|
60
|
+
| [kettle-dev](https://bestgems.org/gems/kettle-dev) | [GitHub](https://github.com/kettle-dev/kettle-dev) | development, release, and CI workflow tooling | [](https://bestgems.org/gems/kettle-dev) |
|
|
61
|
+
| [kettle-jem](https://bestgems.org/gems/kettle-jem) | [GitHub](https://github.com/kettle-dev/kettle-jem) | Appraisals & CI workflow templates | [](https://bestgems.org/gems/kettle-jem) |
|
|
62
|
+
| [kettle-soup-cover](https://bestgems.org/gems/kettle-soup-cover) | [GitHub](https://github.com/kettle-dev/kettle-soup-cover) | SimpleCov coverage policy and reporting | [](https://bestgems.org/gems/kettle-soup-cover) |
|
|
63
|
+
| [kettle-test](https://bestgems.org/gems/kettle-test) | [GitHub](https://github.com/kettle-dev/kettle-test) | standard test runner and coverage harness | [](https://bestgems.org/gems/kettle-test) |
|
|
64
|
+
| [rubocop-lts](https://bestgems.org/gems/rubocop-lts) | [GitHub](https://github.com/rubocop-lts/rubocop-lts) | Ruby-version-aware linting | [](https://bestgems.org/gems/rubocop-lts) |
|
|
65
|
+
| [turbo_tests2](https://bestgems.org/gems/turbo_tests2) | [GitHub](https://github.com/galtzo-floss/turbo_tests2) | parallel test execution | [](https://bestgems.org/gems/turbo_tests2) |
|
|
66
|
+
|
|
67
|
+
</details>
|
|
52
68
|
|
|
53
69
|
### Federated DVCS
|
|
54
70
|
|
|
@@ -305,9 +321,13 @@ NOTE: [kettle-readme-backers][kettle-readme-backers] updates this list every day
|
|
|
305
321
|
|
|
306
322
|
<!-- OPENCOLLECTIVE-ORGANIZATIONS:START -->
|
|
307
323
|
No sponsors yet. Be the first!
|
|
324
|
+
|
|
325
|
+
### Open Collective for Donors
|
|
326
|
+
|
|
327
|
+
[Bill Woika](https://opencollective.com/bill-woika) [Philipp Ebneter](https://opencollective.com/guest-e77282f7) [Grigoriy](https://opencollective.com/guest-c93e0c48)
|
|
308
328
|
<!-- OPENCOLLECTIVE-ORGANIZATIONS:END -->
|
|
309
329
|
|
|
310
|
-
[kettle-readme-backers]: https://github.com/ruby-oauth/snaky_hash/blob/main/
|
|
330
|
+
[kettle-readme-backers]: https://github.com/ruby-oauth/snaky_hash/blob/main/bin/kettle-readme-backers
|
|
311
331
|
|
|
312
332
|
### Another way to support open-source
|
|
313
333
|
|
|
@@ -319,7 +339,7 @@ I’m developing a new library, [floss_funding][🖇floss-funding-gem], designed
|
|
|
319
339
|
|
|
320
340
|
**[Floss-Funding.dev][🖇floss-funding.dev]: 👉️ No network calls. 👉️ No tracking. 👉️ No oversight. 👉️ Minimal crypto hashing. 💡 Easily disabled nags**
|
|
321
341
|
|
|
322
|
-
[![OpenCollective Backers][🖇osc-backers-i]][🖇osc-backers] [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] [![Liberapay Goal Progress][⛳liberapay-img]][⛳liberapay] [![Donate on PayPal][🖇paypal-img]][🖇paypal] [![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate
|
|
342
|
+
[![OpenCollective Backers][🖇osc-backers-i]][🖇osc-backers] [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] [![Liberapay Goal Progress][⛳liberapay-img]][⛳liberapay] [![Donate on PayPal][🖇paypal-img]][🖇paypal] [![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate to my FLOSS efforts at ko-fi.com][🖇kofi-img]][🖇kofi]
|
|
323
343
|
|
|
324
344
|
## 🔐 Security
|
|
325
345
|
|
|
@@ -365,7 +385,7 @@ Made with [contributors-img][🖐contrib-rocks].
|
|
|
365
385
|
|
|
366
386
|
Also see GitLab Contributors: [https://gitlab.com/ruby-oauth/snaky_hash/-/graphs/main][🚎contributors-gl]
|
|
367
387
|
|
|
368
|
-
<details>
|
|
388
|
+
<details markdown="1">
|
|
369
389
|
<summary>⭐️ Star History</summary>
|
|
370
390
|
|
|
371
391
|
<a href="https://star-history.com/ruby-oauth/snaky_hash&Date">
|
|
@@ -460,12 +480,8 @@ Thanks for RTFM. ☺️
|
|
|
460
480
|
[🖇sponsor-img]: https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social&logo=github
|
|
461
481
|
[🖇sponsor-bottom-img]: https://img.shields.io/badge/Sponsor_Me!-pboling-blue?style=for-the-badge&logo=github
|
|
462
482
|
[🖇sponsor]: https://github.com/sponsors/pboling
|
|
463
|
-
[🖇polar-img]: https://img.shields.io/badge/polar-donate-a51611.svg?style=flat
|
|
464
|
-
[🖇polar]: https://polar.sh/pboling
|
|
465
483
|
[🖇kofi-img]: https://img.shields.io/badge/ko--fi-%E2%9C%93-a51611.svg?style=flat
|
|
466
484
|
[🖇kofi]: https://ko-fi.com/pboling
|
|
467
|
-
[🖇patreon-img]: https://img.shields.io/badge/patreon-donate-a51611.svg?style=flat
|
|
468
|
-
[🖇patreon]: https://patreon.com/galtzo
|
|
469
485
|
[🖇buyme-small-img]: https://img.shields.io/badge/buy_me_a_coffee-%E2%9C%93-a51611.svg?style=flat
|
|
470
486
|
[🖇buyme-img]: https://img.buymeacoffee.com/button-api/?text=Buy%20me%20a%20latte&emoji=&slug=pboling&button_colour=FFDD00&font_colour=000000&font_family=Cookie&outline_colour=000000&coffee_colour=ffffff
|
|
471
487
|
[🖇buyme]: https://www.buymeacoffee.com/pboling
|
|
@@ -555,11 +571,13 @@ Thanks for RTFM. ☺️
|
|
|
555
571
|
[🚎jruby-9.2-wf]: https://github.com/ruby-oauth/snaky_hash/actions/workflows/jruby-9.2.yml
|
|
556
572
|
[🚎jruby-9.3-wf]: https://github.com/ruby-oauth/snaky_hash/actions/workflows/jruby-9.3.yml
|
|
557
573
|
[🚎jruby-9.4-wf]: https://github.com/ruby-oauth/snaky_hash/actions/workflows/jruby-9.4.yml
|
|
574
|
+
[🚎jruby-10.0-wf]: https://github.com/ruby-oauth/snaky_hash/actions/workflows/jruby-10.0.yml
|
|
558
575
|
[🚎truby-22.3-wf]: https://github.com/ruby-oauth/snaky_hash/actions/workflows/truffleruby-22.3.yml
|
|
559
576
|
[🚎truby-23.0-wf]: https://github.com/ruby-oauth/snaky_hash/actions/workflows/truffleruby-23.0.yml
|
|
560
577
|
[🚎truby-23.1-wf]: https://github.com/ruby-oauth/snaky_hash/actions/workflows/truffleruby-23.1.yml
|
|
561
578
|
[🚎truby-24.2-wf]: https://github.com/ruby-oauth/snaky_hash/actions/workflows/truffleruby-24.2.yml
|
|
562
579
|
[🚎truby-25.0-wf]: https://github.com/ruby-oauth/snaky_hash/actions/workflows/truffleruby-25.0.yml
|
|
580
|
+
[🚎truby-33.0-wf]: https://github.com/ruby-oauth/snaky_hash/actions/workflows/truffleruby-33.0.yml
|
|
563
581
|
[🚎2-cov-wf]: https://github.com/ruby-oauth/snaky_hash/actions/workflows/coverage.yml
|
|
564
582
|
[🚎2-cov-wfi]: https://github.com/ruby-oauth/snaky_hash/actions/workflows/coverage.yml/badge.svg
|
|
565
583
|
[🚎3-hd-wf]: https://github.com/ruby-oauth/snaky_hash/actions/workflows/heads.yml
|
|
@@ -591,7 +609,6 @@ Thanks for RTFM. ☺️
|
|
|
591
609
|
[💎ruby-3.2i]: https://img.shields.io/badge/Ruby-3.2-CC342D?style=for-the-badge&logo=ruby&logoColor=white
|
|
592
610
|
[💎ruby-3.3i]: https://img.shields.io/badge/Ruby-3.3-CC342D?style=for-the-badge&logo=ruby&logoColor=white
|
|
593
611
|
[💎ruby-3.4i]: https://img.shields.io/badge/Ruby-3.4-CC342D?style=for-the-badge&logo=ruby&logoColor=white
|
|
594
|
-
[💎ruby-4.0i]: https://img.shields.io/badge/Ruby-4.0-CC342D?style=for-the-badge&logo=ruby&logoColor=white
|
|
595
612
|
[💎ruby-c-i]: https://img.shields.io/badge/Ruby-current-CC342D?style=for-the-badge&logo=ruby&logoColor=green
|
|
596
613
|
[💎ruby-headi]: https://img.shields.io/badge/Ruby-HEAD-CC342D?style=for-the-badge&logo=ruby&logoColor=blue
|
|
597
614
|
[💎truby-22.3i]: https://img.shields.io/badge/Truffle_Ruby-22.3-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
|
|
@@ -599,10 +616,13 @@ Thanks for RTFM. ☺️
|
|
|
599
616
|
[💎truby-23.1i]: https://img.shields.io/badge/Truffle_Ruby-23.1-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
|
|
600
617
|
[💎truby-24.2i]: https://img.shields.io/badge/Truffle_Ruby-24.2-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
|
|
601
618
|
[💎truby-25.0i]: https://img.shields.io/badge/Truffle_Ruby-25.0-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
|
|
619
|
+
[💎truby-33.0i]: https://img.shields.io/badge/Truffle_Ruby-33.0-34BCB1?style=for-the-badge&logo=ruby&logoColor=pink
|
|
602
620
|
[💎truby-c-i]: https://img.shields.io/badge/Truffle_Ruby-current-34BCB1?style=for-the-badge&logo=ruby&logoColor=green
|
|
621
|
+
[💎truby-headi]: https://img.shields.io/badge/Truffle_Ruby-HEAD-34BCB1?style=for-the-badge&logo=ruby&logoColor=blue
|
|
603
622
|
[💎jruby-9.2i]: https://img.shields.io/badge/JRuby-9.2-FBE742?style=for-the-badge&logo=ruby&logoColor=red
|
|
604
623
|
[💎jruby-9.3i]: https://img.shields.io/badge/JRuby-9.3-FBE742?style=for-the-badge&logo=ruby&logoColor=red
|
|
605
624
|
[💎jruby-9.4i]: https://img.shields.io/badge/JRuby-9.4-FBE742?style=for-the-badge&logo=ruby&logoColor=red
|
|
625
|
+
[💎jruby-10.0i]: https://img.shields.io/badge/JRuby-10.0-FBE742?style=for-the-badge&logo=ruby&logoColor=red
|
|
606
626
|
[💎jruby-c-i]: https://img.shields.io/badge/JRuby-current-FBE742?style=for-the-badge&logo=ruby&logoColor=green
|
|
607
627
|
[💎jruby-headi]: https://img.shields.io/badge/JRuby-HEAD-FBE742?style=for-the-badge&logo=ruby&logoColor=blue
|
|
608
628
|
[🤝gh-issues]: https://github.com/ruby-oauth/snaky_hash/issues
|
|
@@ -659,7 +679,7 @@ Thanks for RTFM. ☺️
|
|
|
659
679
|
| Package | snaky_hash |
|
|
660
680
|
| Description | 🔮 A Hashie::Mash joint to make #snakelife better |
|
|
661
681
|
| Homepage | https://github.com/ruby-oauth/snaky_hash |
|
|
662
|
-
| Source | https://github.com/ruby-oauth/snaky_hash
|
|
682
|
+
| Source | https://github.com/ruby-oauth/snaky_hash |
|
|
663
683
|
| License | `MIT` |
|
|
664
|
-
| Funding | https://github.com/sponsors/pboling, https://
|
|
684
|
+
| Funding | https://github.com/sponsors/pboling, https://ko-fi.com/pboling, https://liberapay.com/pboling/donate, https://opencollective.com/ruby-oauth, https://thanks.dev/u/gh/pboling, https://tidelift.com/funding/github/rubygems/snaky_hash, https://www.buymeacoffee.com/pboling |
|
|
665
685
|
<!-- kettle-jem:metadata:end -->
|
|
@@ -22,12 +22,12 @@ module SnakyHash
|
|
|
22
22
|
extended_module = Modulizer.to_extended_mod
|
|
23
23
|
base.extend(extended_module)
|
|
24
24
|
base.include(ConvenienceInstanceMethods)
|
|
25
|
-
# :
|
|
25
|
+
# simplecov:disable
|
|
26
26
|
# This will be run in CI on Ruby 2.3, but we only collect coverage from current Ruby
|
|
27
27
|
unless base.method_defined?(:transform_values)
|
|
28
28
|
base.include(BackportedInstanceMethods)
|
|
29
29
|
end
|
|
30
|
-
# :
|
|
30
|
+
# simplecov:enable
|
|
31
31
|
end
|
|
32
32
|
end
|
|
33
33
|
|
|
@@ -87,7 +87,7 @@ module SnakyHash
|
|
|
87
87
|
|
|
88
88
|
# Provides backported methods for older Ruby versions
|
|
89
89
|
module BackportedInstanceMethods
|
|
90
|
-
# :
|
|
90
|
+
# simplecov:disable
|
|
91
91
|
# Transforms values of a hash using the given block
|
|
92
92
|
#
|
|
93
93
|
# @yield [Object] block to transform each value
|
|
@@ -105,7 +105,7 @@ module SnakyHash
|
|
|
105
105
|
end
|
|
106
106
|
result
|
|
107
107
|
end
|
|
108
|
-
# :
|
|
108
|
+
# simplecov:enable
|
|
109
109
|
end
|
|
110
110
|
|
|
111
111
|
# Provides convenient instance methods for serialization
|
|
@@ -189,11 +189,11 @@ module SnakyHash
|
|
|
189
189
|
if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("2.7")
|
|
190
190
|
res
|
|
191
191
|
else
|
|
192
|
-
# :
|
|
192
|
+
# simplecov:disable
|
|
193
193
|
# In Ruby <= 2.6 Hash#transform_values returned a new vanilla Hash,
|
|
194
194
|
# rather than a hash of the class being transformed.
|
|
195
195
|
self[res]
|
|
196
|
-
# :
|
|
196
|
+
# simplecov:enable
|
|
197
197
|
end
|
|
198
198
|
end
|
|
199
199
|
|
data/lib/snaky_hash/snake.rb
CHANGED
|
@@ -56,7 +56,7 @@ module SnakyHash
|
|
|
56
56
|
def to_mod(key_type)
|
|
57
57
|
Module.new do
|
|
58
58
|
case key_type
|
|
59
|
-
when :string
|
|
59
|
+
when :string
|
|
60
60
|
# Converts a key to a string if it is symbolizable, after underscoring
|
|
61
61
|
#
|
|
62
62
|
# @note checks for to_sym instead of to_s, because nearly everything responds_to?(:to_s)
|
|
@@ -67,7 +67,7 @@ module SnakyHash
|
|
|
67
67
|
# @param key [Object] the key to convert
|
|
68
68
|
# @return [String, Object] the converted key or original if not convertible
|
|
69
69
|
define_method(:convert_key) { |key| key.respond_to?(:to_sym) ? underscore_string(key.to_s) : key }
|
|
70
|
-
when :symbol
|
|
70
|
+
when :symbol
|
|
71
71
|
# Converts a key to a symbol if possible, after underscoring
|
|
72
72
|
#
|
|
73
73
|
# @param key [Object] the key to convert
|
data/lib/snaky_hash/version.rb
CHANGED
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: snaky_hash
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.0.
|
|
4
|
+
version: 2.0.7
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Peter H. Boling
|
|
@@ -61,42 +61,42 @@ dependencies:
|
|
|
61
61
|
name: version_gem
|
|
62
62
|
requirement: !ruby/object:Gem::Requirement
|
|
63
63
|
requirements:
|
|
64
|
-
- - "
|
|
64
|
+
- - "~>"
|
|
65
65
|
- !ruby/object:Gem::Version
|
|
66
|
-
version: 1.1
|
|
67
|
-
- - "
|
|
66
|
+
version: '1.1'
|
|
67
|
+
- - ">="
|
|
68
68
|
- !ruby/object:Gem::Version
|
|
69
|
-
version:
|
|
69
|
+
version: 1.1.14
|
|
70
70
|
type: :runtime
|
|
71
71
|
prerelease: false
|
|
72
72
|
version_requirements: !ruby/object:Gem::Requirement
|
|
73
73
|
requirements:
|
|
74
|
-
- - "
|
|
74
|
+
- - "~>"
|
|
75
75
|
- !ruby/object:Gem::Version
|
|
76
|
-
version: 1.1
|
|
77
|
-
- - "
|
|
76
|
+
version: '1.1'
|
|
77
|
+
- - ">="
|
|
78
78
|
- !ruby/object:Gem::Version
|
|
79
|
-
version:
|
|
79
|
+
version: 1.1.14
|
|
80
80
|
- !ruby/object:Gem::Dependency
|
|
81
81
|
name: kettle-dev
|
|
82
82
|
requirement: !ruby/object:Gem::Requirement
|
|
83
83
|
requirements:
|
|
84
84
|
- - "~>"
|
|
85
85
|
- !ruby/object:Gem::Version
|
|
86
|
-
version: '2.
|
|
86
|
+
version: '2.3'
|
|
87
87
|
- - ">="
|
|
88
88
|
- !ruby/object:Gem::Version
|
|
89
|
-
version: 2.
|
|
89
|
+
version: 2.3.3
|
|
90
90
|
type: :development
|
|
91
91
|
prerelease: false
|
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
93
93
|
requirements:
|
|
94
94
|
- - "~>"
|
|
95
95
|
- !ruby/object:Gem::Version
|
|
96
|
-
version: '2.
|
|
96
|
+
version: '2.3'
|
|
97
97
|
- - ">="
|
|
98
98
|
- !ruby/object:Gem::Version
|
|
99
|
-
version: 2.
|
|
99
|
+
version: 2.3.3
|
|
100
100
|
- !ruby/object:Gem::Dependency
|
|
101
101
|
name: bundler-audit
|
|
102
102
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -154,7 +154,7 @@ dependencies:
|
|
|
154
154
|
version: '3.1'
|
|
155
155
|
- - ">="
|
|
156
156
|
- !ruby/object:Gem::Version
|
|
157
|
-
version: 3.1.
|
|
157
|
+
version: 3.1.4
|
|
158
158
|
type: :development
|
|
159
159
|
prerelease: false
|
|
160
160
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -164,7 +164,7 @@ dependencies:
|
|
|
164
164
|
version: '3.1'
|
|
165
165
|
- - ">="
|
|
166
166
|
- !ruby/object:Gem::Version
|
|
167
|
-
version: 3.1.
|
|
167
|
+
version: 3.1.4
|
|
168
168
|
- !ruby/object:Gem::Dependency
|
|
169
169
|
name: kettle-test
|
|
170
170
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -174,7 +174,7 @@ dependencies:
|
|
|
174
174
|
version: '2.0'
|
|
175
175
|
- - ">="
|
|
176
176
|
- !ruby/object:Gem::Version
|
|
177
|
-
version: 2.0.
|
|
177
|
+
version: 2.0.10
|
|
178
178
|
type: :development
|
|
179
179
|
prerelease: false
|
|
180
180
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -184,7 +184,7 @@ dependencies:
|
|
|
184
184
|
version: '2.0'
|
|
185
185
|
- - ">="
|
|
186
186
|
- !ruby/object:Gem::Version
|
|
187
|
-
version: 2.0.
|
|
187
|
+
version: 2.0.10
|
|
188
188
|
- !ruby/object:Gem::Dependency
|
|
189
189
|
name: turbo_tests2
|
|
190
190
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -194,7 +194,7 @@ dependencies:
|
|
|
194
194
|
version: '3.1'
|
|
195
195
|
- - ">="
|
|
196
196
|
- !ruby/object:Gem::Version
|
|
197
|
-
version: 3.1.
|
|
197
|
+
version: 3.1.7
|
|
198
198
|
type: :development
|
|
199
199
|
prerelease: false
|
|
200
200
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -204,7 +204,7 @@ dependencies:
|
|
|
204
204
|
version: '3.1'
|
|
205
205
|
- - ">="
|
|
206
206
|
- !ruby/object:Gem::Version
|
|
207
|
-
version: 3.1.
|
|
207
|
+
version: 3.1.7
|
|
208
208
|
- !ruby/object:Gem::Dependency
|
|
209
209
|
name: ruby-progressbar
|
|
210
210
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -228,7 +228,7 @@ dependencies:
|
|
|
228
228
|
version: '1.0'
|
|
229
229
|
- - ">="
|
|
230
230
|
- !ruby/object:Gem::Version
|
|
231
|
-
version: 1.0.
|
|
231
|
+
version: 1.0.6
|
|
232
232
|
type: :development
|
|
233
233
|
prerelease: false
|
|
234
234
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -238,7 +238,7 @@ dependencies:
|
|
|
238
238
|
version: '1.0'
|
|
239
239
|
- - ">="
|
|
240
240
|
- !ruby/object:Gem::Version
|
|
241
|
-
version: 1.0.
|
|
241
|
+
version: 1.0.6
|
|
242
242
|
- !ruby/object:Gem::Dependency
|
|
243
243
|
name: gitmoji-regex
|
|
244
244
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -248,7 +248,7 @@ dependencies:
|
|
|
248
248
|
version: '2.0'
|
|
249
249
|
- - ">="
|
|
250
250
|
- !ruby/object:Gem::Version
|
|
251
|
-
version: 2.0.
|
|
251
|
+
version: 2.0.4
|
|
252
252
|
type: :development
|
|
253
253
|
prerelease: false
|
|
254
254
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -258,7 +258,7 @@ dependencies:
|
|
|
258
258
|
version: '2.0'
|
|
259
259
|
- - ">="
|
|
260
260
|
- !ruby/object:Gem::Version
|
|
261
|
-
version: 2.0.
|
|
261
|
+
version: 2.0.4
|
|
262
262
|
- !ruby/object:Gem::Dependency
|
|
263
263
|
name: backports
|
|
264
264
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -301,6 +301,7 @@ files:
|
|
|
301
301
|
- CONTRIBUTING.md
|
|
302
302
|
- FUNDING.md
|
|
303
303
|
- LICENSE.md
|
|
304
|
+
- MIT.md
|
|
304
305
|
- README.md
|
|
305
306
|
- RUBOCOP.md
|
|
306
307
|
- SECURITY.md
|
|
@@ -318,11 +319,11 @@ homepage: https://github.com/ruby-oauth/snaky_hash
|
|
|
318
319
|
licenses:
|
|
319
320
|
- MIT
|
|
320
321
|
metadata:
|
|
321
|
-
homepage_uri: https://
|
|
322
|
-
source_code_uri: https://github.com/ruby-oauth/snaky_hash/tree/v2.0.
|
|
323
|
-
changelog_uri: https://github.com/ruby-oauth/snaky_hash/blob/v2.0.
|
|
322
|
+
homepage_uri: https://snaky-hash.galtzo.com
|
|
323
|
+
source_code_uri: https://github.com/ruby-oauth/snaky_hash/tree/v2.0.7
|
|
324
|
+
changelog_uri: https://github.com/ruby-oauth/snaky_hash/blob/v2.0.7/CHANGELOG.md
|
|
324
325
|
bug_tracker_uri: https://github.com/ruby-oauth/snaky_hash/issues
|
|
325
|
-
documentation_uri: https://www.rubydoc.info/gems/snaky_hash/2.0.
|
|
326
|
+
documentation_uri: https://www.rubydoc.info/gems/snaky_hash/2.0.7
|
|
326
327
|
funding_uri: https://github.com/sponsors/pboling
|
|
327
328
|
wiki_uri: https://github.com/ruby-oauth/snaky_hash/wiki
|
|
328
329
|
news_uri: https://www.railsbling.com/tags/snaky_hash
|
metadata.gz.sig
CHANGED
|
Binary file
|