alchemrest 3.2.2 → 3.3.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/Gemfile.lock +19 -35
- data/gemfiles/faraday_2.gemfile.lock +1 -1
- data/gemfiles/rails_7_2.gemfile.lock +1 -1
- data/gemfiles/rails_8_0.gemfile.lock +1 -1
- data/lib/alchemrest/data.rb +2 -2
- data/lib/alchemrest/request_definition.rb +1 -1
- data/lib/alchemrest/version.rb +1 -1
- data/lib/tapioca/dsl/compilers/alchemrest_root.rb +79 -7
- data/sorbet/rbi/gems/{concurrent-ruby@1.3.6.rbi → concurrent-ruby@1.3.7.rbi} +53 -51
- data/sorbet/rbi/gems/{crass@1.0.6.rbi → crass@1.0.7.rbi} +63 -57
- data/sorbet/rbi/gems/{faraday-net_http@1.0.2.rbi → faraday-net_http@3.4.4.rbi} +49 -46
- data/sorbet/rbi/gems/{faraday@1.10.5.rbi → faraday@2.14.3.rbi} +708 -519
- data/sorbet/rbi/gems/{loofah@2.24.0.rbi → loofah@2.25.2.rbi} +67 -41
- data/sorbet/rbi/gems/net-http@0.9.1.rbi +977 -0
- data/sorbet/rbi/gems/{nokogiri@1.19.1.rbi → nokogiri@1.19.4.rbi} +213 -199
- data/sorbet/rbi/gems/{rails-html-sanitizer@1.6.2.rbi → rails-html-sanitizer@1.7.1.rbi} +107 -104
- data/sorbet/rbi/gems/{yard@0.9.37.rbi → yard@0.9.44.rbi} +1036 -365
- metadata +12 -24
- data/sorbet/rbi/gems/faraday-em_http@1.0.0.rbi +0 -181
- data/sorbet/rbi/gems/faraday-em_synchrony@1.0.1.rbi +0 -120
- data/sorbet/rbi/gems/faraday-excon@1.1.0.rbi +0 -128
- data/sorbet/rbi/gems/faraday-httpclient@1.0.1.rbi +0 -123
- data/sorbet/rbi/gems/faraday-multipart@1.2.0.rbi +0 -190
- data/sorbet/rbi/gems/faraday-net_http_persistent@1.2.0.rbi +0 -116
- data/sorbet/rbi/gems/faraday-patron@1.0.0.rbi +0 -119
- data/sorbet/rbi/gems/faraday-rack@1.0.0.rbi +0 -113
- data/sorbet/rbi/gems/faraday-retry@1.0.3.rbi +0 -149
- data/sorbet/rbi/gems/multipart-post@2.4.1.rbi +0 -154
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e9985b9a29061ef219e09bcaf3613f0869442c425ebdef8a9c97cc4f31a40fa6
|
|
4
|
+
data.tar.gz: e1aacc36591d0dfe16fe59d7099a5b06fb4a1e076f8f61c8b8e7cbda0d72c7c7
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c6f28199a64154cd0b91c830090e0b3aede1b8a073ecbd91f855975fca7535c4bad52b516649b4c9df8ccd5d3da96631aad1a26f6a09389728517dcebe79ac3a
|
|
7
|
+
data.tar.gz: 8aa2a756be73f88871b955cb11b8c7c56e750ebed26f570cca95a67b0df58dfff1fd41e04e8d2053bfa9dc70391f46eab36b2f0b6b75074b02662b9505f39bd7
|
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
alchemrest (3.
|
|
4
|
+
alchemrest (3.3.0)
|
|
5
5
|
activerecord (>= 7.2, < 8.1)
|
|
6
6
|
activesupport (>= 7.2, < 8.1)
|
|
7
7
|
circuitbox (~> 2.0.0)
|
|
@@ -88,12 +88,12 @@ GEM
|
|
|
88
88
|
concord (0.1.6)
|
|
89
89
|
adamantium (~> 0.2.0)
|
|
90
90
|
equalizer (~> 0.0.9)
|
|
91
|
-
concurrent-ruby (1.3.
|
|
91
|
+
concurrent-ruby (1.3.7)
|
|
92
92
|
connection_pool (3.0.2)
|
|
93
93
|
crack (1.0.0)
|
|
94
94
|
bigdecimal
|
|
95
95
|
rexml
|
|
96
|
-
crass (1.0.
|
|
96
|
+
crass (1.0.7)
|
|
97
97
|
date (3.4.1)
|
|
98
98
|
diff-lcs (1.6.2)
|
|
99
99
|
drb (2.2.3)
|
|
@@ -101,29 +101,12 @@ GEM
|
|
|
101
101
|
erubi (1.13.1)
|
|
102
102
|
factory_bot (6.5.0)
|
|
103
103
|
activesupport (>= 5.0.0)
|
|
104
|
-
faraday (
|
|
105
|
-
faraday-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
faraday-net_http (~> 1.0)
|
|
111
|
-
faraday-net_http_persistent (~> 1.0)
|
|
112
|
-
faraday-patron (~> 1.0)
|
|
113
|
-
faraday-rack (~> 1.0)
|
|
114
|
-
faraday-retry (~> 1.0)
|
|
115
|
-
ruby2_keywords (>= 0.0.4)
|
|
116
|
-
faraday-em_http (1.0.0)
|
|
117
|
-
faraday-em_synchrony (1.0.1)
|
|
118
|
-
faraday-excon (1.1.0)
|
|
119
|
-
faraday-httpclient (1.0.1)
|
|
120
|
-
faraday-multipart (1.2.0)
|
|
121
|
-
multipart-post (~> 2.0)
|
|
122
|
-
faraday-net_http (1.0.2)
|
|
123
|
-
faraday-net_http_persistent (1.2.0)
|
|
124
|
-
faraday-patron (1.0.0)
|
|
125
|
-
faraday-rack (1.0.0)
|
|
126
|
-
faraday-retry (1.0.3)
|
|
104
|
+
faraday (2.14.3)
|
|
105
|
+
faraday-net_http (>= 2.0, < 3.5)
|
|
106
|
+
json
|
|
107
|
+
logger
|
|
108
|
+
faraday-net_http (3.4.4)
|
|
109
|
+
net-http (~> 0.5)
|
|
127
110
|
hansi (0.2.1)
|
|
128
111
|
hashdiff (1.1.2)
|
|
129
112
|
i18n (1.14.8)
|
|
@@ -137,7 +120,7 @@ GEM
|
|
|
137
120
|
json (2.9.1)
|
|
138
121
|
language_server-protocol (3.17.0.3)
|
|
139
122
|
logger (1.7.0)
|
|
140
|
-
loofah (2.
|
|
123
|
+
loofah (2.25.2)
|
|
141
124
|
crass (~> 1.0.2)
|
|
142
125
|
nokogiri (>= 1.12.0)
|
|
143
126
|
memoizable (0.4.2)
|
|
@@ -164,7 +147,6 @@ GEM
|
|
|
164
147
|
ice_nine (~> 0.11.1)
|
|
165
148
|
procto (~> 0.0.2)
|
|
166
149
|
multi_json (1.15.0)
|
|
167
|
-
multipart-post (2.4.1)
|
|
168
150
|
mustermann (3.0.3)
|
|
169
151
|
ruby2_keywords (~> 0.0.1)
|
|
170
152
|
mustermann-contrib (3.0.3)
|
|
@@ -180,14 +162,16 @@ GEM
|
|
|
180
162
|
mutant-rspec (0.13.4)
|
|
181
163
|
mutant (= 0.13.4)
|
|
182
164
|
rspec-core (>= 3.8.0, < 4.0.0)
|
|
165
|
+
net-http (0.9.1)
|
|
166
|
+
uri (>= 0.11.1)
|
|
183
167
|
netrc (0.11.0)
|
|
184
|
-
nokogiri (1.19.
|
|
168
|
+
nokogiri (1.19.4-aarch64-linux-gnu)
|
|
185
169
|
racc (~> 1.4)
|
|
186
|
-
nokogiri (1.19.
|
|
170
|
+
nokogiri (1.19.4-arm64-darwin)
|
|
187
171
|
racc (~> 1.4)
|
|
188
|
-
nokogiri (1.19.
|
|
172
|
+
nokogiri (1.19.4-x86_64-darwin)
|
|
189
173
|
racc (~> 1.4)
|
|
190
|
-
nokogiri (1.19.
|
|
174
|
+
nokogiri (1.19.4-x86_64-linux-gnu)
|
|
191
175
|
racc (~> 1.4)
|
|
192
176
|
parallel (1.26.3)
|
|
193
177
|
parser (3.3.7.0)
|
|
@@ -219,8 +203,8 @@ GEM
|
|
|
219
203
|
activesupport (>= 5.0.0)
|
|
220
204
|
minitest
|
|
221
205
|
nokogiri (>= 1.6)
|
|
222
|
-
rails-html-sanitizer (1.
|
|
223
|
-
loofah (~> 2.
|
|
206
|
+
rails-html-sanitizer (1.7.1)
|
|
207
|
+
loofah (~> 2.25, >= 2.25.2)
|
|
224
208
|
nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
|
|
225
209
|
railties (8.0.4.1)
|
|
226
210
|
actionpack (= 8.0.4.1)
|
|
@@ -341,7 +325,7 @@ GEM
|
|
|
341
325
|
addressable (>= 2.8.0)
|
|
342
326
|
crack (>= 0.3.2)
|
|
343
327
|
hashdiff (>= 0.4.0, < 2.0.0)
|
|
344
|
-
yard (0.9.
|
|
328
|
+
yard (0.9.44)
|
|
345
329
|
yard-sorbet (0.9.0)
|
|
346
330
|
sorbet-runtime
|
|
347
331
|
yard
|
data/lib/alchemrest/data.rb
CHANGED
|
@@ -5,7 +5,7 @@ module Alchemrest
|
|
|
5
5
|
# we want to create, and block that can extract default parameters from an Alchemrest::Root. When we want to build an
|
|
6
6
|
# instance of the request, call `build_request` and pass in the root as context, with any additional parameters.
|
|
7
7
|
class RequestDefinition
|
|
8
|
-
attr_reader :name
|
|
8
|
+
attr_reader :name, :request_class, :builder_block
|
|
9
9
|
|
|
10
10
|
def initialize(name, request_class, &block)
|
|
11
11
|
@name = name
|
data/lib/alchemrest/version.rb
CHANGED
|
@@ -3,28 +3,44 @@
|
|
|
3
3
|
|
|
4
4
|
require 'active_support/core_ext/enumerable'
|
|
5
5
|
require 'alchemrest'
|
|
6
|
+
require 'prism'
|
|
6
7
|
|
|
7
8
|
module Tapioca
|
|
8
9
|
module Dsl
|
|
9
10
|
module Compilers
|
|
10
11
|
# This compiler generates RBI files for classes that inherit from `Alchemrest::Root`.
|
|
11
12
|
#
|
|
12
|
-
# For example, given the following
|
|
13
|
+
# For example, given the following classes:
|
|
14
|
+
#
|
|
15
|
+
# class UpdateProfile < Alchemrest::Request
|
|
16
|
+
# extend T::Sig
|
|
17
|
+
#
|
|
18
|
+
# sig { params(id: Integer, name: String).void }
|
|
19
|
+
# def initialize(id:, name:)
|
|
20
|
+
# ...
|
|
21
|
+
# end
|
|
22
|
+
#
|
|
23
|
+
# returns Profile
|
|
24
|
+
# end
|
|
13
25
|
#
|
|
14
26
|
# class Root < Alchemrest::Root
|
|
15
|
-
# define_request :
|
|
27
|
+
# define_request :update_profile, UpdateProfile do |request|
|
|
28
|
+
# request.defaults = { id: }
|
|
29
|
+
# end
|
|
16
30
|
# end
|
|
17
31
|
#
|
|
18
32
|
# This compiler will generate an RBI file `root.rbi` with the following content:
|
|
19
33
|
#
|
|
20
|
-
# sig { params(
|
|
21
|
-
# def
|
|
34
|
+
# sig { params(name: ::String, id: ::Integer).returns(::Alchemrest::Result[::Profile]) }
|
|
35
|
+
# def update_profile(name:, id: T.unsafe(nil)); end
|
|
22
36
|
#
|
|
23
37
|
class AlchemrestRoot < Tapioca::Dsl::Compiler
|
|
24
38
|
extend T::Sig
|
|
25
39
|
|
|
26
40
|
ConstantType = type_member { { upper: T.class_of(Alchemrest::Root) } }
|
|
27
41
|
|
|
42
|
+
KEYWORD_PARAM_TYPES = [RBI::KwParam, RBI::KwOptParam, RBI::KwRestParam].freeze
|
|
43
|
+
|
|
28
44
|
sig { override.returns(T::Enumerable[Module]) }
|
|
29
45
|
def self.gather_constants
|
|
30
46
|
descendants_of(Alchemrest::Root)
|
|
@@ -36,7 +52,7 @@ module Tapioca
|
|
|
36
52
|
constant.request_definitions.each do |name, definition|
|
|
37
53
|
rbi.create_method(
|
|
38
54
|
name.to_s,
|
|
39
|
-
parameters:
|
|
55
|
+
parameters: parameters_for(definition),
|
|
40
56
|
return_type: return_type_for(definition),
|
|
41
57
|
)
|
|
42
58
|
end
|
|
@@ -45,6 +61,63 @@ module Tapioca
|
|
|
45
61
|
|
|
46
62
|
private
|
|
47
63
|
|
|
64
|
+
sig { params(definition: Alchemrest::RequestDefinition).returns(T::Array[RBI::TypedParam]) }
|
|
65
|
+
def parameters_for(definition)
|
|
66
|
+
parameters = compile_method_parameters_to_rbi(definition.request_class.instance_method(:initialize))
|
|
67
|
+
|
|
68
|
+
if parameters.all? { |typed_param| KEYWORD_PARAM_TYPES.include?(typed_param.param.class) }
|
|
69
|
+
optional_keys = defaulted_keys_for(definition) || parameters.map { |typed_param| typed_param.param.name }
|
|
70
|
+
with_optional_keys(parameters, optional_keys)
|
|
71
|
+
else
|
|
72
|
+
[create_opt_param('params', type: 'T::Hash[Symbol, T.untyped]', default: '{}')]
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
sig { params(parameters: T::Array[RBI::TypedParam], optional_keys: T::Array[String]).returns(T::Array[RBI::TypedParam]) }
|
|
77
|
+
def with_optional_keys(parameters, optional_keys)
|
|
78
|
+
parameters = parameters.map do |typed_param|
|
|
79
|
+
param = typed_param.param
|
|
80
|
+
|
|
81
|
+
if param.is_a?(RBI::KwParam) && optional_keys.include?(param.name)
|
|
82
|
+
create_kw_opt_param(param.name, type: typed_param.type, default: 'T.unsafe(nil)')
|
|
83
|
+
else
|
|
84
|
+
typed_param
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
required, optional = parameters.partition { |typed_param| typed_param.param.is_a?(RBI::KwParam) }
|
|
89
|
+
required + optional
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
sig { params(definition: Alchemrest::RequestDefinition).returns(T.nilable(T::Array[String])) }
|
|
93
|
+
def defaulted_keys_for(definition)
|
|
94
|
+
if definition.builder_block
|
|
95
|
+
literal_defaults_keys(block_node_for(definition.builder_block))
|
|
96
|
+
else
|
|
97
|
+
[]
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
sig { params(block_node: T.nilable(Prism::Node)).returns(T.nilable(T::Array[String])) }
|
|
102
|
+
def literal_defaults_keys(block_node)
|
|
103
|
+
case block_node
|
|
104
|
+
in { body: { body: [Prism::CallNode[name: :defaults=, arguments: { arguments: [Prism::HashNode[elements:]] }]] } }
|
|
105
|
+
symbol_keys = elements.grep(Prism::AssocNode).map(&:key).grep(Prism::SymbolNode)
|
|
106
|
+
symbol_keys.map(&:unescaped) if symbol_keys.size == elements.size
|
|
107
|
+
else
|
|
108
|
+
nil
|
|
109
|
+
end
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
sig { params(builder_block: Proc).returns(T.nilable(Prism::Node)) }
|
|
113
|
+
def block_node_for(builder_block)
|
|
114
|
+
file, line = builder_block.source_location
|
|
115
|
+
|
|
116
|
+
if file && File.exist?(file)
|
|
117
|
+
Prism.parse_file(file).value.breadth_first_search { |node| node.is_a?(Prism::BlockNode) && node.location.start_line == line }
|
|
118
|
+
end
|
|
119
|
+
end
|
|
120
|
+
|
|
48
121
|
sig { params(definition: Alchemrest::RequestDefinition).returns(String) }
|
|
49
122
|
def return_type_for(definition)
|
|
50
123
|
transform = extract_transform(definition)
|
|
@@ -58,8 +131,7 @@ module Tapioca
|
|
|
58
131
|
|
|
59
132
|
sig { params(definition: Alchemrest::RequestDefinition).returns(T.nilable(Alchemrest::Transforms::Typed)) }
|
|
60
133
|
def extract_transform(definition)
|
|
61
|
-
|
|
62
|
-
returns_modules = request_class.ancestors.grep(Alchemrest::Request::Returns)
|
|
134
|
+
returns_modules = definition.request_class.ancestors.grep(Alchemrest::Request::Returns)
|
|
63
135
|
returns_modules.sole.domain_type.const_get(:TRANSFORM) if returns_modules.one?
|
|
64
136
|
end
|
|
65
137
|
end
|
|
@@ -632,14 +632,17 @@ end
|
|
|
632
632
|
module Concurrent::AtomicNumericCompareAndSetWrapper
|
|
633
633
|
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/numeric_cas_wrapper.rb#10
|
|
634
634
|
def compare_and_set(old_value, new_value); end
|
|
635
|
+
|
|
636
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/numeric_cas_wrapper.rb#10
|
|
637
|
+
def compare_and_swap(old_value, new_value); end
|
|
635
638
|
end
|
|
636
639
|
|
|
637
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/atomic_reference.rb#
|
|
640
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/atomic_reference.rb#133
|
|
638
641
|
class Concurrent::AtomicReference < ::Concurrent::MutexAtomicReference
|
|
639
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/atomic_reference.rb#
|
|
642
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/atomic_reference.rb#136
|
|
640
643
|
def inspect; end
|
|
641
644
|
|
|
642
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/atomic_reference.rb#
|
|
645
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/atomic_reference.rb#136
|
|
643
646
|
def to_s; end
|
|
644
647
|
end
|
|
645
648
|
|
|
@@ -854,7 +857,7 @@ end
|
|
|
854
857
|
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/errors.rb#9
|
|
855
858
|
class Concurrent::CancelledOperationError < ::Concurrent::Error; end
|
|
856
859
|
|
|
857
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/
|
|
860
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/map.rb#7
|
|
858
861
|
module Concurrent::Collection; end
|
|
859
862
|
|
|
860
863
|
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/copy_on_notify_observer_set.rb#12
|
|
@@ -2184,37 +2187,36 @@ class Concurrent::MutexAtomicReference
|
|
|
2184
2187
|
include ::Concurrent::AtomicNumericCompareAndSetWrapper
|
|
2185
2188
|
extend ::Concurrent::Synchronization::SafeInitialization
|
|
2186
2189
|
|
|
2187
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb#
|
|
2190
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb#15
|
|
2188
2191
|
def initialize(value = T.unsafe(nil)); end
|
|
2189
2192
|
|
|
2190
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb#
|
|
2191
|
-
def _compare_and_set(old_value, new_value); end
|
|
2192
|
-
|
|
2193
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/numeric_cas_wrapper.rb#10
|
|
2194
|
-
def compare_and_swap(old_value, new_value); end
|
|
2195
|
-
|
|
2196
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb#23
|
|
2193
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb#22
|
|
2197
2194
|
def get; end
|
|
2198
2195
|
|
|
2199
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb#
|
|
2196
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb#34
|
|
2200
2197
|
def get_and_set(new_value); end
|
|
2201
2198
|
|
|
2202
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb#
|
|
2199
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb#28
|
|
2203
2200
|
def set(new_value); end
|
|
2204
2201
|
|
|
2205
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb#
|
|
2202
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb#34
|
|
2206
2203
|
def swap(new_value); end
|
|
2207
2204
|
|
|
2208
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb#
|
|
2205
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb#22
|
|
2209
2206
|
def value; end
|
|
2210
2207
|
|
|
2211
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb#
|
|
2208
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb#28
|
|
2212
2209
|
def value=(new_value); end
|
|
2213
2210
|
|
|
2214
2211
|
protected
|
|
2215
2212
|
|
|
2216
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb#
|
|
2213
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb#58
|
|
2217
2214
|
def synchronize; end
|
|
2215
|
+
|
|
2216
|
+
private
|
|
2217
|
+
|
|
2218
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb#44
|
|
2219
|
+
def _compare_and_set(old_value, new_value); end
|
|
2218
2220
|
end
|
|
2219
2221
|
|
|
2220
2222
|
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/mutex_count_down_latch.rb#9
|
|
@@ -3336,71 +3338,71 @@ module Concurrent::ReInclude
|
|
|
3336
3338
|
def included(base); end
|
|
3337
3339
|
end
|
|
3338
3340
|
|
|
3339
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb#
|
|
3341
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb#32
|
|
3340
3342
|
class Concurrent::ReadWriteLock < ::Concurrent::Synchronization::Object
|
|
3341
3343
|
extend ::Concurrent::Synchronization::SafeInitialization
|
|
3342
3344
|
|
|
3343
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb#
|
|
3345
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb#60
|
|
3344
3346
|
def initialize; end
|
|
3345
3347
|
|
|
3346
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb#
|
|
3348
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb#113
|
|
3347
3349
|
def acquire_read_lock; end
|
|
3348
3350
|
|
|
3349
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb#
|
|
3351
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb#166
|
|
3350
3352
|
def acquire_write_lock; end
|
|
3351
3353
|
|
|
3352
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb#
|
|
3354
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb#227
|
|
3353
3355
|
def has_waiters?; end
|
|
3354
3356
|
|
|
3355
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb#
|
|
3357
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb#144
|
|
3356
3358
|
def release_read_lock; end
|
|
3357
3359
|
|
|
3358
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb#
|
|
3360
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb#206
|
|
3359
3361
|
def release_write_lock; end
|
|
3360
3362
|
|
|
3361
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb#
|
|
3363
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb#77
|
|
3362
3364
|
def with_read_lock; end
|
|
3363
3365
|
|
|
3364
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb#
|
|
3366
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb#96
|
|
3365
3367
|
def with_write_lock; end
|
|
3366
3368
|
|
|
3367
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb#
|
|
3369
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb#220
|
|
3368
3370
|
def write_locked?; end
|
|
3369
3371
|
|
|
3370
3372
|
private
|
|
3371
3373
|
|
|
3372
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb#
|
|
3374
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb#259
|
|
3373
3375
|
def max_readers?(c = T.unsafe(nil)); end
|
|
3374
3376
|
|
|
3375
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb#
|
|
3377
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb#264
|
|
3376
3378
|
def max_writers?(c = T.unsafe(nil)); end
|
|
3377
3379
|
|
|
3378
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb#
|
|
3380
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb#234
|
|
3379
3381
|
def running_readers(c = T.unsafe(nil)); end
|
|
3380
3382
|
|
|
3381
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb#
|
|
3383
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb#239
|
|
3382
3384
|
def running_readers?(c = T.unsafe(nil)); end
|
|
3383
3385
|
|
|
3384
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb#
|
|
3386
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb#244
|
|
3385
3387
|
def running_writer?(c = T.unsafe(nil)); end
|
|
3386
3388
|
|
|
3387
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb#
|
|
3389
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb#254
|
|
3388
3390
|
def waiting_writer?(c = T.unsafe(nil)); end
|
|
3389
3391
|
|
|
3390
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb#
|
|
3392
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb#249
|
|
3391
3393
|
def waiting_writers(c = T.unsafe(nil)); end
|
|
3392
3394
|
end
|
|
3393
3395
|
|
|
3394
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb#
|
|
3396
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb#41
|
|
3395
3397
|
Concurrent::ReadWriteLock::MAX_READERS = T.let(T.unsafe(nil), Integer)
|
|
3396
3398
|
|
|
3397
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb#
|
|
3399
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb#44
|
|
3398
3400
|
Concurrent::ReadWriteLock::MAX_WRITERS = T.let(T.unsafe(nil), Integer)
|
|
3399
3401
|
|
|
3400
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb#
|
|
3402
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb#38
|
|
3401
3403
|
Concurrent::ReadWriteLock::RUNNING_WRITER = T.let(T.unsafe(nil), Integer)
|
|
3402
3404
|
|
|
3403
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb#
|
|
3405
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb#35
|
|
3404
3406
|
Concurrent::ReadWriteLock::WAITING_WRITER = T.let(T.unsafe(nil), Integer)
|
|
3405
3407
|
|
|
3406
3408
|
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/reentrant_read_write_lock.rb#53
|
|
@@ -3413,19 +3415,19 @@ class Concurrent::ReentrantReadWriteLock < ::Concurrent::Synchronization::Object
|
|
|
3413
3415
|
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/reentrant_read_write_lock.rb#162
|
|
3414
3416
|
def acquire_read_lock; end
|
|
3415
3417
|
|
|
3416
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/reentrant_read_write_lock.rb#
|
|
3418
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/reentrant_read_write_lock.rb#264
|
|
3417
3419
|
def acquire_write_lock; end
|
|
3418
3420
|
|
|
3419
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/reentrant_read_write_lock.rb#
|
|
3421
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/reentrant_read_write_lock.rb#243
|
|
3420
3422
|
def release_read_lock; end
|
|
3421
3423
|
|
|
3422
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/reentrant_read_write_lock.rb#
|
|
3424
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/reentrant_read_write_lock.rb#336
|
|
3423
3425
|
def release_write_lock; end
|
|
3424
3426
|
|
|
3425
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/reentrant_read_write_lock.rb#
|
|
3427
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/reentrant_read_write_lock.rb#220
|
|
3426
3428
|
def try_read_lock; end
|
|
3427
3429
|
|
|
3428
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/reentrant_read_write_lock.rb#
|
|
3430
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/reentrant_read_write_lock.rb#317
|
|
3429
3431
|
def try_write_lock; end
|
|
3430
3432
|
|
|
3431
3433
|
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/reentrant_read_write_lock.rb#126
|
|
@@ -3436,25 +3438,25 @@ class Concurrent::ReentrantReadWriteLock < ::Concurrent::Synchronization::Object
|
|
|
3436
3438
|
|
|
3437
3439
|
private
|
|
3438
3440
|
|
|
3439
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/reentrant_read_write_lock.rb#
|
|
3441
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/reentrant_read_write_lock.rb#377
|
|
3440
3442
|
def max_readers?(c = T.unsafe(nil)); end
|
|
3441
3443
|
|
|
3442
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/reentrant_read_write_lock.rb#
|
|
3444
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/reentrant_read_write_lock.rb#382
|
|
3443
3445
|
def max_writers?(c = T.unsafe(nil)); end
|
|
3444
3446
|
|
|
3445
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/reentrant_read_write_lock.rb#
|
|
3447
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/reentrant_read_write_lock.rb#352
|
|
3446
3448
|
def running_readers(c = T.unsafe(nil)); end
|
|
3447
3449
|
|
|
3448
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/reentrant_read_write_lock.rb#
|
|
3450
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/reentrant_read_write_lock.rb#357
|
|
3449
3451
|
def running_readers?(c = T.unsafe(nil)); end
|
|
3450
3452
|
|
|
3451
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/reentrant_read_write_lock.rb#
|
|
3453
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/reentrant_read_write_lock.rb#362
|
|
3452
3454
|
def running_writer?(c = T.unsafe(nil)); end
|
|
3453
3455
|
|
|
3454
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/reentrant_read_write_lock.rb#
|
|
3456
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/reentrant_read_write_lock.rb#372
|
|
3455
3457
|
def waiting_or_running_writer?(c = T.unsafe(nil)); end
|
|
3456
3458
|
|
|
3457
|
-
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/reentrant_read_write_lock.rb#
|
|
3459
|
+
# source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/reentrant_read_write_lock.rb#367
|
|
3458
3460
|
def waiting_writers(c = T.unsafe(nil)); end
|
|
3459
3461
|
end
|
|
3460
3462
|
|