m2m_keygen 0.4.9 → 0.5.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.
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 -1
  7. data/CHANGELOG.md +70 -1
  8. data/Gemfile +2 -2
  9. data/Gemfile.lock +135 -158
  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 +86 -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 -17
  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 +105 -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: 9a3fa41ea7545a0aed4eadb8591b68304db951ca1b8030b7c0e15468426665ee
4
- data.tar.gz: 7f552ef4e18ac42fe8ae5536624195523ae1fe00f7cb1bcdc3590670acfbf6ed
3
+ metadata.gz: e77ffbc91cad386c8c18975760dd10daf92b7ff123ade516ac33d87efec7f198
4
+ data.tar.gz: 24e009d66e885a979d9d352c827ee01775c63c16cfcae11b2fe1d0b02d583281
5
5
  SHA512:
6
- metadata.gz: cdf621ceda2a4348f6079d0774e3844380851bbef2a64b51b09d46eb55c038f1b04ac2856b5b9ecfb3d814e48d8720ac373c571b495d9db1826c270bf59cc28a
7
- data.tar.gz: 21d0468ceeed8b9fe5159e19a5f54d838829c74079cbfebbd82e209de5e4a695e4f988760649e95cba11b9df8cfc2c07f9c53db9c6a08384dc59bf095a32e8a3
6
+ metadata.gz: 9fa8e345b9c6f3fe60519b51814a4167cebe95e91b6e6446022b4220b0fbc0f9c807c0284579a752662978d909244d730fcafad4cfd9b116e26ac746e5d2b35f
7
+ data.tar.gz: 4470d359bda6e8b93da2f746a2ece1d35772bc0c3827f72fd5d23186dd4b4acedf2bed9a682633d5608cb555b85ce61b18bdbca40efe4a28e54e263a5bb77516
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 CHANGED
@@ -1 +1 @@
1
- ruby 3.2.2
1
+ ruby 3.4.7
data/CHANGELOG.md CHANGED
@@ -7,6 +7,72 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.5.1] - 2026-07-04
11
+
12
+ ### Fixed
13
+
14
+ - `RackValidator` no longer raises when the Rack input stream is not rewindable
15
+ or is absent. Rack 3 made `rack.input#rewind` optional, and `Rack::Lint`
16
+ (rackup's development default) hides it; the body is now read once and only
17
+ rewound when the stream supports it.
18
+
19
+ ## [0.5.0] - 2026-07-03
20
+
21
+ **This release replaces the signature scheme with a new, incompatible one
22
+ (`m2m-keygen/2`). Senders and receivers must upgrade together. See
23
+ [docs/MIGRATING.md](docs/MIGRATING.md).**
24
+
25
+ ### Added
26
+
27
+ - New `m2m-keygen/2` signature scheme: the HMAC now covers the request's wire
28
+ bytes (method, path, byte-order-sorted query, raw body) length-prefixed, plus
29
+ a signed expiry and nonce. This closes the v1 canonicalization collisions
30
+ (unescaped delimiters, nil/empty ambiguity, type confusion, field boundaries).
31
+ - Anti-replay: a signed per-request nonce plus a pluggable `NonceStore`
32
+ (`Memory` for single-process, `Disabled` for an explicit opt-out), with
33
+ reference `Redis`/`Postgres` stores under `examples/nonce_store/`.
34
+ - `RequestSigner`: a client helper that builds the query and the
35
+ signature/expiry/nonce headers for an outgoing request.
36
+ - `docs/SPEC.md`: the language-agnostic wire-format spec and golden vectors —
37
+ the contract the TypeScript sibling must reproduce.
38
+ - CI now tests Ruby 3.3/3.4/4.0 and a Rack 2 / Rack 3 compatibility matrix.
39
+
40
+ ### Changed
41
+
42
+ - **BREAKING** `Signature#sign` / `#validate` take
43
+ `verb:`/`path:`/`expiry:`/`nonce:`/`query:`/`body:` (no longer a `params:`
44
+ hash).
45
+ - **BREAKING** `RackValidator.new` now requires a `nonce_store:` (no default —
46
+ the anti-replay choice must be explicit), and reads the expiry and nonce from
47
+ `X-M2M-Expiry` / `X-M2M-Nonce` headers.
48
+ - Require Ruby `>= 3.3` (was `>= 2.7`); bind runtime deps
49
+ (`rack (>= 2.2, < 4.0)`, `sorbet-runtime (>= 0.5)`, `zeitwerk (>= 2.6, < 3.0)`).
50
+ - Replace Prettier with Syntax Tree and Solargraph with ruby-lsp; upgrade dev
51
+ dependencies (RuboCop 1.88, Sorbet 0.6, RSpec 3.13, Tapioca 0.19, …) and
52
+ Bundler 4.
53
+
54
+ ### Removed
55
+
56
+ - **BREAKING** `ParamsEncoder` (replaced by `Canonicalizer`) and the v1 hash-based
57
+ signing input.
58
+ - Committed YARD HTML documentation and the Ruby 2.7 constant-time comparison
59
+ fallback.
60
+
61
+ ### Security
62
+
63
+ - Real replay protection: signed nonces enforced through the `NonceStore`
64
+ (the receiver fails closed on a missing nonce unless replay protection is
65
+ explicitly disabled).
66
+ - `Signature` no longer exposes the secret through a public reader and masks it
67
+ in `#inspect`.
68
+ - Update dependencies to clear all known advisories (rexml, concurrent-ruby,
69
+ yard, …).
70
+
71
+ ### Fixed
72
+
73
+ - Restore the published gem metadata (homepage, source code, changelog and bug
74
+ tracker URIs) that was previously overwritten.
75
+
10
76
  ## [0.4.9] - 2026-07-01
11
77
 
12
78
  ### Added
@@ -91,7 +157,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
91
157
 
92
158
  - Basic skeleton for gem
93
159
 
94
- [unreleased]: https://github.com/zaratan/m2m_keygen_ruby/compare/v0.4.8...HEAD
160
+ [unreleased]: https://github.com/zaratan/m2m_keygen_ruby/compare/v0.5.1...HEAD
161
+ [0.5.1]: https://github.com/zaratan/m2m_keygen_ruby/releases/tag/v0.5.1
162
+ [0.5.0]: https://github.com/zaratan/m2m_keygen_ruby/releases/tag/v0.5.0
163
+ [0.4.9]: https://github.com/zaratan/m2m_keygen_ruby/releases/tag/v0.4.9
95
164
  [0.4.8]: https://github.com/zaratan/m2m_keygen_ruby/releases/tag/v0.4.8
96
165
  [0.4.7]: https://github.com/Billcorporate/m2m_keygen_ruby/releases/tag/v0.4.7
97
166
  [0.4.6]: https://github.com/Billcorporate/m2m_keygen_ruby/releases/tag/v0.4.6
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.9)
5
- rack
6
- sorbet-runtime
7
- zeitwerk (>= 2.6)
4
+ m2m_keygen (0.5.1)
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,174 +45,154 @@ 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)
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)
100
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)
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
219
196
  zeitwerk (2.8.2)
220
197
 
221
198
  PLATFORMS
@@ -232,7 +209,6 @@ DEPENDENCIES
232
209
  guard-rspec
233
210
  m2m_keygen!
234
211
  overcommit
235
- prettier
236
212
  pry-byebug
237
213
  rake (>= 13.0)
238
214
  rspec (>= 3.0)
@@ -241,12 +217,13 @@ DEPENDENCIES
241
217
  rubocop-faker
242
218
  rubocop-performance
243
219
  rubocop-sorbet
220
+ ruby-lsp
244
221
  simplecov
245
- solargraph
246
222
  sorbet
223
+ syntax_tree
247
224
  tapioca
248
225
  yard
249
226
  yard-sorbet
250
227
 
251
228
  BUNDLED WITH
252
- 2.3.21
229
+ 4.0.13