geet 0.22.0 → 0.23.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 (65) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +20 -0
  3. data/bin/tapioca +1 -14
  4. data/geet.gemspec +5 -3
  5. data/lib/geet/helpers/os_helper.rb +8 -1
  6. data/lib/geet/version.rb +1 -1
  7. data/sorbet/config +5 -0
  8. data/sorbet/rbi/annotations/.gitattributes +1 -0
  9. data/sorbet/rbi/annotations/rainbow.rbi +269 -0
  10. data/sorbet/rbi/annotations/webmock.rbi +9 -0
  11. data/sorbet/rbi/gems/.gitattributes +1 -0
  12. data/sorbet/rbi/gems/addressable@2.8.7.rbi +1994 -0
  13. data/sorbet/rbi/gems/ast@2.4.2.rbi +585 -0
  14. data/sorbet/rbi/gems/base64@0.3.0.rbi +545 -0
  15. data/sorbet/rbi/gems/benchmark@0.5.0.rbi +637 -0
  16. data/sorbet/rbi/gems/bigdecimal@3.1.8.rbi +9 -0
  17. data/sorbet/rbi/gems/byebug@11.1.3.rbi +37 -0
  18. data/sorbet/rbi/gems/crack@1.0.0.rbi +145 -0
  19. data/sorbet/rbi/gems/diff-lcs@1.6.2.rbi +1134 -0
  20. data/sorbet/rbi/gems/erubi@1.13.1.rbi +155 -0
  21. data/sorbet/rbi/gems/hashdiff@1.1.1.rbi +353 -0
  22. data/sorbet/rbi/gems/json@2.7.2.rbi +1608 -0
  23. data/sorbet/rbi/gems/logger@1.7.0.rbi +963 -0
  24. data/sorbet/rbi/gems/netrc@0.11.0.rbi +159 -0
  25. data/sorbet/rbi/gems/ostruct@0.6.3.rbi +354 -0
  26. data/sorbet/rbi/gems/parallel@1.27.0.rbi +291 -0
  27. data/sorbet/rbi/gems/parseconfig@1.1.2.rbi +9 -0
  28. data/sorbet/rbi/gems/parser@3.3.9.0.rbi +5535 -0
  29. data/sorbet/rbi/gems/pastel@0.8.0.rbi +9 -0
  30. data/sorbet/rbi/gems/prism@1.6.0.rbi +42068 -0
  31. data/sorbet/rbi/gems/public_suffix@6.0.1.rbi +936 -0
  32. data/sorbet/rbi/gems/racc@1.8.1.rbi +154 -0
  33. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +9 -0
  34. data/sorbet/rbi/gems/rake@12.3.3.rbi +3020 -0
  35. data/sorbet/rbi/gems/rbi@0.3.7.rbi +7115 -0
  36. data/sorbet/rbi/gems/rbs@3.9.5.rbi +6978 -0
  37. data/sorbet/rbi/gems/regexp_parser@2.11.2.rbi +9 -0
  38. data/sorbet/rbi/gems/rexml@3.3.5.rbi +5283 -0
  39. data/sorbet/rbi/gems/rspec-core@3.13.6.rbi +11004 -0
  40. data/sorbet/rbi/gems/rspec-expectations@3.13.5.rbi +8189 -0
  41. data/sorbet/rbi/gems/rspec-mocks@3.13.6.rbi +5350 -0
  42. data/sorbet/rbi/gems/rspec-support@3.13.6.rbi +1627 -0
  43. data/sorbet/rbi/gems/rspec@3.13.2.rbi +83 -0
  44. data/sorbet/rbi/gems/rubocop-ast@1.46.0.rbi +9 -0
  45. data/sorbet/rbi/gems/rubocop@1.35.1.rbi +9 -0
  46. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +9 -0
  47. data/sorbet/rbi/gems/simple_scripting@0.14.0.rbi +9 -0
  48. data/sorbet/rbi/gems/spoom@1.6.3.rbi +6985 -0
  49. data/sorbet/rbi/gems/strscan@3.1.0.rbi +9 -0
  50. data/sorbet/rbi/gems/tapioca@0.16.11.rbi +3628 -0
  51. data/sorbet/rbi/gems/thor@1.4.0.rbi +4399 -0
  52. data/sorbet/rbi/gems/tty-color@0.6.0.rbi +9 -0
  53. data/sorbet/rbi/gems/tty-cursor@0.7.1.rbi +9 -0
  54. data/sorbet/rbi/gems/tty-prompt@0.23.1.rbi +9 -0
  55. data/sorbet/rbi/gems/tty-reader@0.9.0.rbi +9 -0
  56. data/sorbet/rbi/gems/tty-screen@0.8.2.rbi +9 -0
  57. data/sorbet/rbi/gems/unicode-display_width@2.5.0.rbi +9 -0
  58. data/sorbet/rbi/gems/vcr@6.1.0.rbi +2830 -0
  59. data/sorbet/rbi/gems/webmock@3.1.1.rbi +1660 -0
  60. data/sorbet/rbi/gems/wisper@2.0.1.rbi +9 -0
  61. data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +435 -0
  62. data/sorbet/rbi/gems/yard@0.9.37.rbi +18379 -0
  63. data/sorbet/tapioca/config.yml +13 -0
  64. data/sorbet/tapioca/require.rb +4 -0
  65. metadata +92 -8
@@ -0,0 +1,159 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `netrc` gem.
5
+ # Please instead update this file by running `bin/tapioca gem netrc`.
6
+
7
+
8
+ # source://netrc//lib/netrc.rb#3
9
+ class Netrc
10
+ # @return [Netrc] a new instance of Netrc
11
+ #
12
+ # source://netrc//lib/netrc.rb#166
13
+ def initialize(path, data); end
14
+
15
+ # source://netrc//lib/netrc.rb#180
16
+ def [](k); end
17
+
18
+ # source://netrc//lib/netrc.rb#188
19
+ def []=(k, info); end
20
+
21
+ # source://netrc//lib/netrc.rb#200
22
+ def delete(key); end
23
+
24
+ # source://netrc//lib/netrc.rb#211
25
+ def each(&block); end
26
+
27
+ # source://netrc//lib/netrc.rb#196
28
+ def length; end
29
+
30
+ # source://netrc//lib/netrc.rb#215
31
+ def new_item(m, l, p); end
32
+
33
+ # Returns the value of attribute new_item_prefix.
34
+ #
35
+ # source://netrc//lib/netrc.rb#178
36
+ def new_item_prefix; end
37
+
38
+ # Sets the attribute new_item_prefix
39
+ #
40
+ # @param value the value to set the attribute new_item_prefix to.
41
+ #
42
+ # source://netrc//lib/netrc.rb#178
43
+ def new_item_prefix=(_arg0); end
44
+
45
+ # source://netrc//lib/netrc.rb#219
46
+ def save; end
47
+
48
+ # source://netrc//lib/netrc.rb#233
49
+ def unparse; end
50
+
51
+ class << self
52
+ # source://netrc//lib/netrc.rb#42
53
+ def check_permissions(path); end
54
+
55
+ # source://netrc//lib/netrc.rb#33
56
+ def config; end
57
+
58
+ # @yield [self.config]
59
+ #
60
+ # source://netrc//lib/netrc.rb#37
61
+ def configure; end
62
+
63
+ # source://netrc//lib/netrc.rb#10
64
+ def default_path; end
65
+
66
+ # source://netrc//lib/netrc.rb#14
67
+ def home_path; end
68
+
69
+ # source://netrc//lib/netrc.rb#85
70
+ def lex(lines); end
71
+
72
+ # source://netrc//lib/netrc.rb#29
73
+ def netrc_filename; end
74
+
75
+ # Returns two values, a header and a list of items.
76
+ # Each item is a tuple, containing some or all of:
77
+ # - machine keyword (including trailing whitespace+comments)
78
+ # - machine name
79
+ # - login keyword (including surrounding whitespace+comments)
80
+ # - login
81
+ # - password keyword (including surrounding whitespace+comments)
82
+ # - password
83
+ # - trailing chars
84
+ # This lets us change individual fields, then write out the file
85
+ # with all its original formatting.
86
+ #
87
+ # source://netrc//lib/netrc.rb#129
88
+ def parse(ts); end
89
+
90
+ # Reads path and parses it as a .netrc file. If path doesn't
91
+ # exist, returns an empty object. Decrypt paths ending in .gpg.
92
+ #
93
+ # source://netrc//lib/netrc.rb#51
94
+ def read(path = T.unsafe(nil)); end
95
+
96
+ # @return [Boolean]
97
+ #
98
+ # source://netrc//lib/netrc.rb#112
99
+ def skip?(s); end
100
+ end
101
+ end
102
+
103
+ # source://netrc//lib/netrc.rb#8
104
+ Netrc::CYGWIN = T.let(T.unsafe(nil), T.untyped)
105
+
106
+ # source://netrc//lib/netrc.rb#244
107
+ class Netrc::Entry < ::Struct
108
+ # Returns the value of attribute login
109
+ #
110
+ # @return [Object] the current value of login
111
+ def login; end
112
+
113
+ # Sets the attribute login
114
+ #
115
+ # @param value [Object] the value to set the attribute login to.
116
+ # @return [Object] the newly set value
117
+ def login=(_); end
118
+
119
+ # Returns the value of attribute password
120
+ #
121
+ # @return [Object] the current value of password
122
+ def password; end
123
+
124
+ # Sets the attribute password
125
+ #
126
+ # @param value [Object] the value to set the attribute password to.
127
+ # @return [Object] the newly set value
128
+ def password=(_); end
129
+
130
+ def to_ary; end
131
+
132
+ class << self
133
+ def [](*_arg0); end
134
+ def inspect; end
135
+ def keyword_init?; end
136
+ def members; end
137
+ def new(*_arg0); end
138
+ end
139
+ end
140
+
141
+ # source://netrc//lib/netrc.rb#250
142
+ class Netrc::Error < ::StandardError; end
143
+
144
+ # source://netrc//lib/netrc.rb#68
145
+ class Netrc::TokenArray < ::Array
146
+ # source://netrc//lib/netrc.rb#76
147
+ def readto; end
148
+
149
+ # source://netrc//lib/netrc.rb#69
150
+ def take; end
151
+ end
152
+
153
+ # source://netrc//lib/netrc.rb#4
154
+ Netrc::VERSION = T.let(T.unsafe(nil), String)
155
+
156
+ # see http://stackoverflow.com/questions/4871309/what-is-the-correct-way-to-detect-if-ruby-is-running-on-windows
157
+ #
158
+ # source://netrc//lib/netrc.rb#7
159
+ Netrc::WINDOWS = T.let(T.unsafe(nil), T.untyped)
@@ -0,0 +1,354 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `ostruct` gem.
5
+ # Please instead update this file by running `bin/tapioca gem ostruct`.
6
+
7
+
8
+ # An OpenStruct is a data structure, similar to a Hash, that allows the
9
+ # definition of arbitrary attributes with their accompanying values. This is
10
+ # accomplished by using Ruby's metaprogramming to define methods on the class
11
+ # itself.
12
+ #
13
+ # == Examples
14
+ #
15
+ # require "ostruct"
16
+ #
17
+ # person = OpenStruct.new
18
+ # person.name = "John Smith"
19
+ # person.age = 70
20
+ #
21
+ # person.name # => "John Smith"
22
+ # person.age # => 70
23
+ # person.address # => nil
24
+ #
25
+ # An OpenStruct employs a Hash internally to store the attributes and values
26
+ # and can even be initialized with one:
27
+ #
28
+ # australia = OpenStruct.new(:country => "Australia", :capital => "Canberra")
29
+ # # => #<OpenStruct country="Australia", capital="Canberra">
30
+ #
31
+ # Hash keys with spaces or characters that could normally not be used for
32
+ # method calls (e.g. <code>()[]*</code>) will not be immediately available
33
+ # on the OpenStruct object as a method for retrieval or assignment, but can
34
+ # still be reached through the Object#send method or using [].
35
+ #
36
+ # measurements = OpenStruct.new("length (in inches)" => 24)
37
+ # measurements[:"length (in inches)"] # => 24
38
+ # measurements.send("length (in inches)") # => 24
39
+ #
40
+ # message = OpenStruct.new(:queued? => true)
41
+ # message.queued? # => true
42
+ # message.send("queued?=", false)
43
+ # message.queued? # => false
44
+ #
45
+ # Removing the presence of an attribute requires the execution of the
46
+ # delete_field method as setting the property value to +nil+ will not
47
+ # remove the attribute.
48
+ #
49
+ # first_pet = OpenStruct.new(:name => "Rowdy", :owner => "John Smith")
50
+ # second_pet = OpenStruct.new(:name => "Rowdy")
51
+ #
52
+ # first_pet.owner = nil
53
+ # first_pet # => #<OpenStruct name="Rowdy", owner=nil>
54
+ # first_pet == second_pet # => false
55
+ #
56
+ # first_pet.delete_field(:owner)
57
+ # first_pet # => #<OpenStruct name="Rowdy">
58
+ # first_pet == second_pet # => true
59
+ #
60
+ # Ractor compatibility: A frozen OpenStruct with shareable values is itself shareable.
61
+ #
62
+ # == Caveats
63
+ #
64
+ # An OpenStruct utilizes Ruby's method lookup structure to find and define the
65
+ # necessary methods for properties. This is accomplished through the methods
66
+ # method_missing and define_singleton_method.
67
+ #
68
+ # This should be a consideration if there is a concern about the performance of
69
+ # the objects that are created, as there is much more overhead in the setting
70
+ # of these properties compared to using a Hash or a Struct.
71
+ # Creating an open struct from a small Hash and accessing a few of the
72
+ # entries can be 200 times slower than accessing the hash directly.
73
+ #
74
+ # This is a potential security issue; building OpenStruct from untrusted user data
75
+ # (e.g. JSON web request) may be susceptible to a "symbol denial of service" attack
76
+ # since the keys create methods and names of methods are never garbage collected.
77
+ #
78
+ # This may also be the source of incompatibilities between Ruby versions:
79
+ #
80
+ # o = OpenStruct.new
81
+ # o.then # => nil in Ruby < 2.6, enumerator for Ruby >= 2.6
82
+ #
83
+ # Builtin methods may be overwritten this way, which may be a source of bugs
84
+ # or security issues:
85
+ #
86
+ # o = OpenStruct.new
87
+ # o.methods # => [:to_h, :marshal_load, :marshal_dump, :each_pair, ...
88
+ # o.methods = [:foo, :bar]
89
+ # o.methods # => [:foo, :bar]
90
+ #
91
+ # To help remedy clashes, OpenStruct uses only protected/private methods ending with <code>!</code>
92
+ # and defines aliases for builtin public methods by adding a <code>!</code>:
93
+ #
94
+ # o = OpenStruct.new(make: 'Bentley', class: :luxury)
95
+ # o.class # => :luxury
96
+ # o.class! # => OpenStruct
97
+ #
98
+ # It is recommended (but not enforced) to not use fields ending in <code>!</code>;
99
+ # Note that a subclass' methods may not be overwritten, nor can OpenStruct's own methods
100
+ # ending with <code>!</code>.
101
+ #
102
+ # For all these reasons, consider not using OpenStruct at all.
103
+ #
104
+ # source://ostruct//lib/ostruct.rb#109
105
+ class OpenStruct
106
+ # Creates a new OpenStruct object. By default, the resulting OpenStruct
107
+ # object will have no attributes.
108
+ #
109
+ # The optional +hash+, if given, will generate attributes and values
110
+ # (can be a Hash, an OpenStruct or a Struct).
111
+ # For example:
112
+ #
113
+ # require "ostruct"
114
+ # hash = { "country" => "Australia", :capital => "Canberra" }
115
+ # data = OpenStruct.new(hash)
116
+ #
117
+ # data # => #<OpenStruct country="Australia", capital="Canberra">
118
+ #
119
+ # @return [OpenStruct] a new instance of OpenStruct
120
+ #
121
+ # source://ostruct//lib/ostruct.rb#134
122
+ def initialize(hash = T.unsafe(nil)); end
123
+
124
+ # Compares this object and +other+ for equality. An OpenStruct is equal to
125
+ # +other+ when +other+ is an OpenStruct and the two objects' Hash tables are
126
+ # equal.
127
+ #
128
+ # require "ostruct"
129
+ # first_pet = OpenStruct.new("name" => "Rowdy")
130
+ # second_pet = OpenStruct.new(:name => "Rowdy")
131
+ # third_pet = OpenStruct.new("name" => "Rowdy", :age => nil)
132
+ #
133
+ # first_pet == second_pet # => true
134
+ # first_pet == third_pet # => false
135
+ #
136
+ # source://ostruct//lib/ostruct.rb#426
137
+ def ==(other); end
138
+
139
+ # :call-seq:
140
+ # ostruct[name] -> object
141
+ #
142
+ # Returns the value of an attribute, or +nil+ if there is no such attribute.
143
+ #
144
+ # require "ostruct"
145
+ # person = OpenStruct.new("name" => "John Smith", "age" => 70)
146
+ # person[:age] # => 70, same as person.age
147
+ #
148
+ # source://ostruct//lib/ostruct.rb#306
149
+ def [](name); end
150
+
151
+ # :call-seq:
152
+ # ostruct[name] = obj -> obj
153
+ #
154
+ # Sets the value of an attribute.
155
+ #
156
+ # require "ostruct"
157
+ # person = OpenStruct.new("name" => "John Smith", "age" => 70)
158
+ # person[:age] = 42 # equivalent to person.age = 42
159
+ # person.age # => 42
160
+ #
161
+ # source://ostruct//lib/ostruct.rb#321
162
+ def []=(name, value); end
163
+
164
+ # Removes the named field from the object and returns the value the field
165
+ # contained if it was defined. You may optionally provide a block.
166
+ # If the field is not defined, the result of the block is returned,
167
+ # or a NameError is raised if no block was given.
168
+ #
169
+ # require "ostruct"
170
+ #
171
+ # person = OpenStruct.new(name: "John", age: 70, pension: 300)
172
+ #
173
+ # person.delete_field!("age") # => 70
174
+ # person # => #<OpenStruct name="John", pension=300>
175
+ #
176
+ # Setting the value to +nil+ will not remove the attribute:
177
+ #
178
+ # person.pension = nil
179
+ # person # => #<OpenStruct name="John", pension=nil>
180
+ #
181
+ # person.delete_field('number') # => NameError
182
+ #
183
+ # person.delete_field('number') { 8675_309 } # => 8675309
184
+ #
185
+ # source://ostruct//lib/ostruct.rb#374
186
+ def delete_field(name, &block); end
187
+
188
+ # source://ostruct//lib/ostruct.rb#374
189
+ def delete_field!(name, &block); end
190
+
191
+ # :call-seq:
192
+ # ostruct.dig(name, *identifiers) -> object
193
+ #
194
+ # Finds and returns the object in nested objects
195
+ # that is specified by +name+ and +identifiers+.
196
+ # The nested objects may be instances of various classes.
197
+ # See {Dig Methods}[rdoc-ref:dig_methods.rdoc].
198
+ #
199
+ # Examples:
200
+ # require "ostruct"
201
+ # address = OpenStruct.new("city" => "Anytown NC", "zip" => 12345)
202
+ # person = OpenStruct.new("name" => "John Smith", "address" => address)
203
+ # person.dig(:address, "zip") # => 12345
204
+ # person.dig(:business_address, "zip") # => nil
205
+ #
206
+ # source://ostruct//lib/ostruct.rb#343
207
+ def dig(name, *names); end
208
+
209
+ # source://ostruct//lib/ostruct.rb#343
210
+ def dig!(name, *names); end
211
+
212
+ # :call-seq:
213
+ # ostruct.each_pair {|name, value| block } -> ostruct
214
+ # ostruct.each_pair -> Enumerator
215
+ #
216
+ # Yields all attributes (as symbols) along with the corresponding values
217
+ # or returns an enumerator if no block is given.
218
+ #
219
+ # require "ostruct"
220
+ # data = OpenStruct.new("country" => "Australia", :capital => "Canberra")
221
+ # data.each_pair.to_a # => [[:country, "Australia"], [:capital, "Canberra"]]
222
+ #
223
+ # source://ostruct//lib/ostruct.rb#211
224
+ def each_pair; end
225
+
226
+ # source://ostruct//lib/ostruct.rb#211
227
+ def each_pair!; end
228
+
229
+ # Provides marshalling support for use by the YAML library.
230
+ #
231
+ # source://ostruct//lib/ostruct.rb#449
232
+ def encode_with(coder); end
233
+
234
+ # source://ostruct//lib/ostruct.rb#449
235
+ def encode_with!(coder); end
236
+
237
+ # Compares this object and +other+ for equality. An OpenStruct is eql? to
238
+ # +other+ when +other+ is an OpenStruct and the two objects' Hash tables are
239
+ # eql?.
240
+ #
241
+ # @return [Boolean]
242
+ #
243
+ # source://ostruct//lib/ostruct.rb#436
244
+ def eql?(other); end
245
+
246
+ # source://ostruct//lib/ostruct.rb#272
247
+ def freeze; end
248
+
249
+ # source://ostruct//lib/ostruct.rb#272
250
+ def freeze!; end
251
+
252
+ # Computes a hash code for this OpenStruct.
253
+ #
254
+ # source://ostruct//lib/ostruct.rb#442
255
+ def hash; end
256
+
257
+ # source://ostruct//lib/ostruct.rb#442
258
+ def hash!; end
259
+
260
+ # Provides marshalling support for use by the YAML library.
261
+ #
262
+ # source://ostruct//lib/ostruct.rb#462
263
+ def init_with(coder); end
264
+
265
+ # source://ostruct//lib/ostruct.rb#462
266
+ def init_with!(coder); end
267
+
268
+ # Returns a string containing a detailed summary of the keys and values.
269
+ #
270
+ # source://ostruct//lib/ostruct.rb#391
271
+ def inspect; end
272
+
273
+ # source://ostruct//lib/ostruct.rb#391
274
+ def inspect!; end
275
+
276
+ # Provides marshalling support for use by the Marshal library.
277
+ #
278
+ # source://ostruct//lib/ostruct.rb#220
279
+ def marshal_dump; end
280
+
281
+ # source://ostruct//lib/ostruct.rb#220
282
+ def marshal_dump!; end
283
+
284
+ # source://ostruct//lib/ostruct.rb#409
285
+ def table; end
286
+
287
+ # source://ostruct//lib/ostruct.rb#182
288
+ def to_h(&block); end
289
+
290
+ # source://ostruct//lib/ostruct.rb#182
291
+ def to_h!(&block); end
292
+
293
+ # Returns a string containing a detailed summary of the keys and values.
294
+ #
295
+ # source://ostruct//lib/ostruct.rb#391
296
+ def to_s; end
297
+
298
+ # source://ostruct//lib/ostruct.rb#391
299
+ def to_s!; end
300
+
301
+ protected
302
+
303
+ # source://ostruct//lib/ostruct.rb#409
304
+ def table!; end
305
+
306
+ private
307
+
308
+ # source://ostruct//lib/ostruct.rb#147
309
+ def initialize_clone(orig); end
310
+
311
+ # source://ostruct//lib/ostruct.rb#152
312
+ def initialize_dup(orig); end
313
+
314
+ # source://ostruct//lib/ostruct.rb#254
315
+ def is_method_protected!(name); end
316
+
317
+ #
318
+ # Provides marshalling support for use by the Marshal library.
319
+ #
320
+ # source://ostruct//lib/ostruct.rb#157
321
+ def marshal_load(hash); end
322
+
323
+ # source://ostruct//lib/ostruct.rb#277
324
+ def method_missing(mid, *args); end
325
+
326
+ # Used internally to defined properties on the
327
+ # OpenStruct. It does this by using the metaprogramming function
328
+ # define_singleton_method for both the getter method and the setter method.
329
+ #
330
+ # source://ostruct//lib/ostruct.rb#234
331
+ def new_ostruct_member!(name); end
332
+
333
+ # :call-seq:
334
+ # ostruct[name] = obj -> obj
335
+ #
336
+ # Sets the value of an attribute.
337
+ #
338
+ # require "ostruct"
339
+ # person = OpenStruct.new("name" => "John Smith", "age" => 70)
340
+ # person[:age] = 42 # equivalent to person.age = 42
341
+ # person.age # => 42
342
+ #
343
+ # source://ostruct//lib/ostruct.rb#321
344
+ def set_ostruct_member_value!(name, value); end
345
+
346
+ # source://ostruct//lib/ostruct.rb#157
347
+ def update_to_values!(hash); end
348
+ end
349
+
350
+ # source://ostruct//lib/ostruct.rb#112
351
+ OpenStruct::HAS_PERFORMANCE_WARNINGS = T.let(T.unsafe(nil), TrueClass)
352
+
353
+ # source://ostruct//lib/ostruct.rb#110
354
+ OpenStruct::VERSION = T.let(T.unsafe(nil), String)