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.
- checksums.yaml +4 -4
- data/.overcommit.yml +4 -7
- data/.rubocop.yml +19 -16
- data/.ruby-version +1 -1
- data/.streerc +1 -0
- data/.tool-versions +1 -0
- data/CHANGELOG.md +73 -1
- data/Gemfile +2 -2
- data/Gemfile.lock +138 -160
- data/README.md +64 -78
- data/docs/MIGRATING.md +69 -0
- data/docs/SPEC.md +245 -0
- data/examples/nonce_store/postgres.rb +40 -0
- data/examples/nonce_store/redis.rb +23 -0
- data/gemfiles/rack_2.gemfile +5 -0
- data/gemfiles/rack_3.gemfile +5 -0
- data/lib/m2m_keygen/canonicalizer.rb +57 -0
- data/lib/m2m_keygen/nonce_store/disabled.rb +19 -0
- data/lib/m2m_keygen/nonce_store/memory.rb +64 -0
- data/lib/m2m_keygen/nonce_store.rb +18 -0
- data/lib/m2m_keygen/rack_validator.rb +72 -19
- data/lib/m2m_keygen/request_signer/signed_request.rb +10 -0
- data/lib/m2m_keygen/request_signer.rb +118 -0
- data/lib/m2m_keygen/signature.rb +41 -39
- data/lib/m2m_keygen/types/params_type.rb +6 -16
- data/lib/m2m_keygen/version.rb +1 -1
- data/lib/m2m_keygen.rb +6 -0
- data/m2m_keygen.gemspec +12 -14
- data/sorbet/config +1 -0
- data/sorbet/rbi/gems/.gitattributes +1 -0
- data/sorbet/rbi/gems/{ast@2.4.2.rbi → ast@2.4.3.rbi} +45 -79
- data/sorbet/rbi/gems/{benchmark@0.2.0.rbi → benchmark@0.5.0.rbi} +91 -58
- data/sorbet/rbi/gems/bundler-audit@0.9.3.rbi +397 -0
- data/sorbet/rbi/gems/byebug@13.0.0.rbi +3651 -0
- data/sorbet/rbi/gems/childprocess@5.1.0.rbi +336 -0
- data/sorbet/rbi/gems/concurrent-ruby@1.3.7.rbi +384 -0
- data/sorbet/rbi/gems/{diff-lcs@1.5.0.rbi → diff-lcs@1.6.2.rbi} +189 -199
- data/sorbet/rbi/gems/{docile@1.4.0.rbi → docile@1.4.1.rbi} +147 -147
- data/sorbet/rbi/gems/dotenv@3.2.0.rbi +267 -0
- data/sorbet/rbi/gems/erubi@1.13.1.rbi +155 -0
- data/sorbet/rbi/gems/{faker@2.22.0.rbi → faker@3.8.0.rbi} +8468 -3829
- data/sorbet/rbi/gems/{ffi@1.15.5.rbi → ffi@1.17.4.rbi} +1 -0
- data/sorbet/rbi/gems/{formatador@1.1.0.rbi → formatador@1.2.3.rbi} +1 -0
- data/sorbet/rbi/gems/{guard@2.18.0.rbi → guard@2.20.1.rbi} +1 -0
- data/sorbet/rbi/gems/{i18n@1.12.0.rbi → i18n@1.15.2.rbi} +687 -827
- data/sorbet/rbi/gems/io-console@0.8.2.rbi +9 -0
- data/sorbet/rbi/gems/{json@2.6.2.rbi → json@2.20.0.rbi} +994 -252
- data/sorbet/rbi/gems/language_server-protocol@3.17.0.5.rbi +9 -0
- data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +189 -0
- data/sorbet/rbi/gems/listen@3.10.0.rbi +9 -0
- data/sorbet/rbi/gems/logger@1.7.0.rbi +896 -0
- data/sorbet/rbi/gems/{lumberjack@1.2.8.rbi → lumberjack@1.4.2.rbi} +1 -0
- data/sorbet/rbi/gems/{method_source@1.0.0.rbi → method_source@1.1.0.rbi} +111 -90
- data/sorbet/rbi/gems/{overcommit@0.59.1.rbi → overcommit@0.71.0.rbi} +503 -647
- data/sorbet/rbi/gems/parallel@2.1.0.rbi +321 -0
- data/sorbet/rbi/gems/parser@3.3.11.1.rbi +5229 -0
- data/sorbet/rbi/gems/prettier_print@1.2.1.rbi +878 -0
- data/sorbet/rbi/gems/prism@1.9.0.rbi +42224 -0
- data/sorbet/rbi/gems/pry-byebug@3.12.0.rbi +481 -0
- data/sorbet/rbi/gems/{pry@0.14.1.rbi → pry@0.16.0.rbi} +2567 -3550
- data/sorbet/rbi/gems/{racc@1.6.0.rbi → racc@1.8.1.rbi} +54 -40
- data/sorbet/rbi/gems/rack@3.2.6.rbi +4653 -0
- data/sorbet/rbi/gems/{rake@13.0.6.rbi → rake@13.4.2.rbi} +963 -732
- data/sorbet/rbi/gems/{rb-inotify@0.10.1.rbi → rb-inotify@0.11.1.rbi} +1 -0
- data/sorbet/rbi/gems/rbi@0.3.14.rbi +5519 -0
- data/sorbet/rbi/gems/rbs@4.0.3.rbi +6908 -0
- data/sorbet/rbi/gems/regexp_parser@2.12.0.rbi +3398 -0
- data/sorbet/rbi/gems/reline@0.6.3.rbi +2446 -0
- data/sorbet/rbi/gems/require-hooks@0.4.0.rbi +152 -0
- data/sorbet/rbi/gems/{rexml@3.2.5.rbi → rexml@3.4.4.rbi} +1085 -894
- data/sorbet/rbi/gems/rspec-core@3.13.6.rbi +9475 -0
- data/sorbet/rbi/gems/rspec-expectations@3.13.5.rbi +6108 -0
- data/sorbet/rbi/gems/rspec-mocks@3.13.8.rbi +4787 -0
- data/sorbet/rbi/gems/rspec-support@3.13.7.rbi +1274 -0
- data/sorbet/rbi/gems/rspec@3.13.2.rbi +15 -0
- data/sorbet/rbi/gems/rspec_in_context@1.2.2.rbi +294 -0
- data/sorbet/rbi/gems/rubocop-ast@1.49.1.rbi +7140 -0
- data/sorbet/rbi/gems/rubocop-faker@1.3.0.rbi +88 -0
- data/sorbet/rbi/gems/rubocop-performance@1.26.1.rbi +3403 -0
- data/sorbet/rbi/gems/rubocop-sorbet@0.12.0.rbi +2448 -0
- data/sorbet/rbi/gems/rubocop@1.88.1.rbi +63103 -0
- data/sorbet/rbi/gems/ruby-lsp@0.26.9.rbi +28 -0
- data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +988 -0
- data/sorbet/rbi/gems/rubydex@0.2.7.rbi +836 -0
- data/sorbet/rbi/gems/simplecov-html@0.13.2.rbi +90 -0
- data/sorbet/rbi/gems/{simplecov@0.21.2.rbi → simplecov@0.22.0.rbi} +438 -578
- data/sorbet/rbi/gems/spoom@1.8.2.rbi +6691 -0
- data/sorbet/rbi/gems/syntax_tree@6.3.0.rbi +22090 -0
- data/sorbet/rbi/gems/tapioca@0.19.2.rbi +3597 -0
- data/sorbet/rbi/gems/{thor@1.2.1.rbi → thor@1.5.0.rbi} +1085 -1171
- data/sorbet/rbi/gems/tsort@0.2.0.rbi +389 -0
- data/sorbet/rbi/gems/unicode-display_width@3.2.0.rbi +130 -0
- data/sorbet/rbi/gems/unicode-emoji@4.2.0.rbi +332 -0
- data/sorbet/rbi/gems/{yard-sorbet@0.7.0.rbi → yard-sorbet@0.9.0.rbi} +142 -99
- data/sorbet/rbi/gems/{yard@0.9.28.rbi → yard@0.9.44.rbi} +5350 -6316
- data/sorbet/rbi/gems/zeitwerk@2.8.2.rbi +1178 -0
- metadata +106 -111
- data/.prettierrc.js +0 -4
- data/docs/M2mKeygen/Error.html +0 -135
- data/docs/M2mKeygen/ParamsEncoder.html +0 -321
- data/docs/M2mKeygen/RackValidator.html +0 -533
- data/docs/M2mKeygen/Signature.html +0 -680
- data/docs/M2mKeygen/Types.html +0 -147
- data/docs/M2mKeygen.html +0 -157
- data/docs/_index.html +0 -182
- data/docs/class_list.html +0 -51
- data/docs/css/common.css +0 -1
- data/docs/css/full_list.css +0 -58
- data/docs/css/style.css +0 -497
- data/docs/file.README.html +0 -230
- data/docs/file_list.html +0 -56
- data/docs/frames.html +0 -17
- data/docs/index.html +0 -230
- data/docs/js/app.js +0 -314
- data/docs/js/full_list.js +0 -216
- data/docs/js/jquery.js +0 -4
- data/docs/method_list.html +0 -139
- data/docs/top-level-namespace.html +0 -110
- data/lib/m2m_keygen/params_encoder.rb +0 -56
- data/package.json +0 -12
- data/sig/m2m_keygen.rbs +0 -4
- data/sorbet/rbi/gems/activesupport@7.0.3.1.rbi +0 -18608
- data/sorbet/rbi/gems/backport@1.2.0.rbi +0 -522
- data/sorbet/rbi/gems/bundler-audit@0.9.1.rbi +0 -308
- data/sorbet/rbi/gems/byebug@11.1.3.rbi +0 -3603
- data/sorbet/rbi/gems/childprocess@4.1.0.rbi +0 -401
- data/sorbet/rbi/gems/concurrent-ruby@1.1.10.rbi +0 -11581
- data/sorbet/rbi/gems/dotenv@2.8.1.rbi +0 -234
- data/sorbet/rbi/gems/e2mmap@0.1.0.rbi +0 -8
- data/sorbet/rbi/gems/haml@5.2.2.rbi +0 -3190
- data/sorbet/rbi/gems/jaro_winkler@1.5.4.rbi +0 -19
- data/sorbet/rbi/gems/kramdown-parser-gfm@1.1.0.rbi +0 -133
- data/sorbet/rbi/gems/kramdown@2.4.0.rbi +0 -3261
- data/sorbet/rbi/gems/listen@3.7.1.rbi +0 -1181
- data/sorbet/rbi/gems/minitest@5.16.3.rbi +0 -1459
- data/sorbet/rbi/gems/nokogiri@1.13.8.rbi +0 -6514
- data/sorbet/rbi/gems/parallel@1.22.1.rbi +0 -277
- data/sorbet/rbi/gems/parser@3.1.2.1.rbi +0 -6826
- data/sorbet/rbi/gems/prettier@3.2.0.rbi +0 -22
- data/sorbet/rbi/gems/prettier_print@0.1.0.rbi +0 -8
- data/sorbet/rbi/gems/pry-byebug@3.10.1.rbi +0 -1222
- data/sorbet/rbi/gems/rack@2.2.4.rbi +0 -5630
- data/sorbet/rbi/gems/rbi@0.0.15.rbi +0 -3007
- data/sorbet/rbi/gems/rbs@2.6.0.rbi +0 -8
- data/sorbet/rbi/gems/regexp_parser@2.5.0.rbi +0 -3366
- data/sorbet/rbi/gems/reverse_markdown@2.1.1.rbi +0 -389
- data/sorbet/rbi/gems/rspec-core@3.11.0.rbi +0 -10786
- data/sorbet/rbi/gems/rspec-expectations@3.11.0.rbi +0 -8170
- data/sorbet/rbi/gems/rspec-mocks@3.11.1.rbi +0 -5385
- data/sorbet/rbi/gems/rspec-support@3.11.0.rbi +0 -1746
- data/sorbet/rbi/gems/rspec@3.11.0.rbi +0 -187
- data/sorbet/rbi/gems/rspec_in_context@1.1.0.3.rbi +0 -1113
- data/sorbet/rbi/gems/rubocop-ast@1.21.0.rbi +0 -7044
- data/sorbet/rbi/gems/rubocop-faker@1.1.0.rbi +0 -106
- data/sorbet/rbi/gems/rubocop-performance@1.14.3.rbi +0 -2982
- data/sorbet/rbi/gems/rubocop-sorbet@0.6.11.rbi +0 -990
- data/sorbet/rbi/gems/rubocop@1.35.1.rbi +0 -52002
- data/sorbet/rbi/gems/ruby-progressbar@1.11.0.rbi +0 -1239
- data/sorbet/rbi/gems/simplecov-html@0.12.3.rbi +0 -219
- data/sorbet/rbi/gems/solargraph@0.46.0.rbi +0 -9075
- data/sorbet/rbi/gems/spoom@1.1.12.rbi +0 -2369
- data/sorbet/rbi/gems/syntax_tree-haml@1.3.1.rbi +0 -8
- data/sorbet/rbi/gems/syntax_tree-rbs@0.5.0.rbi +0 -8
- data/sorbet/rbi/gems/syntax_tree@3.5.0.rbi +0 -8
- data/sorbet/rbi/gems/tapioca@0.9.4.rbi +0 -2946
- data/sorbet/rbi/gems/temple@0.8.2.rbi +0 -1712
- data/sorbet/rbi/gems/tilt@2.0.11.rbi +0 -742
- data/sorbet/rbi/gems/tzinfo@2.0.5.rbi +0 -5914
- data/sorbet/rbi/gems/unicode-display_width@2.2.0.rbi +0 -48
- data/sorbet/rbi/gems/unparser@0.6.5.rbi +0 -4529
- data/sorbet/rbi/gems/webrick@1.7.0.rbi +0 -2553
- data/sorbet/rbi/gems/zeitwerk@2.6.0.rbi +0 -867
- data/sorbet/rbi/manual.rbi +0 -7
- 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
|