titleist 0.1.1 → 1.0.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 (109) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/tests.yml +19 -0
  3. data/.gitignore +1 -2
  4. data/.rubocop.yml +26 -1
  5. data/.ruby-version +1 -1
  6. data/Gemfile +13 -2
  7. data/README.md +95 -25
  8. data/Rakefile +17 -6
  9. data/docs/index.md +7 -0
  10. data/lib/generators/titleist/titleist_generator.rb +3 -0
  11. data/lib/titleist.rb +14 -9
  12. data/lib/titleist/controller.rb +36 -0
  13. data/lib/titleist/engine.rb +10 -4
  14. data/lib/titleist/helper.rb +23 -0
  15. data/lib/titleist/title.rb +52 -89
  16. data/lib/titleist/version.rb +5 -1
  17. data/rbi/sord.rbi +117 -0
  18. data/sorbet/config +2 -0
  19. data/sorbet/rbi/gems/actioncable.rbi +318 -0
  20. data/sorbet/rbi/gems/actionmailbox.rbi +56 -0
  21. data/sorbet/rbi/gems/actionmailer.rbi +446 -0
  22. data/sorbet/rbi/gems/actionpack.rbi +3411 -0
  23. data/sorbet/rbi/gems/actiontext.rbi +79 -0
  24. data/sorbet/rbi/gems/actionview.rbi +1185 -0
  25. data/sorbet/rbi/gems/activejob.rbi +362 -0
  26. data/sorbet/rbi/gems/activemodel.rbi +749 -0
  27. data/sorbet/rbi/gems/activerecord.rbi +5713 -0
  28. data/sorbet/rbi/gems/activestorage.rbi +221 -0
  29. data/sorbet/rbi/gems/activesupport.rbi +2437 -0
  30. data/sorbet/rbi/gems/addressable.rbi +146 -0
  31. data/sorbet/rbi/gems/ast.rbi +47 -0
  32. data/sorbet/rbi/gems/capybara.rbi +1787 -0
  33. data/sorbet/rbi/gems/childprocess.rbi +106 -0
  34. data/sorbet/rbi/gems/codeclimate-test-reporter.rbi +125 -0
  35. data/sorbet/rbi/gems/concurrent-ruby.rbi +1587 -0
  36. data/sorbet/rbi/gems/crass.rbi +92 -0
  37. data/sorbet/rbi/gems/docile.rbi +29 -0
  38. data/sorbet/rbi/gems/erubi.rbi +26 -0
  39. data/sorbet/rbi/gems/globalid.rbi +98 -0
  40. data/sorbet/rbi/gems/i18n.rbi +191 -0
  41. data/sorbet/rbi/gems/jaro_winkler.rbi +14 -0
  42. data/sorbet/rbi/gems/loofah.rbi +129 -0
  43. data/sorbet/rbi/gems/mail.rbi +1582 -0
  44. data/sorbet/rbi/gems/marcel.rbi +12 -0
  45. data/sorbet/rbi/gems/method_source.rbi +63 -0
  46. data/sorbet/rbi/gems/mini_mime.rbi +51 -0
  47. data/sorbet/rbi/gems/minitest.rbi +419 -0
  48. data/sorbet/rbi/gems/mocha.rbi +794 -0
  49. data/sorbet/rbi/gems/nio4r.rbi +67 -0
  50. data/sorbet/rbi/gems/nokogiri.rbi +1010 -0
  51. data/sorbet/rbi/gems/parallel.rbi +81 -0
  52. data/sorbet/rbi/gems/parser.rbi +920 -0
  53. data/sorbet/rbi/gems/public_suffix.rbi +103 -0
  54. data/sorbet/rbi/gems/puma.rbi +586 -0
  55. data/sorbet/rbi/gems/rack-test.rbi +161 -0
  56. data/sorbet/rbi/gems/rack.rbi +634 -0
  57. data/sorbet/rbi/gems/rails-dom-testing.rbi +67 -0
  58. data/sorbet/rbi/gems/rails-html-sanitizer.rbi +91 -0
  59. data/sorbet/rbi/gems/railties.rbi +834 -0
  60. data/sorbet/rbi/gems/rainbow.rbi +117 -0
  61. data/sorbet/rbi/gems/rake.rbi +269 -0
  62. data/sorbet/rbi/gems/regexp_parser.rbi +912 -0
  63. data/sorbet/rbi/gems/rubocop.rbi +7232 -0
  64. data/sorbet/rbi/gems/ruby-progressbar.rbi +304 -0
  65. data/sorbet/rbi/gems/rubyzip.rbi +546 -0
  66. data/sorbet/rbi/gems/selenium-webdriver.rbi +1450 -0
  67. data/sorbet/rbi/gems/simplecov-html.rbi +30 -0
  68. data/sorbet/rbi/gems/simplecov.rbi +189 -0
  69. data/sorbet/rbi/gems/site_ruby.rbi +265 -0
  70. data/sorbet/rbi/gems/sprockets-rails.rbi +105 -0
  71. data/sorbet/rbi/gems/sprockets.rbi +753 -0
  72. data/sorbet/rbi/gems/sqlite3.rbi +353 -0
  73. data/sorbet/rbi/gems/thor.rbi +579 -0
  74. data/sorbet/rbi/gems/thread_safe.rbi +81 -0
  75. data/sorbet/rbi/gems/tzinfo.rbi +405 -0
  76. data/sorbet/rbi/gems/unicode-display_width.rbi +16 -0
  77. data/sorbet/rbi/gems/webdrivers.rbi +155 -0
  78. data/sorbet/rbi/gems/xpath.rbi +158 -0
  79. data/sorbet/rbi/gems/yard.rbi +1159 -0
  80. data/sorbet/rbi/hidden-definitions/errors.txt +14957 -0
  81. data/sorbet/rbi/hidden-definitions/hidden.rbi +24898 -0
  82. data/sorbet/rbi/sorbet-typed/lib/actionmailer/all/actionmailer.rbi +13 -0
  83. data/sorbet/rbi/sorbet-typed/lib/actionpack/all/actionpack.rbi +938 -0
  84. data/sorbet/rbi/sorbet-typed/lib/actionview/all/actionview.rbi +314 -0
  85. data/sorbet/rbi/sorbet-typed/lib/activemodel/all/activemodel.rbi +425 -0
  86. data/sorbet/rbi/sorbet-typed/lib/activerecord/>=5.2/activerecord.rbi +17 -0
  87. data/sorbet/rbi/sorbet-typed/lib/activerecord/all/activerecord.rbi +1425 -0
  88. data/sorbet/rbi/sorbet-typed/lib/activerecord/~>6.0.0/activerecord.rbi +475 -0
  89. data/sorbet/rbi/sorbet-typed/lib/activestorage/>=6.0.0/activestorage.rbi +19 -0
  90. data/sorbet/rbi/sorbet-typed/lib/activestorage/all/activestorage.rbi +173 -0
  91. data/sorbet/rbi/sorbet-typed/lib/activesupport/>=6.0.0.rc1/activesupport.rbi +23 -0
  92. data/sorbet/rbi/sorbet-typed/lib/activesupport/all/activesupport.rbi +858 -0
  93. data/sorbet/rbi/sorbet-typed/lib/bundler/all/bundler.rbi +8684 -0
  94. data/sorbet/rbi/sorbet-typed/lib/minitest/all/minitest.rbi +108 -0
  95. data/sorbet/rbi/sorbet-typed/lib/railties/all/railties.rbi +25 -0
  96. data/sorbet/rbi/sorbet-typed/lib/rainbow/all/rainbow.rbi +254 -0
  97. data/sorbet/rbi/sorbet-typed/lib/ruby/all/gem.rbi +4222 -0
  98. data/sorbet/rbi/sorbet-typed/lib/ruby/all/open3.rbi +111 -0
  99. data/sorbet/rbi/sorbet-typed/lib/ruby/all/resolv.rbi +543 -0
  100. data/sorbet/rbi/todo.rbi +20 -0
  101. data/titleist.gemspec +3 -14
  102. metadata +96 -155
  103. data/.travis.yml +0 -45
  104. data/app/controllers/.keep +0 -0
  105. data/app/helpers/.keep +0 -0
  106. data/app/helpers/titleist_helper.rb +0 -47
  107. data/app/mailers/.keep +0 -0
  108. data/app/models/.keep +0 -0
  109. data/app/views/.keep +0 -0
@@ -0,0 +1,111 @@
1
+ # This file is autogenerated. Do not edit it by hand. Regenerate it with:
2
+ # srb rbi sorbet-typed
3
+ #
4
+ # If you would like to make changes to this file, great! Please upstream any changes you make here:
5
+ #
6
+ # https://github.com/sorbet/sorbet-typed/edit/master/lib/ruby/all/open3.rbi
7
+ #
8
+ # typed: strong
9
+
10
+ module Open3
11
+ sig do
12
+ params(
13
+ cmd: T.any(String, T::Array[String]),
14
+ opts: T.untyped,
15
+ block: T.nilable(T.proc.params(stdin: IO, stdout: IO, stderr: IO, wait_thr: Process::Waiter).void)
16
+ ).returns([IO, IO, IO, Process::Waiter])
17
+ end
18
+ def self.popen3(*cmd, **opts, &block); end
19
+
20
+ sig do
21
+ params(
22
+ cmd: T.any(String, T::Array[String]),
23
+ opts: T.untyped,
24
+ block: T.nilable(T.proc.params(stdin: IO, stdout: IO, wait_thr: Process::Waiter).void)
25
+ ).returns([IO, IO, Process::Waiter])
26
+ end
27
+ def self.popen2(*cmd, **opts, &block); end
28
+
29
+ sig do
30
+ params(
31
+ cmd: T.any(String, T::Array[String]),
32
+ opts: T.untyped,
33
+ block: T.nilable(T.proc.params(stdin: IO, stdout_and_stderr: IO, wait_thr: Process::Waiter).void)
34
+ ).returns([IO, IO, Process::Waiter])
35
+ end
36
+ def self.popen2e(*cmd, **opts, &block); end
37
+
38
+ sig do
39
+ params(
40
+ cmd: T.any(String, T::Array[String]),
41
+ stdin_data: T.nilable(String),
42
+ binmode: T.any(FalseClass, TrueClass),
43
+ opts: T::Hash[Symbol, T.untyped]
44
+ ).returns([String, String, Process::Status])
45
+ end
46
+ def self.capture3(*cmd, stdin_data: '', binmode: false, **opts); end
47
+
48
+ sig do
49
+ params(
50
+ cmd: T.any(String, T::Array[String]),
51
+ stdin_data: T.nilable(String),
52
+ binmode: T.any(FalseClass, TrueClass),
53
+ opts: T::Hash[Symbol, T.untyped]
54
+ ).returns([String, Process::Status])
55
+ end
56
+ def self.capture2(*cmd, stdin_data: nil, binmode: false, **opts); end
57
+
58
+ sig do
59
+ params(
60
+ cmd: T.any(String, T::Array[String]),
61
+ stdin_data: T.nilable(String),
62
+ binmode: T.any(FalseClass, TrueClass),
63
+ opts: T::Hash[Symbol, T.untyped]
64
+ ).returns([String, Process::Status])
65
+ end
66
+ def self.capture2e(*cmd, stdin_data: nil, binmode: false, **opts); end
67
+
68
+ sig do
69
+ params(
70
+ cmds: T.any(String, T::Array[String]),
71
+ opts: T.untyped,
72
+ block: T.nilable(T.proc.params(first_stdin: IO, last_stdout: IO, wait_threads: T::Array[Process::Waiter]).void)
73
+ ).returns([IO, IO, T::Array[Process::Waiter]])
74
+ end
75
+ def self.pipeline_rw(*cmds, **opts, &block); end
76
+
77
+ sig do
78
+ params(
79
+ cmds: T.any(String, T::Array[String]),
80
+ opts: T.untyped,
81
+ block: T.nilable(T.proc.params(last_stdout: IO, wait_threads: T::Array[Process::Waiter]).void)
82
+ ).returns([IO, T::Array[Process::Waiter]])
83
+ end
84
+ def self.pipeline_r(*cmds, **opts, &block); end
85
+
86
+ sig do
87
+ params(
88
+ cmds: T.any(String, T::Array[String]),
89
+ opts: T.untyped,
90
+ block: T.nilable(T.proc.params(first_stdin: IO, wait_threads: T::Array[Process::Waiter]).void)
91
+ ).returns([IO, T::Array[Process::Waiter]])
92
+ end
93
+ def self.pipeline_w(*cmds, **opts, &block); end
94
+
95
+ sig do
96
+ params(
97
+ cmds: T.any(String, T::Array[String]),
98
+ opts: T.untyped,
99
+ block: T.nilable(T.proc.params(wait_threads: T::Array[Process::Waiter]).void)
100
+ ).returns(T::Array[Process::Waiter])
101
+ end
102
+ def self.pipeline_start(*cmds, **opts, &block); end
103
+
104
+ sig do
105
+ params(
106
+ cmds: T.any(String, T::Array[String]),
107
+ opts: T.untyped
108
+ ).returns(T::Array[Process::Status])
109
+ end
110
+ def self.pipeline(*cmds, **opts); end
111
+ end
@@ -0,0 +1,543 @@
1
+ # This file is autogenerated. Do not edit it by hand. Regenerate it with:
2
+ # srb rbi sorbet-typed
3
+ #
4
+ # If you would like to make changes to this file, great! Please upstream any changes you make here:
5
+ #
6
+ # https://github.com/sorbet/sorbet-typed/edit/master/lib/ruby/all/resolv.rbi
7
+ #
8
+ # typed: strong
9
+
10
+ class Resolv
11
+ sig { params(name: String).returns(String) }
12
+ def self.getaddress(name); end
13
+
14
+ sig { params(name: String).returns(T::Array[String]) }
15
+ def self.getaddresses(name); end
16
+
17
+ sig { params(name: String, block: T.proc.params(address: String).void).void }
18
+ def self.each_address(name, &block); end
19
+
20
+ sig { params(address: String).returns(String) }
21
+ def self.getname(address); end
22
+
23
+ sig { params(address: String).returns(T::Array[String]) }
24
+ def self.getnames(address); end
25
+
26
+ sig { params(address: String, proc: T.proc.params(name: String).void).void }
27
+ def self.each_name(address, &proc); end
28
+
29
+ sig { params(resolvers: [Hosts, DNS]).void }
30
+ def initialize(resolvers=[Hosts.new, DNS.new]); end
31
+
32
+ sig { params(name: String).returns(String) }
33
+ def getaddress(name); end
34
+
35
+ sig { params(name: String).returns(T::Array[String]) }
36
+ def getaddresses(name); end
37
+
38
+ sig { params(name: String, block: T.proc.params(address: String).void).void }
39
+ def each_address(name, &block); end
40
+
41
+ sig { params(address: String).returns(String) }
42
+ def getname(address); end
43
+
44
+ sig { params(address: String).returns(T::Array[String]) }
45
+ def getnames(address); end
46
+
47
+ sig { params(address: String, proc: T.proc.params(name: String).void).void }
48
+ def each_name(address, &proc); end
49
+
50
+ class ResolvError < StandardError; end
51
+ class ResolvTimeout < Timeout::Error; end
52
+
53
+ class Hosts
54
+ DefaultFileName = T.let(T.unsafe(nil), String)
55
+
56
+ sig { params(filename: String).void }
57
+ def initialize(filename = DefaultFileName); end
58
+
59
+ sig { params(name: String).returns(String) }
60
+ def getaddress(name); end
61
+
62
+ sig { params(name: String).returns(T::Array[String]) }
63
+ def getaddresses(name); end
64
+
65
+ sig { params(name: String, block: T.proc.params(address: String).void).void }
66
+ def each_address(name, &block); end
67
+
68
+ sig { params(address: String).returns(String) }
69
+ def getname(address); end
70
+
71
+ sig { params(address: String).returns(T::Array[String]) }
72
+ def getnames(address); end
73
+
74
+ sig { params(address: String, proc: T.proc.params(name: String).void).void }
75
+ def each_name(address, &proc); end
76
+ end
77
+
78
+ class DNS
79
+ Port = T.let(T.unsafe(nil), Integer)
80
+
81
+ UDPSize = T.let(T.unsafe(nil), Integer)
82
+
83
+ sig do
84
+ params(
85
+ config_info: T.any(
86
+ NilClass,
87
+ String,
88
+ { nameserver: T.any(String, T::Array[String]), search: T::Array[String], ndots: Integer },
89
+ { nameserver_port: T::Array[[String, Integer]], search: T::Array[String], ndots: Integer }
90
+ )
91
+ ).returns(Resolv::DNS)
92
+ end
93
+ def self.open(config_info = nil); end
94
+
95
+ sig do
96
+ params(
97
+ config_info: T.any(
98
+ NilClass,
99
+ String,
100
+ { nameserver: T.any(String, T::Array[String]), search: T::Array[String], ndots: Integer },
101
+ { nameserver_port: T::Array[[String, Integer]], search: T::Array[String], ndots: Integer }
102
+ )
103
+ ).void
104
+ end
105
+ def initialize(config_info = nil); end
106
+
107
+ sig { params(values: T.any(NilClass, Integer, T::Array[Integer])).void }
108
+ def timeouts=(values); end
109
+
110
+ sig { void }
111
+ def close; end
112
+
113
+ sig { params(name: String).returns(String) }
114
+ def getaddress(name); end
115
+
116
+ sig { params(name: String).returns(T::Array[String]) }
117
+ def getaddresses(name); end
118
+
119
+ sig { params(name: String, block: T.proc.params(address: String).void).void }
120
+ def each_address(name, &block); end
121
+
122
+ sig { params(address: String).returns(String) }
123
+ def getname(address); end
124
+
125
+ sig { params(address: String).returns(T::Array[String]) }
126
+ def getnames(address); end
127
+
128
+ sig { params(address: String, proc: T.proc.params(name: String).void).void }
129
+ def each_name(address, &proc); end
130
+
131
+ sig do
132
+ params(
133
+ name: T.any(String, Resolv::DNS::Name),
134
+ typeclass: T.class_of(Resolv::DNS::Resource)
135
+ ).returns(Resolv::DNS::Resource)
136
+ end
137
+ def getresource(name, typeclass); end
138
+
139
+ sig do
140
+ params(
141
+ name: T.any(String, Resolv::DNS::Name),
142
+ typeclass: T.class_of(Resolv::DNS::Resource)
143
+ ).returns(T::Array[Resolv::DNS::Resource])
144
+ end
145
+ def getresources(name, typeclass); end
146
+
147
+ sig do
148
+ params(
149
+ name: T.any(String, Resolv::DNS::Name),
150
+ typeclass: T.class_of(Resolv::DNS::Resource),
151
+ proc: T.proc.params(resource: Resolv::DNS::Resource).void
152
+ ).void
153
+ end
154
+ def each_resource(name, typeclass, &proc); end
155
+
156
+ class DecodeError < StandardError; end
157
+ class EncodeError < StandardError; end
158
+
159
+ class Name
160
+ sig { params(arg: T.any(String, Resolv::DNS::Name)).returns(Resolv::DNS::Name) }
161
+ def self.create(arg); end
162
+
163
+ sig { params(labels: T::Array[String], absolute: T.any(FalseClass, TrueClass)).void }
164
+ def initialize(labels, absolute=true); end
165
+
166
+ sig { returns(T.any(FalseClass, TrueClass)) }
167
+ def absolute?; end
168
+
169
+ sig { params(other: Resolv::DNS::Name).returns(T.any(FalseClass, TrueClass)) }
170
+ def subdomain_of?(other); end
171
+ end
172
+
173
+ class Query; end
174
+
175
+ class Resource < Query
176
+ sig { returns(T.nilable(Integer)) }
177
+ attr_reader :ttl
178
+
179
+ sig { void }
180
+ def initialize
181
+ @ttl = T.let(T.unsafe(nil), T.nilable(Integer))
182
+ end
183
+
184
+ class Generic < Resource
185
+ sig { params(data: T.untyped).void }
186
+ def initialize(data)
187
+ @data = T.let(T.unsafe(nil), T.untyped)
188
+ end
189
+
190
+ sig { returns(T.untyped) }
191
+ attr_reader :data
192
+ end
193
+
194
+ class DomainName < Resource
195
+ sig { params(name: String).void }
196
+ def initialize(name)
197
+ @name = T.let(T.unsafe(nil), String)
198
+ end
199
+
200
+ sig { returns(String) }
201
+ attr_reader :name
202
+ end
203
+
204
+ class NS < DomainName; end
205
+
206
+ class CNAME < DomainName; end
207
+
208
+ class SOA < Resource
209
+ sig do
210
+ params(
211
+ mname: String,
212
+ rname: String,
213
+ serial: Integer,
214
+ refresh: Integer,
215
+ retry_: Integer,
216
+ expire: Integer,
217
+ minimum: Integer
218
+ ).void
219
+ end
220
+ def initialize(mname, rname, serial, refresh, retry_, expire, minimum)
221
+ @mname = T.let(T.unsafe(nil), String)
222
+ @rname = T.let(T.unsafe(nil), String)
223
+ @serial = T.let(T.unsafe(nil), Integer)
224
+ @refresh = T.let(T.unsafe(nil), Integer)
225
+ @retry = T.let(T.unsafe(nil), Integer)
226
+ @expire = T.let(T.unsafe(nil), Integer)
227
+ @minimum = T.let(T.unsafe(nil), Integer)
228
+ end
229
+
230
+ sig { returns(String) }
231
+ attr_reader :mname
232
+
233
+ sig { returns(String) }
234
+ attr_reader :rname
235
+
236
+ sig { returns(Integer) }
237
+ attr_reader :serial
238
+
239
+ sig { returns(Integer) }
240
+ attr_reader :refresh
241
+
242
+ sig { returns(Integer) }
243
+ attr_reader :retry
244
+
245
+ sig { returns(Integer) }
246
+ attr_reader :expire
247
+
248
+ sig { returns(Integer) }
249
+ attr_reader :minimum
250
+ end
251
+
252
+ class PTR < DomainName; end
253
+
254
+ class HINFO < Resource
255
+ sig { params(cpu: String, os: String).void }
256
+ def initialize(cpu, os)
257
+ @cpu = T.let(T.unsafe(nil), String)
258
+ @os = T.let(T.unsafe(nil), String)
259
+ end
260
+
261
+ sig { returns(String) }
262
+ attr_reader :cpu
263
+
264
+ sig { returns(String) }
265
+ attr_reader :os
266
+ end
267
+
268
+ class MINFO < Resource
269
+ sig { params(rmailbx: String, emailbx: String).void }
270
+ def initialize(rmailbx, emailbx)
271
+ @rmailbx = T.let(T.unsafe(nil), String)
272
+ @emailbx = T.let(T.unsafe(nil), String)
273
+ end
274
+
275
+ sig { returns(String) }
276
+ attr_reader :rmailbx
277
+
278
+ sig { returns(String) }
279
+ attr_reader :emailbx
280
+ end
281
+
282
+ class MX < Resource
283
+ sig { params(preference: Integer, exchange: String).void }
284
+ def initialize(preference, exchange)
285
+ @preference = T.let(T.unsafe(nil), Integer)
286
+ @exchange = T.let(T.unsafe(nil), String)
287
+ end
288
+
289
+ sig { returns(Integer) }
290
+ attr_reader :preference
291
+
292
+ sig { returns(String) }
293
+ attr_reader :exchange
294
+ end
295
+
296
+ class TXT < Resource
297
+ sig { params(first_string: String, rest_strings: String).void }
298
+ def initialize(first_string, *rest_strings)
299
+ @strings = T.let(T.unsafe(nil), T::Array[String])
300
+ end
301
+
302
+ sig { returns(T::Array[String]) }
303
+ attr_reader :strings
304
+
305
+ sig { returns(String) }
306
+ def data; end
307
+ end
308
+
309
+ class LOC < Resource
310
+ sig do
311
+ params(
312
+ version: String,
313
+ ssize: T.any(String, Resolv::LOC::Size),
314
+ hprecision: T.any(String, Resolv::LOC::Size),
315
+ vprecision: T.any(String, Resolv::LOC::Size),
316
+ latitude: T.any(String, Resolv::LOC::Coord),
317
+ longitude: T.any(String, Resolv::LOC::Coord),
318
+ altitude: T.any(String, Resolv::LOC::Alt)
319
+ ).void
320
+ end
321
+ def initialize(version, ssize, hprecision, vprecision, latitude, longitude, altitude)
322
+ @version = T.let(T.unsafe(nil), String)
323
+ @ssize = T.let(T.unsafe(nil), Resolv::LOC::Size)
324
+ @hprecision = T.let(T.unsafe(nil), Resolv::LOC::Size)
325
+ @vprecision = T.let(T.unsafe(nil), Resolv::LOC::Size)
326
+ @latitude = T.let(T.unsafe(nil), Resolv::LOC::Coord)
327
+ @longitude = T.let(T.unsafe(nil), Resolv::LOC::Coord)
328
+ @altitude = T.let(T.unsafe(nil), Resolv::LOC::Alt)
329
+ end
330
+
331
+ sig { returns(String) }
332
+ attr_reader :version
333
+
334
+ sig { returns(Resolv::LOC::Size) }
335
+ attr_reader :ssize
336
+
337
+ sig { returns(Resolv::LOC::Size) }
338
+ attr_reader :hprecision
339
+
340
+ sig { returns(Resolv::LOC::Size) }
341
+ attr_reader :vprecision
342
+
343
+ sig { returns(Resolv::LOC::Coord) }
344
+ attr_reader :latitude
345
+
346
+ sig { returns(Resolv::LOC::Coord) }
347
+ attr_reader :longitude
348
+
349
+ sig { returns(Resolv::LOC::Alt) }
350
+ attr_reader :altitude
351
+ end
352
+
353
+ class ANY < Query; end
354
+
355
+ module IN
356
+ class A < Resource
357
+ sig { params(address: String).void }
358
+ def initialize(address)
359
+ @address = T.let(T.unsafe(nil), Resolv::IPv4)
360
+ end
361
+
362
+ sig { returns(Resolv::IPv4) }
363
+ attr_reader :address
364
+ end
365
+
366
+ class WKS < Resource
367
+ sig { params(address: String, protocol: Integer, bitmap: String).void }
368
+ def initialize(address, protocol, bitmap)
369
+ @address = T.let(T.unsafe(nil), Resolv::IPv4)
370
+ @protocol = T.let(T.unsafe(nil), Integer)
371
+ @bitmap = T.let(T.unsafe(nil), String)
372
+ end
373
+
374
+ sig { returns(Resolv::IPv4) }
375
+ attr_reader :address
376
+
377
+ sig { returns(Integer) }
378
+ attr_reader :protocol
379
+
380
+ sig { returns(String) }
381
+ attr_reader :bitmap
382
+ end
383
+
384
+ class AAAA < Resource
385
+ sig { params(address: String).void }
386
+ def initialize(address)
387
+ @address = T.let(T.unsafe(nil), Resolv::IPv6)
388
+ end
389
+
390
+ sig { returns(Resolv::IPv6) }
391
+ attr_reader :address
392
+ end
393
+
394
+ class SRV < Resource
395
+ # Create a SRV resource record.
396
+ #
397
+ # See the documentation for #priority, #weight, #port and #target
398
+ # for +priority+, +weight+, +port and +target+ respectively.
399
+
400
+ sig do
401
+ params(
402
+ priority: T.any(Integer, String),
403
+ weight: T.any(Integer, String),
404
+ port: T.any(Integer, String),
405
+ target: T.any(String, Resolv::DNS::Name)
406
+ ).void
407
+ end
408
+ def initialize(priority, weight, port, target)
409
+ @priority = T.let(T.unsafe(nil), Integer)
410
+ @weight = T.let(T.unsafe(nil), Integer)
411
+ @port = T.let(T.unsafe(nil), Integer)
412
+ @target = T.let(T.unsafe(nil), Resolv::DNS::Name)
413
+ end
414
+
415
+ sig { returns(Integer) }
416
+ attr_reader :priority
417
+
418
+ sig { returns(Integer) }
419
+ attr_reader :weight
420
+
421
+ sig { returns(Integer) }
422
+ attr_reader :port
423
+
424
+ sig { returns(Resolv::DNS::Name) }
425
+ attr_reader :target
426
+ end
427
+ end
428
+ end
429
+ end
430
+
431
+ class IPv4
432
+ Regex256 = T.let(T.unsafe(nil), Regexp)
433
+ Regex = T.let(T.unsafe(nil), Regexp)
434
+
435
+ sig { params(arg: T.any(String, Resolv::IPv4)).returns(Resolv::IPv4) }
436
+ def self.create(arg); end
437
+
438
+ sig { params(address: String).void }
439
+ def initialize(address)
440
+ @address = T.let(T.unsafe(nil), String)
441
+ end
442
+
443
+ sig { returns(String) }
444
+ attr_reader :address
445
+
446
+ sig { returns(DNS::Name) }
447
+ def to_name; end
448
+ end
449
+
450
+ class IPv6
451
+ Regex_8Hex = T.let(T.unsafe(nil), Regexp)
452
+ Regex_CompressedHex = T.let(T.unsafe(nil), Regexp)
453
+ Regex_6Hex4Dec = T.let(T.unsafe(nil), Regexp)
454
+ Regex_CompressedHex4Dec = T.let(T.unsafe(nil), Regexp)
455
+ Regex = T.let(T.unsafe(nil), Regexp)
456
+
457
+ sig { params(arg: T.any(String, Resolv::IPv6)).returns(Resolv::IPv6) }
458
+ def self.create(arg); end
459
+
460
+ sig { params(address: String).void }
461
+ def initialize(address)
462
+ @address = T.let(T.unsafe(nil), String)
463
+ end
464
+
465
+ sig { returns(String) }
466
+ attr_reader :address
467
+
468
+ sig { returns(DNS::Name) }
469
+ def to_name; end
470
+ end
471
+
472
+ class MDNS < DNS
473
+ Port = T.let(T.unsafe(nil), Integer)
474
+ AddressV4 = T.let(T.unsafe(nil), String)
475
+ AddressV6 = T.let(T.unsafe(nil), String)
476
+ Addresses = T.let(T.unsafe(nil), [[String, Integer], [String, Integer]])
477
+
478
+ sig do
479
+ params(
480
+ config_info: T.any(
481
+ NilClass,
482
+ { nameserver: T.any(String, T::Array[String]), search: T::Array[String], ndots: Integer },
483
+ { nameserver_port: T::Array[[String, Integer]], search: T::Array[String], ndots: Integer }
484
+ )
485
+ ).void
486
+ end
487
+ def initialize(config_info = nil); end
488
+ end
489
+
490
+ module LOC
491
+ class Size
492
+ Regex = T.let(T.unsafe(nil), Regexp)
493
+
494
+ sig { params(arg: T.any(String, Resolv::LOC::Size)).returns(Resolv::LOC::Size) }
495
+ def self.create(arg); end
496
+
497
+ sig { params(scalar: String).void }
498
+ def initialize(scalar)
499
+ @scalar = T.let(T.unsafe(nil), String)
500
+ end
501
+
502
+ sig { returns(String) }
503
+ attr_reader :scalar
504
+ end
505
+
506
+ class Coord
507
+ Regex = T.let(T.unsafe(nil), Regexp)
508
+
509
+ sig { params(arg: T.any(String, Resolv::LOC::Coord)).returns(Resolv::LOC::Coord) }
510
+ def self.create(arg); end
511
+
512
+ sig { params(coordinates: String, orientation: T.enum(%w[lat lon])).void }
513
+ def initialize(coordinates, orientation)
514
+ @coordinates = T.let(T.unsafe(nil), String)
515
+ @orientation = T.let(T.unsafe(nil), T.enum(%w[lat lon]))
516
+ end
517
+
518
+ sig { returns(String) }
519
+ attr_reader :coordinates
520
+
521
+ sig { returns(T.enum(%w[lat lon])) }
522
+ attr_reader :orientation
523
+ end
524
+
525
+ class Alt
526
+ Regex = T.let(T.unsafe(nil), Regexp)
527
+
528
+ sig { params(arg: T.any(String, Resolv::LOC::Alt)).returns(Resolv::LOC::Alt) }
529
+ def self.create(arg); end
530
+
531
+ sig { params(altitude: String).void }
532
+ def initialize(altitude)
533
+ @altitude = T.let(T.unsafe(nil), String)
534
+ end
535
+
536
+ sig { returns(String) }
537
+ attr_reader :altitude
538
+ end
539
+ end
540
+
541
+ DefaultResolver = T.let(T.unsafe(nil), Resolv)
542
+ AddressRegex = T.let(T.unsafe(nil), Regexp)
543
+ end