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
@@ -0,0 +1,384 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `concurrent-ruby` gem.
5
+ # Please instead update this file by running `bin/tapioca gem concurrent-ruby`.
6
+
7
+
8
+ # {include:file:README.md}
9
+ # load native parts first
10
+ # load native parts first
11
+ #
12
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/constants.rb:1
13
+ module Concurrent
14
+ extend ::Concurrent::Utility::EngineDetector
15
+ end
16
+
17
+ # @!visibility private
18
+ # @!visibility private
19
+ # @!visibility private
20
+ # @!visibility private
21
+ # @!visibility private
22
+ #
23
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/map.rb:7
24
+ module Concurrent::Collection; end
25
+
26
+ # @!visibility private
27
+ #
28
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/map.rb:10
29
+ Concurrent::Collection::MapImplementation = Concurrent::Collection::MriMapBackend
30
+
31
+ # @!visibility private
32
+ #
33
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/collection/map/mri_map_backend.rb:10
34
+ class Concurrent::Collection::MriMapBackend < ::Concurrent::Collection::NonConcurrentMapBackend
35
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/collection/map/mri_map_backend.rb:12
36
+ def initialize(options = T.unsafe(nil), &default_proc); end
37
+
38
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/collection/map/mri_map_backend.rb:17
39
+ def []=(key, value); end
40
+
41
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/collection/map/mri_map_backend.rb:61
42
+ def clear; end
43
+
44
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/collection/map/mri_map_backend.rb:33
45
+ def compute(key); end
46
+
47
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/collection/map/mri_map_backend.rb:21
48
+ def compute_if_absent(key); end
49
+
50
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/collection/map/mri_map_backend.rb:29
51
+ def compute_if_present(key); end
52
+
53
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/collection/map/mri_map_backend.rb:53
54
+ def delete(key); end
55
+
56
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/collection/map/mri_map_backend.rb:57
57
+ def delete_pair(key, value); end
58
+
59
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/collection/map/mri_map_backend.rb:49
60
+ def get_and_set(key, value); end
61
+
62
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/collection/map/mri_map_backend.rb:37
63
+ def merge_pair(key, value); end
64
+
65
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/collection/map/mri_map_backend.rb:45
66
+ def replace_if_exists(key, new_value); end
67
+
68
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/collection/map/mri_map_backend.rb:41
69
+ def replace_pair(key, old_value, new_value); end
70
+ end
71
+
72
+ # @!visibility private
73
+ #
74
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb:9
75
+ class Concurrent::Collection::NonConcurrentMapBackend
76
+ # WARNING: all public methods of the class must operate on the @backend
77
+ # directly without calling each other. This is important because of the
78
+ # SynchronizedMapBackend which uses a non-reentrant mutex for performance
79
+ # reasons.
80
+ #
81
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb:15
82
+ def initialize(options = T.unsafe(nil), &default_proc); end
83
+
84
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb:21
85
+ def [](key); end
86
+
87
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb:25
88
+ def []=(key, value); end
89
+
90
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb:94
91
+ def clear; end
92
+
93
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb:59
94
+ def compute(key); end
95
+
96
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb:29
97
+ def compute_if_absent(key); end
98
+
99
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb:53
100
+ def compute_if_present(key); end
101
+
102
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb:81
103
+ def delete(key); end
104
+
105
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb:85
106
+ def delete_pair(key, value); end
107
+
108
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb:99
109
+ def each_pair; end
110
+
111
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb:71
112
+ def get_and_set(key, value); end
113
+
114
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb:110
115
+ def get_or_default(key, default_value); end
116
+
117
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb:77
118
+ def key?(key); end
119
+
120
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb:63
121
+ def merge_pair(key, value); end
122
+
123
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb:46
124
+ def replace_if_exists(key, new_value); end
125
+
126
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb:37
127
+ def replace_pair(key, old_value, new_value); end
128
+
129
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb:106
130
+ def size; end
131
+
132
+ private
133
+
134
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb:130
135
+ def dupped_backend; end
136
+
137
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb:124
138
+ def initialize_copy(other); end
139
+
140
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb:134
141
+ def pair?(key, expected_value); end
142
+
143
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb:116
144
+ def set_backend(default_proc); end
145
+
146
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb:138
147
+ def store_computed_value(key, new_value); end
148
+ end
149
+
150
+ # @!macro concurrent_hash
151
+ #
152
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/hash.rb:49
153
+ class Concurrent::Hash < ::Hash; end
154
+
155
+ # @!macro internal_implementation_note
156
+ #
157
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/hash.rb:16
158
+ Concurrent::HashImplementation = Hash
159
+
160
+ # `Concurrent::Map` is a hash-like object and should have much better performance
161
+ # characteristics, especially under high concurrency, than `Concurrent::Hash`.
162
+ # However, `Concurrent::Map `is not strictly semantically equivalent to a ruby `Hash`
163
+ # -- for instance, it does not necessarily retain ordering by insertion time as `Hash`
164
+ # does. For most uses it should do fine though, and we recommend you consider
165
+ # `Concurrent::Map` instead of `Concurrent::Hash` for your concurrency-safe hash needs.
166
+ #
167
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/map.rb:39
168
+ class Concurrent::Map < ::Concurrent::Collection::MriMapBackend
169
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/map.rb:279
170
+ def each; end
171
+
172
+ # Iterates over each key.
173
+ # @yield for each key in the map
174
+ # @yieldparam key [Object]
175
+ # @return [self]
176
+ # @!macro map.atomic_method_with_block
177
+ #
178
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/map.rb:255
179
+ def each_key; end
180
+
181
+ # Iterates over each key value pair.
182
+ # @yield for each key value pair in the map
183
+ # @yieldparam key [Object]
184
+ # @yieldparam value [Object]
185
+ # @return [self]
186
+ # @!macro map.atomic_method_with_block
187
+ #
188
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/map.rb:274
189
+ def each_pair; end
190
+
191
+ # Iterates over each value.
192
+ # @yield for each value in the map
193
+ # @yieldparam value [Object]
194
+ # @return [self]
195
+ # @!macro map.atomic_method_with_block
196
+ #
197
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/map.rb:264
198
+ def each_value; end
199
+
200
+ # Is map empty?
201
+ # @return [true, false]
202
+ #
203
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/map.rb:291
204
+ def empty?; end
205
+
206
+ # Get a value with key, or default_value when key is absent,
207
+ # or fail when no default_value is given.
208
+ # @param [Object] key
209
+ # @param [Object] default_value
210
+ # @yield default value for a key
211
+ # @yieldparam key [Object]
212
+ # @yieldreturn [Object] default value
213
+ # @return [Object] the value or default value
214
+ # @raise [KeyError] when key is missing and no default_value is provided
215
+ # @!macro map_method_not_atomic
216
+ # @note The "fetch-then-act" methods of `Map` are not atomic. `Map` is intended
217
+ # to be use as a concurrency primitive with strong happens-before
218
+ # guarantees. It is not intended to be used as a high-level abstraction
219
+ # supporting complex operations. All read and write operations are
220
+ # thread safe, but no guarantees are made regarding race conditions
221
+ # between the fetch operation and yielding to the block. Additionally,
222
+ # this method does not support recursion. This is due to internal
223
+ # constraints that are very unlikely to change in the near future.
224
+ #
225
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/map.rb:183
226
+ def fetch(key, default_value = T.unsafe(nil)); end
227
+
228
+ # Fetch value with key, or store default value when key is absent,
229
+ # or fail when no default_value is given. This is a two step operation,
230
+ # therefore not atomic. The store can overwrite other concurrently
231
+ # stored value.
232
+ # @param [Object] key
233
+ # @param [Object] default_value
234
+ # @yield default value for a key
235
+ # @yieldparam key [Object]
236
+ # @yieldreturn [Object] default value
237
+ # @return [Object] the value or default value
238
+ #
239
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/map.rb:205
240
+ def fetch_or_store(key, default_value = T.unsafe(nil)); end
241
+
242
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/map.rb:162
243
+ def get(key); end
244
+
245
+ # @!visibility private
246
+ #
247
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/map.rb:321
248
+ def inspect; end
249
+
250
+ # Find key of a value.
251
+ # @param [Object] value
252
+ # @return [Object, nil] key or nil when not found
253
+ #
254
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/map.rb:284
255
+ def key(value); end
256
+
257
+ # All keys
258
+ # @return [::Array<Object>] keys
259
+ #
260
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/map.rb:236
261
+ def keys; end
262
+
263
+ # @!visibility private
264
+ #
265
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/map.rb:305
266
+ def marshal_dump; end
267
+
268
+ # @!visibility private
269
+ #
270
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/map.rb:313
271
+ def marshal_load(hash); end
272
+
273
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/map.rb:163
274
+ def put(key, value); end
275
+
276
+ # Insert value into map with key if key is absent in one atomic step.
277
+ # @param [Object] key
278
+ # @param [Object] value
279
+ # @return [Object, nil] the previous value when key was present or nil when there was no key
280
+ #
281
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/map.rb:215
282
+ def put_if_absent(key, value); end
283
+
284
+ # Is the value stored in the map. Iterates over all values.
285
+ # @param [Object] value
286
+ # @return [true, false]
287
+ #
288
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/map.rb:227
289
+ def value?(value); end
290
+
291
+ # All values
292
+ # @return [::Array<Object>] values
293
+ #
294
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/map.rb:244
295
+ def values; end
296
+
297
+ private
298
+
299
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/map.rb:331
300
+ def initialize_copy(other); end
301
+
302
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/map.rb:336
303
+ def populate_from(hash); end
304
+
305
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/map.rb:327
306
+ def raise_fetch_no_key; end
307
+
308
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/map.rb:341
309
+ def validate_options_hash!(options); end
310
+ end
311
+
312
+ # Various classes within allows for +nil+ values to be stored,
313
+ # so a special +NULL+ token is required to indicate the "nil-ness".
314
+ # @!visibility private
315
+ #
316
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/constants.rb:6
317
+ Concurrent::NULL = T.let(T.unsafe(nil), Object)
318
+
319
+ # @!visibility private
320
+ # @!visibility private
321
+ # @!visibility private
322
+ # @!visibility private
323
+ # @!visibility private
324
+ # @!visibility private
325
+ #
326
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/thread_safe/util.rb:4
327
+ module Concurrent::ThreadSafe; end
328
+
329
+ # @!visibility private
330
+ # @!visibility private
331
+ # @!visibility private
332
+ # @!visibility private
333
+ # @!visibility private
334
+ # @!visibility private
335
+ #
336
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/thread_safe/util.rb:7
337
+ module Concurrent::ThreadSafe::Util; end
338
+
339
+ # TODO (pitr-ch 15-Oct-2016): migrate to Utility::ProcessorCounter
340
+ #
341
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/thread_safe/util.rb:13
342
+ Concurrent::ThreadSafe::Util::CPU_COUNT = T.let(T.unsafe(nil), Integer)
343
+
344
+ # TODO (pitr-ch 15-Oct-2016): migrate to Utility::NativeInteger
345
+ #
346
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/thread_safe/util.rb:10
347
+ Concurrent::ThreadSafe::Util::FIXNUM_BIT_SIZE = T.let(T.unsafe(nil), Integer)
348
+
349
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/thread_safe/util.rb:11
350
+ Concurrent::ThreadSafe::Util::MAX_INT = T.let(T.unsafe(nil), Integer)
351
+
352
+ # @!visibility private
353
+ # @!visibility private
354
+ # @!visibility private
355
+ # @!visibility private
356
+ #
357
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/utility/engine.rb:3
358
+ module Concurrent::Utility; end
359
+
360
+ # @!visibility private
361
+ #
362
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/utility/engine.rb:6
363
+ module Concurrent::Utility::EngineDetector
364
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/utility/engine.rb:7
365
+ def on_cruby?; end
366
+
367
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/utility/engine.rb:11
368
+ def on_jruby?; end
369
+
370
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/utility/engine.rb:27
371
+ def on_linux?; end
372
+
373
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/utility/engine.rb:23
374
+ def on_osx?; end
375
+
376
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/utility/engine.rb:15
377
+ def on_truffleruby?; end
378
+
379
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/utility/engine.rb:19
380
+ def on_windows?; end
381
+
382
+ # pkg:gem/concurrent-ruby#lib/concurrent-ruby/concurrent/utility/engine.rb:31
383
+ def ruby_version(version = T.unsafe(nil), comparison, major, minor, patch); end
384
+ end