m2m_keygen 0.4.7 → 0.5.0

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.
Files changed (174) hide show
  1. checksums.yaml +4 -4
  2. data/.overcommit.yml +4 -7
  3. data/.rubocop.yml +19 -16
  4. data/.ruby-version +1 -1
  5. data/.streerc +1 -0
  6. data/.tool-versions +1 -0
  7. data/CHANGELOG.md +73 -1
  8. data/Gemfile +2 -2
  9. data/Gemfile.lock +138 -160
  10. data/README.md +64 -78
  11. data/docs/MIGRATING.md +69 -0
  12. data/docs/SPEC.md +245 -0
  13. data/examples/nonce_store/postgres.rb +40 -0
  14. data/examples/nonce_store/redis.rb +23 -0
  15. data/gemfiles/rack_2.gemfile +5 -0
  16. data/gemfiles/rack_3.gemfile +5 -0
  17. data/lib/m2m_keygen/canonicalizer.rb +57 -0
  18. data/lib/m2m_keygen/nonce_store/disabled.rb +19 -0
  19. data/lib/m2m_keygen/nonce_store/memory.rb +64 -0
  20. data/lib/m2m_keygen/nonce_store.rb +18 -0
  21. data/lib/m2m_keygen/rack_validator.rb +72 -19
  22. data/lib/m2m_keygen/request_signer/signed_request.rb +10 -0
  23. data/lib/m2m_keygen/request_signer.rb +118 -0
  24. data/lib/m2m_keygen/signature.rb +41 -39
  25. data/lib/m2m_keygen/types/params_type.rb +6 -16
  26. data/lib/m2m_keygen/version.rb +1 -1
  27. data/lib/m2m_keygen.rb +6 -0
  28. data/m2m_keygen.gemspec +12 -14
  29. data/sorbet/config +1 -0
  30. data/sorbet/rbi/gems/.gitattributes +1 -0
  31. data/sorbet/rbi/gems/{ast@2.4.2.rbi → ast@2.4.3.rbi} +45 -79
  32. data/sorbet/rbi/gems/{benchmark@0.2.0.rbi → benchmark@0.5.0.rbi} +91 -58
  33. data/sorbet/rbi/gems/bundler-audit@0.9.3.rbi +397 -0
  34. data/sorbet/rbi/gems/byebug@13.0.0.rbi +3651 -0
  35. data/sorbet/rbi/gems/childprocess@5.1.0.rbi +336 -0
  36. data/sorbet/rbi/gems/concurrent-ruby@1.3.7.rbi +384 -0
  37. data/sorbet/rbi/gems/{diff-lcs@1.5.0.rbi → diff-lcs@1.6.2.rbi} +189 -199
  38. data/sorbet/rbi/gems/{docile@1.4.0.rbi → docile@1.4.1.rbi} +147 -147
  39. data/sorbet/rbi/gems/dotenv@3.2.0.rbi +267 -0
  40. data/sorbet/rbi/gems/erubi@1.13.1.rbi +155 -0
  41. data/sorbet/rbi/gems/{faker@2.22.0.rbi → faker@3.8.0.rbi} +8468 -3829
  42. data/sorbet/rbi/gems/{ffi@1.15.5.rbi → ffi@1.17.4.rbi} +1 -0
  43. data/sorbet/rbi/gems/{formatador@1.1.0.rbi → formatador@1.2.3.rbi} +1 -0
  44. data/sorbet/rbi/gems/{guard@2.18.0.rbi → guard@2.20.1.rbi} +1 -0
  45. data/sorbet/rbi/gems/{i18n@1.12.0.rbi → i18n@1.15.2.rbi} +687 -827
  46. data/sorbet/rbi/gems/io-console@0.8.2.rbi +9 -0
  47. data/sorbet/rbi/gems/{json@2.6.2.rbi → json@2.20.0.rbi} +994 -252
  48. data/sorbet/rbi/gems/language_server-protocol@3.17.0.5.rbi +9 -0
  49. data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +189 -0
  50. data/sorbet/rbi/gems/listen@3.10.0.rbi +9 -0
  51. data/sorbet/rbi/gems/logger@1.7.0.rbi +896 -0
  52. data/sorbet/rbi/gems/{lumberjack@1.2.8.rbi → lumberjack@1.4.2.rbi} +1 -0
  53. data/sorbet/rbi/gems/{method_source@1.0.0.rbi → method_source@1.1.0.rbi} +111 -90
  54. data/sorbet/rbi/gems/{overcommit@0.59.1.rbi → overcommit@0.71.0.rbi} +503 -647
  55. data/sorbet/rbi/gems/parallel@2.1.0.rbi +321 -0
  56. data/sorbet/rbi/gems/parser@3.3.11.1.rbi +5229 -0
  57. data/sorbet/rbi/gems/prettier_print@1.2.1.rbi +878 -0
  58. data/sorbet/rbi/gems/prism@1.9.0.rbi +42224 -0
  59. data/sorbet/rbi/gems/pry-byebug@3.12.0.rbi +481 -0
  60. data/sorbet/rbi/gems/{pry@0.14.1.rbi → pry@0.16.0.rbi} +2567 -3550
  61. data/sorbet/rbi/gems/{racc@1.6.0.rbi → racc@1.8.1.rbi} +54 -40
  62. data/sorbet/rbi/gems/rack@3.2.6.rbi +4653 -0
  63. data/sorbet/rbi/gems/{rake@13.0.6.rbi → rake@13.4.2.rbi} +963 -732
  64. data/sorbet/rbi/gems/{rb-inotify@0.10.1.rbi → rb-inotify@0.11.1.rbi} +1 -0
  65. data/sorbet/rbi/gems/rbi@0.3.14.rbi +5519 -0
  66. data/sorbet/rbi/gems/rbs@4.0.3.rbi +6908 -0
  67. data/sorbet/rbi/gems/regexp_parser@2.12.0.rbi +3398 -0
  68. data/sorbet/rbi/gems/reline@0.6.3.rbi +2446 -0
  69. data/sorbet/rbi/gems/require-hooks@0.4.0.rbi +152 -0
  70. data/sorbet/rbi/gems/{rexml@3.2.5.rbi → rexml@3.4.4.rbi} +1085 -894
  71. data/sorbet/rbi/gems/rspec-core@3.13.6.rbi +9475 -0
  72. data/sorbet/rbi/gems/rspec-expectations@3.13.5.rbi +6108 -0
  73. data/sorbet/rbi/gems/rspec-mocks@3.13.8.rbi +4787 -0
  74. data/sorbet/rbi/gems/rspec-support@3.13.7.rbi +1274 -0
  75. data/sorbet/rbi/gems/rspec@3.13.2.rbi +15 -0
  76. data/sorbet/rbi/gems/rspec_in_context@1.2.2.rbi +294 -0
  77. data/sorbet/rbi/gems/rubocop-ast@1.49.1.rbi +7140 -0
  78. data/sorbet/rbi/gems/rubocop-faker@1.3.0.rbi +88 -0
  79. data/sorbet/rbi/gems/rubocop-performance@1.26.1.rbi +3403 -0
  80. data/sorbet/rbi/gems/rubocop-sorbet@0.12.0.rbi +2448 -0
  81. data/sorbet/rbi/gems/rubocop@1.88.1.rbi +63103 -0
  82. data/sorbet/rbi/gems/ruby-lsp@0.26.9.rbi +28 -0
  83. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +988 -0
  84. data/sorbet/rbi/gems/rubydex@0.2.7.rbi +836 -0
  85. data/sorbet/rbi/gems/simplecov-html@0.13.2.rbi +90 -0
  86. data/sorbet/rbi/gems/{simplecov@0.21.2.rbi → simplecov@0.22.0.rbi} +438 -578
  87. data/sorbet/rbi/gems/spoom@1.8.2.rbi +6691 -0
  88. data/sorbet/rbi/gems/syntax_tree@6.3.0.rbi +22090 -0
  89. data/sorbet/rbi/gems/tapioca@0.19.2.rbi +3597 -0
  90. data/sorbet/rbi/gems/{thor@1.2.1.rbi → thor@1.5.0.rbi} +1085 -1171
  91. data/sorbet/rbi/gems/tsort@0.2.0.rbi +389 -0
  92. data/sorbet/rbi/gems/unicode-display_width@3.2.0.rbi +130 -0
  93. data/sorbet/rbi/gems/unicode-emoji@4.2.0.rbi +332 -0
  94. data/sorbet/rbi/gems/{yard-sorbet@0.7.0.rbi → yard-sorbet@0.9.0.rbi} +142 -99
  95. data/sorbet/rbi/gems/{yard@0.9.28.rbi → yard@0.9.44.rbi} +5350 -6316
  96. data/sorbet/rbi/gems/zeitwerk@2.8.2.rbi +1178 -0
  97. metadata +106 -111
  98. data/.prettierrc.js +0 -4
  99. data/docs/M2mKeygen/Error.html +0 -135
  100. data/docs/M2mKeygen/ParamsEncoder.html +0 -321
  101. data/docs/M2mKeygen/RackValidator.html +0 -533
  102. data/docs/M2mKeygen/Signature.html +0 -680
  103. data/docs/M2mKeygen/Types.html +0 -147
  104. data/docs/M2mKeygen.html +0 -157
  105. data/docs/_index.html +0 -182
  106. data/docs/class_list.html +0 -51
  107. data/docs/css/common.css +0 -1
  108. data/docs/css/full_list.css +0 -58
  109. data/docs/css/style.css +0 -497
  110. data/docs/file.README.html +0 -230
  111. data/docs/file_list.html +0 -56
  112. data/docs/frames.html +0 -17
  113. data/docs/index.html +0 -230
  114. data/docs/js/app.js +0 -314
  115. data/docs/js/full_list.js +0 -216
  116. data/docs/js/jquery.js +0 -4
  117. data/docs/method_list.html +0 -139
  118. data/docs/top-level-namespace.html +0 -110
  119. data/lib/m2m_keygen/params_encoder.rb +0 -56
  120. data/package.json +0 -12
  121. data/sig/m2m_keygen.rbs +0 -4
  122. data/sorbet/rbi/gems/activesupport@7.0.3.1.rbi +0 -18608
  123. data/sorbet/rbi/gems/backport@1.2.0.rbi +0 -522
  124. data/sorbet/rbi/gems/bundler-audit@0.9.1.rbi +0 -308
  125. data/sorbet/rbi/gems/byebug@11.1.3.rbi +0 -3603
  126. data/sorbet/rbi/gems/childprocess@4.1.0.rbi +0 -401
  127. data/sorbet/rbi/gems/concurrent-ruby@1.1.10.rbi +0 -11581
  128. data/sorbet/rbi/gems/dotenv@2.8.1.rbi +0 -234
  129. data/sorbet/rbi/gems/e2mmap@0.1.0.rbi +0 -8
  130. data/sorbet/rbi/gems/haml@5.2.2.rbi +0 -3190
  131. data/sorbet/rbi/gems/jaro_winkler@1.5.4.rbi +0 -19
  132. data/sorbet/rbi/gems/kramdown-parser-gfm@1.1.0.rbi +0 -133
  133. data/sorbet/rbi/gems/kramdown@2.4.0.rbi +0 -3261
  134. data/sorbet/rbi/gems/listen@3.7.1.rbi +0 -1181
  135. data/sorbet/rbi/gems/minitest@5.16.3.rbi +0 -1459
  136. data/sorbet/rbi/gems/nokogiri@1.13.8.rbi +0 -6514
  137. data/sorbet/rbi/gems/parallel@1.22.1.rbi +0 -277
  138. data/sorbet/rbi/gems/parser@3.1.2.1.rbi +0 -6826
  139. data/sorbet/rbi/gems/prettier@3.2.0.rbi +0 -22
  140. data/sorbet/rbi/gems/prettier_print@0.1.0.rbi +0 -8
  141. data/sorbet/rbi/gems/pry-byebug@3.10.1.rbi +0 -1222
  142. data/sorbet/rbi/gems/rack@2.2.4.rbi +0 -5630
  143. data/sorbet/rbi/gems/rbi@0.0.15.rbi +0 -3007
  144. data/sorbet/rbi/gems/rbs@2.6.0.rbi +0 -8
  145. data/sorbet/rbi/gems/regexp_parser@2.5.0.rbi +0 -3366
  146. data/sorbet/rbi/gems/reverse_markdown@2.1.1.rbi +0 -389
  147. data/sorbet/rbi/gems/rspec-core@3.11.0.rbi +0 -10786
  148. data/sorbet/rbi/gems/rspec-expectations@3.11.0.rbi +0 -8170
  149. data/sorbet/rbi/gems/rspec-mocks@3.11.1.rbi +0 -5385
  150. data/sorbet/rbi/gems/rspec-support@3.11.0.rbi +0 -1746
  151. data/sorbet/rbi/gems/rspec@3.11.0.rbi +0 -187
  152. data/sorbet/rbi/gems/rspec_in_context@1.1.0.3.rbi +0 -1113
  153. data/sorbet/rbi/gems/rubocop-ast@1.21.0.rbi +0 -7044
  154. data/sorbet/rbi/gems/rubocop-faker@1.1.0.rbi +0 -106
  155. data/sorbet/rbi/gems/rubocop-performance@1.14.3.rbi +0 -2982
  156. data/sorbet/rbi/gems/rubocop-sorbet@0.6.11.rbi +0 -990
  157. data/sorbet/rbi/gems/rubocop@1.35.1.rbi +0 -52002
  158. data/sorbet/rbi/gems/ruby-progressbar@1.11.0.rbi +0 -1239
  159. data/sorbet/rbi/gems/simplecov-html@0.12.3.rbi +0 -219
  160. data/sorbet/rbi/gems/solargraph@0.46.0.rbi +0 -9075
  161. data/sorbet/rbi/gems/spoom@1.1.12.rbi +0 -2369
  162. data/sorbet/rbi/gems/syntax_tree-haml@1.3.1.rbi +0 -8
  163. data/sorbet/rbi/gems/syntax_tree-rbs@0.5.0.rbi +0 -8
  164. data/sorbet/rbi/gems/syntax_tree@3.5.0.rbi +0 -8
  165. data/sorbet/rbi/gems/tapioca@0.9.4.rbi +0 -2946
  166. data/sorbet/rbi/gems/temple@0.8.2.rbi +0 -1712
  167. data/sorbet/rbi/gems/tilt@2.0.11.rbi +0 -742
  168. data/sorbet/rbi/gems/tzinfo@2.0.5.rbi +0 -5914
  169. data/sorbet/rbi/gems/unicode-display_width@2.2.0.rbi +0 -48
  170. data/sorbet/rbi/gems/unparser@0.6.5.rbi +0 -4529
  171. data/sorbet/rbi/gems/webrick@1.7.0.rbi +0 -2553
  172. data/sorbet/rbi/gems/zeitwerk@2.6.0.rbi +0 -867
  173. data/sorbet/rbi/manual.rbi +0 -7
  174. data/yarn.lock +0 -20
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 911f6465123bb47e8eb24ce2d141398e6a457d7d73c9b65a3253ca1e679da34e
4
- data.tar.gz: '098a66c06dcd076acc728a2b06083c4c9692058ded10bae010dea1ef8e45939a'
3
+ metadata.gz: b10fd7bdd2b0d18a6a4eb3884234067c9301279d9ed67d00f62d3b6741b1e54d
4
+ data.tar.gz: 9458d8214b797f5b67e0f873e47989979d2820c239d7496f7ea95c92b9e958c0
5
5
  SHA512:
6
- metadata.gz: b02b9bc1c0b3d38a30acf714f2054880c909ed23803e4faca1ed289e19213e9990421e6649b1526b9b5ff37cda460665ee5eef4f8fa72391a9d04c119fecd67d
7
- data.tar.gz: 7e25a5780b10ebd546d2fa220b937749a30c9244c614c7525d1d01307548e4e0dfb905d792c3bf55fc1b5190e7a2a02c1b4113c7a89571d92782a43029320143
6
+ metadata.gz: ce0d9d928ae0e158eb2e75696fb2cdcd57c69fdba591c318480e21d0f73252a8711753a14ccf00be623ca3e63cf50e84f7882c21197469a01f32de8a4daa38a3
7
+ data.tar.gz: 55aeed0f80d63816313f8abd652e25ebec8dbd86bb5b7e8cbe3380fca5df7300a1c58c0767c3736dc4bad6aaf7466d2f47b4c77d036cd5a80e0afd4ff9af6cc7
data/.overcommit.yml CHANGED
@@ -41,22 +41,19 @@ PreCommit:
41
41
  enabled: true
42
42
  BundleAudit:
43
43
  enabled: true
44
- Prettier:
44
+ SyntaxTree:
45
45
  enabled: true
46
- required_executable: './bin/prettirun'
46
+ required_executable: './bin/streerun'
47
47
  Sorbet:
48
48
  enabled: true
49
49
  required_executable: './bin/sorbet_check'
50
- Documentation:
51
- enabled: true
52
- required_executable: './bin/generate_and_add_documentation'
53
50
  PrePush:
54
51
  RSpec:
55
52
  enabled: true
56
53
  command: ['bundle', 'exec', 'rspec', '-f', 'p'] # Invoke within Bundler context
57
- Prettier:
54
+ SyntaxTree:
58
55
  enabled: true
59
- required_executable: './bin/prettirun'
56
+ required_executable: './bin/streerun'
60
57
  Rubocop:
61
58
  enabled: true
62
59
  required_executable: './bin/ruborun'
data/.rubocop.yml CHANGED
@@ -1,36 +1,39 @@
1
1
  inherit_from:
2
2
  - http://relaxed.ruby.style/rubocop.yml
3
3
 
4
- inherit_gem:
5
- prettier: rubocop.yml
6
-
7
4
  require:
8
5
  - rubocop-faker
9
6
  - rubocop-performance
10
7
  - rubocop-sorbet
11
8
 
9
+ Layout:
10
+ Enabled: false
11
+
12
+ Style:
13
+ Enabled: false
14
+
15
+ # `sign`/`validate` are documented public API methods that return booleans;
16
+ # renaming them to end with `?` would be a breaking change.
17
+ Naming/PredicateMethod:
18
+ Enabled: false
19
+
12
20
  AllCops:
13
21
  NewCops: enable
14
- TargetRubyVersion: 3.0
22
+ TargetRubyVersion: 3.3
15
23
  DisplayStyleGuide: true
16
24
  DisplayCopNames: true
17
25
  SuggestExtensions: false
18
26
  Exclude:
19
- - 'bin/*'
20
- - 'vendor/**/*'
21
- - 'node_modules/**/*'
27
+ - "bin/*"
28
+ - "vendor/**/*"
22
29
 
23
30
  Metrics/BlockLength:
24
31
  Exclude:
25
- - 'spec/**/*.rb'
26
- - 'Guardfile'
27
- - 'config/environments/*.rb'
28
- - 'lib/tasks/*.rake'
29
- - 'm2m_keygen.gemspec'
30
-
31
- ### Prettier
32
- Style:
33
- Enabled: false
32
+ - "spec/**/*.rb"
33
+ - "Guardfile"
34
+ - "config/environments/*.rb"
35
+ - "lib/tasks/*.rake"
36
+ - "m2m_keygen.gemspec"
34
37
 
35
38
  Gemspec/RequiredRubyVersion:
36
39
  Enabled: false
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 3.2.2
1
+ 3.4.7
data/.streerc ADDED
@@ -0,0 +1 @@
1
+ --plugins=plugin/single_quotes,plugin/trailing_comma
data/.tool-versions ADDED
@@ -0,0 +1 @@
1
+ ruby 3.4.7
data/CHANGELOG.md CHANGED
@@ -7,6 +7,75 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.5.0] - 2026-07-03
11
+
12
+ **This release replaces the signature scheme with a new, incompatible one
13
+ (`m2m-keygen/2`). Senders and receivers must upgrade together. See
14
+ [docs/MIGRATING.md](docs/MIGRATING.md).**
15
+
16
+ ### Added
17
+
18
+ - New `m2m-keygen/2` signature scheme: the HMAC now covers the request's wire
19
+ bytes (method, path, byte-order-sorted query, raw body) length-prefixed, plus
20
+ a signed expiry and nonce. This closes the v1 canonicalization collisions
21
+ (unescaped delimiters, nil/empty ambiguity, type confusion, field boundaries).
22
+ - Anti-replay: a signed per-request nonce plus a pluggable `NonceStore`
23
+ (`Memory` for single-process, `Disabled` for an explicit opt-out), with
24
+ reference `Redis`/`Postgres` stores under `examples/nonce_store/`.
25
+ - `RequestSigner`: a client helper that builds the query and the
26
+ signature/expiry/nonce headers for an outgoing request.
27
+ - `docs/SPEC.md`: the language-agnostic wire-format spec and golden vectors —
28
+ the contract the TypeScript sibling must reproduce.
29
+ - CI now tests Ruby 3.3/3.4/4.0 and a Rack 2 / Rack 3 compatibility matrix.
30
+
31
+ ### Changed
32
+
33
+ - **BREAKING** `Signature#sign` / `#validate` take
34
+ `verb:`/`path:`/`expiry:`/`nonce:`/`query:`/`body:` (no longer a `params:`
35
+ hash).
36
+ - **BREAKING** `RackValidator.new` now requires a `nonce_store:` (no default —
37
+ the anti-replay choice must be explicit), and reads the expiry and nonce from
38
+ `X-M2M-Expiry` / `X-M2M-Nonce` headers.
39
+ - Require Ruby `>= 3.3` (was `>= 2.7`); bind runtime deps
40
+ (`rack (>= 2.2, < 4.0)`, `sorbet-runtime (>= 0.5)`, `zeitwerk (>= 2.6, < 3.0)`).
41
+ - Replace Prettier with Syntax Tree and Solargraph with ruby-lsp; upgrade dev
42
+ dependencies (RuboCop 1.88, Sorbet 0.6, RSpec 3.13, Tapioca 0.19, …) and
43
+ Bundler 4.
44
+
45
+ ### Removed
46
+
47
+ - **BREAKING** `ParamsEncoder` (replaced by `Canonicalizer`) and the v1 hash-based
48
+ signing input.
49
+ - Committed YARD HTML documentation and the Ruby 2.7 constant-time comparison
50
+ fallback.
51
+
52
+ ### Security
53
+
54
+ - Real replay protection: signed nonces enforced through the `NonceStore`
55
+ (the receiver fails closed on a missing nonce unless replay protection is
56
+ explicitly disabled).
57
+ - `Signature` no longer exposes the secret through a public reader and masks it
58
+ in `#inspect`.
59
+ - Update dependencies to clear all known advisories (rexml, concurrent-ruby,
60
+ yard, …).
61
+
62
+ ### Fixed
63
+
64
+ - Restore the published gem metadata (homepage, source code, changelog and bug
65
+ tracker URIs) that was previously overwritten.
66
+
67
+ ## [0.4.9] - 2026-07-01
68
+
69
+ ### Added
70
+
71
+ - Support ASDF dev
72
+
73
+ ## [0.4.8] - 2026-07-01
74
+
75
+ ### Fixed
76
+
77
+ - Support Boolean fields
78
+
10
79
  ## [0.4.7] - 2023-10-04
11
80
 
12
81
  ### Fixed
@@ -79,7 +148,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
79
148
 
80
149
  - Basic skeleton for gem
81
150
 
82
- [unreleased]: https://github.com/Billcorporate/m2m_keygen_ruby/compare/v0.4.7...HEAD
151
+ [unreleased]: https://github.com/zaratan/m2m_keygen_ruby/compare/v0.5.0...HEAD
152
+ [0.5.0]: https://github.com/zaratan/m2m_keygen_ruby/releases/tag/v0.5.0
153
+ [0.4.9]: https://github.com/zaratan/m2m_keygen_ruby/releases/tag/v0.4.9
154
+ [0.4.8]: https://github.com/zaratan/m2m_keygen_ruby/releases/tag/v0.4.8
83
155
  [0.4.7]: https://github.com/Billcorporate/m2m_keygen_ruby/releases/tag/v0.4.7
84
156
  [0.4.6]: https://github.com/Billcorporate/m2m_keygen_ruby/releases/tag/v0.4.6
85
157
  [0.4.5]: https://github.com/Billcorporate/m2m_keygen_ruby/releases/tag/v0.4.5
data/Gemfile CHANGED
@@ -12,7 +12,6 @@ group :development do
12
12
  gem 'faker'
13
13
  gem 'guard-rspec', require: false
14
14
  gem 'overcommit', require: false
15
- gem 'prettier', require: false
16
15
  gem 'pry-byebug'
17
16
  gem 'rake', '>= 13.0'
18
17
  gem 'rspec', '>= 3.0'
@@ -21,9 +20,10 @@ group :development do
21
20
  gem 'rubocop-faker', require: false
22
21
  gem 'rubocop-performance', require: false
23
22
  gem 'rubocop-sorbet', require: false
23
+ gem 'ruby-lsp', require: false
24
24
  gem 'simplecov', require: false
25
- gem 'solargraph', require: false
26
25
  gem 'sorbet', require: false
26
+ gem 'syntax_tree', require: false
27
27
  gem 'tapioca', require: false
28
28
  gem 'yard', require: false
29
29
  gem 'yard-sorbet', require: false
data/Gemfile.lock CHANGED
@@ -1,42 +1,39 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- m2m_keygen (0.4.7)
5
- rack
6
- sorbet-runtime
7
- zeitwerk (>= 2.6)
4
+ m2m_keygen (0.5.0)
5
+ rack (>= 2.2, < 4.0)
6
+ sorbet-runtime (>= 0.5)
7
+ zeitwerk (>= 2.6, < 3.0)
8
8
 
9
9
  GEM
10
10
  remote: https://rubygems.org/
11
11
  specs:
12
- activesupport (7.0.8)
13
- concurrent-ruby (~> 1.0, >= 1.0.2)
14
- i18n (>= 1.6, < 2)
15
- minitest (>= 5.1)
16
- tzinfo (~> 2.0)
17
- ast (2.4.2)
18
- backport (1.2.0)
19
- base64 (0.1.1)
20
- benchmark (0.2.1)
21
- bundler-audit (0.9.1)
22
- bundler (>= 1.2.0, < 3)
12
+ ast (2.4.3)
13
+ benchmark (0.5.0)
14
+ bundler-audit (0.9.3)
15
+ bundler (>= 1.2.0)
23
16
  thor (~> 1.0)
24
- byebug (11.1.3)
25
- childprocess (4.1.0)
17
+ byebug (13.0.0)
18
+ reline (>= 0.6.0)
19
+ childprocess (5.1.0)
20
+ logger (~> 1.5)
26
21
  coderay (1.1.3)
27
- concurrent-ruby (1.2.2)
28
- diff-lcs (1.5.0)
29
- docile (1.4.0)
30
- dotenv (2.8.1)
31
- e2mmap (0.1.0)
32
- erubi (1.12.0)
33
- faker (3.2.1)
22
+ concurrent-ruby (1.3.7)
23
+ diff-lcs (1.6.2)
24
+ docile (1.4.1)
25
+ dotenv (3.2.0)
26
+ erubi (1.13.1)
27
+ faker (3.8.0)
34
28
  i18n (>= 1.8.11, < 2)
35
- ffi (1.16.3)
36
- formatador (1.1.0)
37
- guard (2.18.1)
29
+ ffi (1.17.4-arm64-darwin)
30
+ ffi (1.17.4-x86_64-linux-gnu)
31
+ formatador (1.2.3)
32
+ reline
33
+ guard (2.20.1)
38
34
  formatador (>= 0.2.4)
39
35
  listen (>= 2.7, < 4.0)
36
+ logger (~> 1.6)
40
37
  lumberjack (>= 1.0.12, < 2.0)
41
38
  nenv (~> 0.1)
42
39
  notiffany (~> 0.0)
@@ -48,179 +45,160 @@ GEM
48
45
  guard (~> 2.1)
49
46
  guard-compat (~> 1.1)
50
47
  rspec (>= 2.99.0, < 4.0)
51
- haml (6.2.3)
52
- temple (>= 0.8.2)
53
- thor
54
- tilt
55
- i18n (1.14.1)
48
+ i18n (1.15.2)
56
49
  concurrent-ruby (~> 1.0)
57
50
  iniparse (1.5.0)
58
- jaro_winkler (1.5.6)
59
- json (2.6.3)
60
- kramdown (2.4.0)
61
- rexml
62
- kramdown-parser-gfm (1.1.0)
63
- kramdown (~> 2.0)
64
- language_server-protocol (3.17.0.3)
65
- listen (3.8.0)
51
+ io-console (0.8.2)
52
+ json (2.20.0)
53
+ language_server-protocol (3.17.0.6)
54
+ lint_roller (1.1.0)
55
+ listen (3.10.0)
56
+ logger
66
57
  rb-fsevent (~> 0.10, >= 0.10.3)
67
58
  rb-inotify (~> 0.9, >= 0.9.10)
68
- lumberjack (1.2.9)
69
- method_source (1.0.0)
70
- minitest (5.20.0)
59
+ logger (1.7.0)
60
+ lumberjack (1.4.2)
61
+ method_source (1.1.0)
71
62
  nenv (0.3.0)
72
63
  netrc (0.11.0)
73
- nokogiri (1.15.4-arm64-darwin)
74
- racc (~> 1.4)
75
- nokogiri (1.15.4-x86_64-linux)
76
- racc (~> 1.4)
77
64
  notiffany (0.1.3)
78
65
  nenv (~> 0.1)
79
66
  shellany (~> 0.0)
80
- overcommit (0.60.0)
81
- childprocess (>= 0.6.3, < 5)
67
+ overcommit (0.71.0)
68
+ childprocess (>= 0.6.3, < 6)
82
69
  iniparse (~> 1.4)
83
- rexml (~> 3.2)
84
- parallel (1.23.0)
85
- parser (3.2.2.4)
70
+ rexml (>= 3.3.9)
71
+ parallel (2.1.0)
72
+ parser (3.3.11.1)
86
73
  ast (~> 2.4.1)
87
74
  racc
88
- prettier (4.0.2)
89
- syntax_tree (>= 4.0.1)
90
- syntax_tree-haml (>= 2.0.0)
91
- syntax_tree-rbs (>= 0.2.0)
92
75
  prettier_print (1.2.1)
93
- pry (0.14.2)
76
+ prism (1.9.0)
77
+ pry (0.16.0)
94
78
  coderay (~> 1.1)
95
79
  method_source (~> 1.0)
96
- pry-byebug (3.10.1)
97
- byebug (~> 11.0)
98
- pry (>= 0.13, < 0.15)
99
- racc (1.7.1)
100
- rack (3.0.8)
80
+ reline (>= 0.6.0)
81
+ pry-byebug (3.12.0)
82
+ byebug (~> 13.0)
83
+ pry (>= 0.13, < 0.17)
84
+ racc (1.8.1)
85
+ rack (3.2.6)
101
86
  rainbow (3.1.1)
102
- rake (13.0.6)
87
+ rake (13.4.2)
103
88
  rb-fsevent (0.11.2)
104
- rb-inotify (0.10.1)
89
+ rb-inotify (0.11.1)
105
90
  ffi (~> 1.0)
106
- rbi (0.1.1)
107
- sorbet-runtime (>= 0.5.9204)
108
- yarp (>= 0.11.0)
109
- rbs (2.8.4)
110
- regexp_parser (2.8.1)
111
- reverse_markdown (2.1.1)
112
- nokogiri
113
- rexml (3.2.6)
114
- rspec (3.12.0)
115
- rspec-core (~> 3.12.0)
116
- rspec-expectations (~> 3.12.0)
117
- rspec-mocks (~> 3.12.0)
118
- rspec-core (3.12.2)
119
- rspec-support (~> 3.12.0)
120
- rspec-expectations (3.12.3)
91
+ rbi (0.3.14)
92
+ prism (~> 1.0)
93
+ rbs (>= 4.0.1)
94
+ rbs (4.0.3)
95
+ logger
96
+ prism (>= 1.6.0)
97
+ tsort
98
+ regexp_parser (2.12.0)
99
+ reline (0.6.3)
100
+ io-console (~> 0.5)
101
+ require-hooks (0.4.0)
102
+ rexml (3.4.4)
103
+ rspec (3.13.2)
104
+ rspec-core (~> 3.13.0)
105
+ rspec-expectations (~> 3.13.0)
106
+ rspec-mocks (~> 3.13.0)
107
+ rspec-core (3.13.6)
108
+ rspec-support (~> 3.13.0)
109
+ rspec-expectations (3.13.5)
121
110
  diff-lcs (>= 1.2.0, < 2.0)
122
- rspec-support (~> 3.12.0)
123
- rspec-mocks (3.12.6)
111
+ rspec-support (~> 3.13.0)
112
+ rspec-mocks (3.13.8)
124
113
  diff-lcs (>= 1.2.0, < 2.0)
125
- rspec-support (~> 3.12.0)
126
- rspec-support (3.12.1)
127
- rspec_in_context (1.1.0.3)
128
- activesupport (> 2.0)
129
- rspec (> 3.0)
130
- rubocop (1.56.4)
131
- base64 (~> 0.1.1)
114
+ rspec-support (~> 3.13.0)
115
+ rspec-support (3.13.7)
116
+ rspec_in_context (1.2.2)
117
+ rspec (~> 3.0)
118
+ rubocop (1.88.1)
132
119
  json (~> 2.3)
133
- language_server-protocol (>= 3.17.0)
134
- parallel (~> 1.10)
135
- parser (>= 3.2.2.3)
120
+ language_server-protocol (~> 3.17.0.2)
121
+ lint_roller (~> 1.1.0)
122
+ parallel (>= 1.10)
123
+ parser (>= 3.3.0.2)
136
124
  rainbow (>= 2.2.2, < 4.0)
137
- regexp_parser (>= 1.8, < 3.0)
138
- rexml (>= 3.2.5, < 4.0)
139
- rubocop-ast (>= 1.28.1, < 2.0)
125
+ regexp_parser (>= 2.9.3, < 3.0)
126
+ rubocop-ast (>= 1.49.0, < 2.0)
140
127
  ruby-progressbar (~> 1.7)
141
- unicode-display_width (>= 2.4.0, < 3.0)
142
- rubocop-ast (1.29.0)
143
- parser (>= 3.2.1.0)
144
- rubocop-faker (1.1.0)
128
+ unicode-display_width (>= 2.4.0, < 4.0)
129
+ rubocop-ast (1.49.1)
130
+ parser (>= 3.3.7.2)
131
+ prism (~> 1.7)
132
+ rubocop-faker (1.3.0)
145
133
  faker (>= 2.12.0)
146
- rubocop (>= 0.82.0)
147
- rubocop-performance (1.19.1)
148
- rubocop (>= 1.7.0, < 2.0)
149
- rubocop-ast (>= 0.4.0)
150
- rubocop-sorbet (0.7.4)
151
- rubocop (>= 0.90.0)
134
+ lint_roller (~> 1.1)
135
+ rubocop (>= 1.72.1)
136
+ rubocop-performance (1.26.1)
137
+ lint_roller (~> 1.1)
138
+ rubocop (>= 1.75.0, < 2.0)
139
+ rubocop-ast (>= 1.47.1, < 2.0)
140
+ rubocop-sorbet (0.12.0)
141
+ lint_roller
142
+ rubocop (>= 1.75.2)
143
+ ruby-lsp (0.26.9)
144
+ language_server-protocol (~> 3.17.0)
145
+ prism (>= 1.2, < 2.0)
146
+ rbs (>= 3, < 5)
152
147
  ruby-progressbar (1.13.0)
148
+ rubydex (0.2.7-arm64-darwin)
149
+ rubydex (0.2.7-x86_64-linux)
153
150
  shellany (0.0.1)
154
151
  simplecov (0.22.0)
155
152
  docile (~> 1.1)
156
153
  simplecov-html (~> 0.11)
157
154
  simplecov_json_formatter (~> 0.1)
158
- simplecov-html (0.12.3)
155
+ simplecov-html (0.13.2)
159
156
  simplecov_json_formatter (0.1.4)
160
- solargraph (0.49.0)
161
- backport (~> 1.2)
162
- benchmark
163
- bundler (~> 2.0)
164
- diff-lcs (~> 1.4)
165
- e2mmap
166
- jaro_winkler (~> 1.5)
167
- kramdown (~> 2.3)
168
- kramdown-parser-gfm (~> 1.1)
169
- parser (~> 3.0)
170
- rbs (~> 2.0)
171
- reverse_markdown (~> 2.0)
172
- rubocop (~> 1.38)
173
- thor (~> 1.0)
174
- tilt (~> 2.0)
175
- yard (~> 0.9, >= 0.9.24)
176
- sorbet (0.5.11062)
177
- sorbet-static (= 0.5.11062)
178
- sorbet-runtime (0.5.11062)
179
- sorbet-static (0.5.11062-universal-darwin)
180
- sorbet-static (0.5.11062-x86_64-linux)
181
- sorbet-static-and-runtime (0.5.11062)
182
- sorbet (= 0.5.11062)
183
- sorbet-runtime (= 0.5.11062)
184
- spoom (1.2.4)
157
+ sorbet (0.6.13323)
158
+ sorbet-static (= 0.6.13323)
159
+ sorbet-runtime (0.6.13323)
160
+ sorbet-static (0.6.13323-universal-darwin)
161
+ sorbet-static (0.6.13323-x86_64-linux)
162
+ sorbet-static-and-runtime (0.6.13323)
163
+ sorbet (= 0.6.13323)
164
+ sorbet-runtime (= 0.6.13323)
165
+ spoom (1.8.2)
185
166
  erubi (>= 1.10.0)
167
+ prism (>= 0.28.0)
168
+ rbi (>= 0.3.14)
169
+ rbs (>= 4.0.0.dev.5)
170
+ rexml (>= 3.2.6)
186
171
  sorbet-static-and-runtime (>= 0.5.10187)
187
- syntax_tree (>= 6.1.1)
188
172
  thor (>= 0.19.2)
189
- syntax_tree (6.2.0)
173
+ syntax_tree (6.3.0)
190
174
  prettier_print (>= 1.2.0)
191
- syntax_tree-haml (4.0.3)
192
- haml (>= 5.2)
193
- prettier_print (>= 1.2.1)
194
- syntax_tree (>= 6.0.0)
195
- syntax_tree-rbs (1.0.0)
196
- prettier_print
197
- rbs
198
- syntax_tree (>= 2.0.1)
199
- tapioca (0.11.9)
175
+ tapioca (0.19.2)
176
+ benchmark
200
177
  bundler (>= 2.2.25)
201
178
  netrc (>= 0.11.0)
202
179
  parallel (>= 1.21.0)
203
- rbi (~> 0.1.0, >= 0.1.0)
204
- sorbet-static-and-runtime (>= 0.5.10187)
205
- spoom (~> 1.2.0, >= 1.2.0)
180
+ rbi (>= 0.3.7)
181
+ require-hooks (>= 0.2.2)
182
+ rubydex (>= 0.1.0.beta10)
183
+ sorbet-static-and-runtime (>= 0.6.12698)
184
+ spoom (>= 1.7.16)
206
185
  thor (>= 1.2.0)
207
- yard-sorbet
208
- temple (0.10.3)
209
- thor (1.2.2)
210
- tilt (2.3.0)
211
- tzinfo (2.0.6)
212
- concurrent-ruby (~> 1.0)
213
- unicode-display_width (2.5.0)
214
- yard (0.9.34)
215
- yard-sorbet (0.8.1)
216
- sorbet-runtime (>= 0.5)
217
- yard (>= 0.9)
218
- yarp (0.13.0)
219
- zeitwerk (2.6.12)
186
+ tsort
187
+ thor (1.5.0)
188
+ tsort (0.2.0)
189
+ unicode-display_width (3.2.0)
190
+ unicode-emoji (~> 4.1)
191
+ unicode-emoji (4.2.0)
192
+ yard (0.9.44)
193
+ yard-sorbet (0.9.0)
194
+ sorbet-runtime
195
+ yard
196
+ zeitwerk (2.8.2)
220
197
 
221
198
  PLATFORMS
222
199
  arm64-darwin-21
223
200
  arm64-darwin-23
201
+ arm64-darwin-25
224
202
  x86_64-linux
225
203
 
226
204
  DEPENDENCIES
@@ -231,7 +209,6 @@ DEPENDENCIES
231
209
  guard-rspec
232
210
  m2m_keygen!
233
211
  overcommit
234
- prettier
235
212
  pry-byebug
236
213
  rake (>= 13.0)
237
214
  rspec (>= 3.0)
@@ -240,12 +217,13 @@ DEPENDENCIES
240
217
  rubocop-faker
241
218
  rubocop-performance
242
219
  rubocop-sorbet
220
+ ruby-lsp
243
221
  simplecov
244
- solargraph
245
222
  sorbet
223
+ syntax_tree
246
224
  tapioca
247
225
  yard
248
226
  yard-sorbet
249
227
 
250
228
  BUNDLED WITH
251
- 2.3.21
229
+ 4.0.13