ika3 0.8.1 → 0.9.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 +3 -3
- data/Gemfile.lock +50 -45
- data/Steepfile +7 -0
- data/config/weapons.yml +56 -0
- data/ika3.gemspec +1 -1
- data/lib/ika3/schedule.rb +83 -27
- data/lib/ika3/version.rb +1 -1
- data/lib/ika3/weapons.rb +16 -11
- data/lib/ika3.rb +0 -1
- data/rbs_collection.lock.yaml +83 -36
- data/rbs_collection.yaml +2 -0
- data/sig/ika3/response.rbs +15 -0
- data/sig/ika3/schedule.rbs +51 -9
- data/sig/ika3/version.rbs +5 -0
- data/sig/ika3/weapon.rbs +24 -25
- metadata +7 -7
- data/lib/ika3/concerns/utils.rb +0 -13
- data/sig/ika3/concerns/utils.rbs +0 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2dbdf7e1866208961aede5fa64fe9f56a5afb6f751bb34dc7b903120a7969dd1
|
|
4
|
+
data.tar.gz: c836f625303b2398f5b04b16dea0a8c94041e45fac40db1b3d8b4ec5e89ceba4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0d8784996da4c847b7691b01d06e82ca55f79d78d45ca64442a0e790161fb15b6d64519d9970bb359c6a9ecda52aad9ef86d439533fc25e4280a47c9d5564820
|
|
7
|
+
data.tar.gz: 425e06475611ea9ab715e214526ccb2ac8e2262f68de33c92d4e69c421e4f884781cc3ad3602b4485b8939ee909230acc3053d71a103dabadcb9dc17276a3027
|
data/Gemfile
CHANGED
|
@@ -7,10 +7,10 @@ gemspec
|
|
|
7
7
|
|
|
8
8
|
gem 'rake', '~> 13.1'
|
|
9
9
|
gem 'rbs'
|
|
10
|
-
gem 'rspec', '~> 3.
|
|
10
|
+
gem 'rspec', '~> 3.13'
|
|
11
11
|
gem 'rubocop', require: false
|
|
12
12
|
gem 'steep'
|
|
13
|
+
gem 'typeprof'
|
|
13
14
|
|
|
14
15
|
gem 'rubocop-rake', '~> 0.6.0'
|
|
15
|
-
|
|
16
|
-
gem 'rubocop-rspec', '~> 2.25'
|
|
16
|
+
gem 'rubocop-rspec', '~> 2.26'
|
data/Gemfile.lock
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
ika3 (0.
|
|
5
|
-
activesupport (>=
|
|
4
|
+
ika3 (0.9.0)
|
|
5
|
+
activesupport (>= 6.0.0)
|
|
6
6
|
faraday (>= 2.7.0)
|
|
7
7
|
|
|
8
8
|
GEM
|
|
9
9
|
remote: https://rubygems.org/
|
|
10
10
|
specs:
|
|
11
|
-
|
|
11
|
+
abbrev (0.1.2)
|
|
12
|
+
activesupport (7.1.3.2)
|
|
12
13
|
base64
|
|
13
14
|
bigdecimal
|
|
14
15
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
@@ -20,20 +21,18 @@ GEM
|
|
|
20
21
|
tzinfo (~> 2.0)
|
|
21
22
|
ast (2.4.2)
|
|
22
23
|
base64 (0.2.0)
|
|
23
|
-
bigdecimal (3.1.
|
|
24
|
-
concurrent-ruby (1.2.
|
|
24
|
+
bigdecimal (3.1.6)
|
|
25
|
+
concurrent-ruby (1.2.3)
|
|
25
26
|
connection_pool (2.4.1)
|
|
26
|
-
csv (3.2.
|
|
27
|
-
diff-lcs (1.5.
|
|
28
|
-
drb (2.2.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
ffi (1.15.5)
|
|
36
|
-
fileutils (1.7.1)
|
|
27
|
+
csv (3.2.8)
|
|
28
|
+
diff-lcs (1.5.1)
|
|
29
|
+
drb (2.2.1)
|
|
30
|
+
faraday (2.9.0)
|
|
31
|
+
faraday-net_http (>= 2.0, < 3.2)
|
|
32
|
+
faraday-net_http (3.1.0)
|
|
33
|
+
net-http
|
|
34
|
+
ffi (1.16.3)
|
|
35
|
+
fileutils (1.7.2)
|
|
37
36
|
i18n (1.14.1)
|
|
38
37
|
concurrent-ruby (~> 1.0)
|
|
39
38
|
json (2.7.1)
|
|
@@ -41,11 +40,13 @@ GEM
|
|
|
41
40
|
listen (3.8.0)
|
|
42
41
|
rb-fsevent (~> 0.10, >= 0.10.3)
|
|
43
42
|
rb-inotify (~> 0.9, >= 0.9.10)
|
|
44
|
-
logger (1.
|
|
45
|
-
minitest (5.
|
|
43
|
+
logger (1.6.0)
|
|
44
|
+
minitest (5.22.2)
|
|
46
45
|
mutex_m (0.2.0)
|
|
47
|
-
|
|
48
|
-
|
|
46
|
+
net-http (0.4.1)
|
|
47
|
+
uri
|
|
48
|
+
parallel (1.24.0)
|
|
49
|
+
parser (3.3.0.5)
|
|
49
50
|
ast (~> 2.4.1)
|
|
50
51
|
racc
|
|
51
52
|
racc (1.7.3)
|
|
@@ -54,27 +55,28 @@ GEM
|
|
|
54
55
|
rb-fsevent (0.11.2)
|
|
55
56
|
rb-inotify (0.10.1)
|
|
56
57
|
ffi (~> 1.0)
|
|
57
|
-
rbs (3.
|
|
58
|
-
|
|
58
|
+
rbs (3.4.4)
|
|
59
|
+
abbrev
|
|
60
|
+
regexp_parser (2.9.0)
|
|
59
61
|
rexml (3.2.6)
|
|
60
|
-
rspec (3.
|
|
61
|
-
rspec-core (~> 3.
|
|
62
|
-
rspec-expectations (~> 3.
|
|
63
|
-
rspec-mocks (~> 3.
|
|
64
|
-
rspec-core (3.
|
|
65
|
-
rspec-support (~> 3.
|
|
66
|
-
rspec-expectations (3.
|
|
62
|
+
rspec (3.13.0)
|
|
63
|
+
rspec-core (~> 3.13.0)
|
|
64
|
+
rspec-expectations (~> 3.13.0)
|
|
65
|
+
rspec-mocks (~> 3.13.0)
|
|
66
|
+
rspec-core (3.13.0)
|
|
67
|
+
rspec-support (~> 3.13.0)
|
|
68
|
+
rspec-expectations (3.13.0)
|
|
67
69
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
68
|
-
rspec-support (~> 3.
|
|
69
|
-
rspec-mocks (3.
|
|
70
|
+
rspec-support (~> 3.13.0)
|
|
71
|
+
rspec-mocks (3.13.0)
|
|
70
72
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
71
|
-
rspec-support (~> 3.
|
|
72
|
-
rspec-support (3.
|
|
73
|
-
rubocop (1.
|
|
73
|
+
rspec-support (~> 3.13.0)
|
|
74
|
+
rspec-support (3.13.0)
|
|
75
|
+
rubocop (1.60.2)
|
|
74
76
|
json (~> 2.3)
|
|
75
77
|
language_server-protocol (>= 3.17.0)
|
|
76
78
|
parallel (~> 1.10)
|
|
77
|
-
parser (>= 3.
|
|
79
|
+
parser (>= 3.3.0.2)
|
|
78
80
|
rainbow (>= 2.2.2, < 4.0)
|
|
79
81
|
regexp_parser (>= 1.8, < 3.0)
|
|
80
82
|
rexml (>= 3.2.5, < 4.0)
|
|
@@ -83,20 +85,19 @@ GEM
|
|
|
83
85
|
unicode-display_width (>= 2.4.0, < 3.0)
|
|
84
86
|
rubocop-ast (1.30.0)
|
|
85
87
|
parser (>= 3.2.1.0)
|
|
86
|
-
rubocop-capybara (2.
|
|
88
|
+
rubocop-capybara (2.20.0)
|
|
89
|
+
rubocop (~> 1.41)
|
|
90
|
+
rubocop-factory_bot (2.25.1)
|
|
87
91
|
rubocop (~> 1.41)
|
|
88
|
-
rubocop-factory_bot (2.24.0)
|
|
89
|
-
rubocop (~> 1.33)
|
|
90
92
|
rubocop-rake (0.6.0)
|
|
91
93
|
rubocop (~> 1.0)
|
|
92
|
-
rubocop-rspec (2.
|
|
94
|
+
rubocop-rspec (2.26.1)
|
|
93
95
|
rubocop (~> 1.40)
|
|
94
96
|
rubocop-capybara (~> 2.17)
|
|
95
97
|
rubocop-factory_bot (~> 2.22)
|
|
96
98
|
ruby-progressbar (1.13.0)
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
steep (1.5.3)
|
|
99
|
+
securerandom (0.3.1)
|
|
100
|
+
steep (1.6.0)
|
|
100
101
|
activesupport (>= 5.1)
|
|
101
102
|
concurrent-ruby (>= 1.1.10)
|
|
102
103
|
csv (>= 3.0.9)
|
|
@@ -111,12 +112,15 @@ GEM
|
|
|
111
112
|
securerandom (>= 0.1)
|
|
112
113
|
strscan (>= 1.0.0)
|
|
113
114
|
terminal-table (>= 2, < 4)
|
|
114
|
-
strscan (3.0.
|
|
115
|
+
strscan (3.0.7)
|
|
115
116
|
terminal-table (3.0.2)
|
|
116
117
|
unicode-display_width (>= 1.1.1, < 3)
|
|
118
|
+
typeprof (0.21.11)
|
|
119
|
+
rbs (>= 1.8.1)
|
|
117
120
|
tzinfo (2.0.6)
|
|
118
121
|
concurrent-ruby (~> 1.0)
|
|
119
122
|
unicode-display_width (2.5.0)
|
|
123
|
+
uri (0.13.0)
|
|
120
124
|
|
|
121
125
|
PLATFORMS
|
|
122
126
|
x86_64-linux
|
|
@@ -125,11 +129,12 @@ DEPENDENCIES
|
|
|
125
129
|
ika3!
|
|
126
130
|
rake (~> 13.1)
|
|
127
131
|
rbs
|
|
128
|
-
rspec (~> 3.
|
|
132
|
+
rspec (~> 3.13)
|
|
129
133
|
rubocop
|
|
130
134
|
rubocop-rake (~> 0.6.0)
|
|
131
|
-
rubocop-rspec (~> 2.
|
|
135
|
+
rubocop-rspec (~> 2.26)
|
|
132
136
|
steep
|
|
137
|
+
typeprof
|
|
133
138
|
|
|
134
139
|
BUNDLED WITH
|
|
135
140
|
2.3.11
|
data/Steepfile
CHANGED
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
D = Steep::Diagnostic
|
|
4
|
+
|
|
3
5
|
target :lib do
|
|
4
6
|
signature 'sig'
|
|
5
7
|
|
|
6
8
|
check 'lib'
|
|
7
9
|
repo_path '.gem_rbs_collection'
|
|
10
|
+
|
|
11
|
+
configure_code_diagnostics do |hash|
|
|
12
|
+
hash[D::Ruby::MethodDefinitionMissing] = :warning
|
|
13
|
+
hash[D::Ruby::UnknownConstant] = :information
|
|
14
|
+
end
|
|
8
15
|
end
|
data/config/weapons.yml
CHANGED
|
@@ -53,6 +53,11 @@ tentatek_splattershot: &tentatek_splattershot
|
|
|
53
53
|
sub: スプラッシュシールド
|
|
54
54
|
special: メガホンレーザー5.1ch
|
|
55
55
|
|
|
56
|
+
52_gal_deco: &52_gal_deco
|
|
57
|
+
name: .52ガロンデコ
|
|
58
|
+
sub: カーリングボム
|
|
59
|
+
special: メガホンレーザー5.1ch
|
|
60
|
+
|
|
56
61
|
n_zap_85: &n_zap_85
|
|
57
62
|
name: N-ZAP '85
|
|
58
63
|
sub: キューバンボム
|
|
@@ -168,6 +173,11 @@ flingza_roller: &flingza_roller
|
|
|
168
173
|
sub: トラップ
|
|
169
174
|
special: マルチミサイル
|
|
170
175
|
|
|
176
|
+
foil_flingza_roller: &foil_flingza_roller
|
|
177
|
+
name: ヴァリアブルローラーフォイル
|
|
178
|
+
sub: キューバンボム
|
|
179
|
+
special: スミナガシート
|
|
180
|
+
|
|
171
181
|
big_swig_roller: &big_swig_roller
|
|
172
182
|
name: ワイドローラー
|
|
173
183
|
sub: スプラッシュシールド
|
|
@@ -183,6 +193,11 @@ classic_squiffer: &classic_squiffer
|
|
|
183
193
|
sub: ポイントセンサー
|
|
184
194
|
special: グレートバリア
|
|
185
195
|
|
|
196
|
+
new_squiffer: &new_squiffer
|
|
197
|
+
name: スクイックリンβ
|
|
198
|
+
sub: ロボットボム
|
|
199
|
+
special: ショクワンダー
|
|
200
|
+
|
|
186
201
|
splat_charger: &splat_charger
|
|
187
202
|
name: スプラチャージャー
|
|
188
203
|
sub: スプラボム
|
|
@@ -208,11 +223,22 @@ e_liter_4k: &e_liter_4k
|
|
|
208
223
|
sub: トラップ
|
|
209
224
|
special: ホップソナー
|
|
210
225
|
|
|
226
|
+
custom_e_liter_4k: &custom_e_liter_4k
|
|
227
|
+
name: リッター4Kカスタム
|
|
228
|
+
sub: ジャンプビーコン
|
|
229
|
+
special: テイオウイカ
|
|
230
|
+
|
|
211
231
|
e_liter_4K_scope: &e_liter_4K_scope
|
|
212
232
|
name: 4Kスコープ
|
|
213
233
|
sub: トラップ
|
|
214
234
|
special: ホップソナー
|
|
215
235
|
|
|
236
|
+
custom_e_liter_4k_scope: &custom_e_liter_4k_scope
|
|
237
|
+
name: 4Kスコープカスタム
|
|
238
|
+
sub: ジャンプビーコン
|
|
239
|
+
special: テイオウイカ
|
|
240
|
+
|
|
241
|
+
|
|
216
242
|
bamboozler_14_mk_1: &bamboozler_14_mk_1
|
|
217
243
|
name: 14式竹筒銃・甲
|
|
218
244
|
sub: ロボットボム
|
|
@@ -283,11 +309,21 @@ explosher: &explosher
|
|
|
283
309
|
sub: ポイントセンサー
|
|
284
310
|
special: アメフラシ
|
|
285
311
|
|
|
312
|
+
custom_explosher: &custom_explosher
|
|
313
|
+
name: エクスプロッシャーカスタム
|
|
314
|
+
sub: スプラッシュシールド
|
|
315
|
+
special: ウルトラチャクチ
|
|
316
|
+
|
|
286
317
|
dread_wringer: &dread_wringer
|
|
287
318
|
name: モップリン
|
|
288
319
|
sub: キューバンボム
|
|
289
320
|
special: サメライド
|
|
290
321
|
|
|
322
|
+
dread_wringer_d: &dread_wringer_d
|
|
323
|
+
name: モップリンD
|
|
324
|
+
sub: ジャンプビーコン
|
|
325
|
+
special: ホップソナー
|
|
326
|
+
|
|
291
327
|
mini_splatling: &mini_splatling
|
|
292
328
|
name: スプラスピナー
|
|
293
329
|
sub: クイックボム
|
|
@@ -328,6 +364,11 @@ nautilus_47: &nautilus_47
|
|
|
328
364
|
sub: ポイントセンサー
|
|
329
365
|
special: アメフラシ
|
|
330
366
|
|
|
367
|
+
nautilus_79: &nautilus_79
|
|
368
|
+
name: ノーチラス79
|
|
369
|
+
sub: キューバンボム
|
|
370
|
+
special: ウルトラチャクチ
|
|
371
|
+
|
|
331
372
|
heavy_edit_splatling: &heavy_edit_splatling
|
|
332
373
|
name: イグザミナー
|
|
333
374
|
sub: カーリングボム
|
|
@@ -418,6 +459,11 @@ tenta_sorella_brella: &tenta_sorella_brella
|
|
|
418
459
|
sub: トラップ
|
|
419
460
|
special: ウルトラショット
|
|
420
461
|
|
|
462
|
+
recycled_brella_24_mk_1: &recycled_brella_24_mk_1
|
|
463
|
+
name: 24式張替傘・甲
|
|
464
|
+
sub: ラインマーカー
|
|
465
|
+
special: グレートバリア
|
|
466
|
+
|
|
421
467
|
undercover_brella: &undercover_brella
|
|
422
468
|
name: スパイガジェット
|
|
423
469
|
sub: トラップ
|
|
@@ -503,6 +549,16 @@ glooga_dualies: &glooga_dualies
|
|
|
503
549
|
sub: スプラッシュシールド
|
|
504
550
|
special: ナイスダマ
|
|
505
551
|
|
|
552
|
+
glooga_dualies_deco: &glooga_dualies_deco
|
|
553
|
+
name: ケルビン525デコ
|
|
554
|
+
sub: ポイントセンサー
|
|
555
|
+
special: ウルトラショット
|
|
556
|
+
|
|
557
|
+
douser_dualies_ff: &douser_dualies_ff
|
|
558
|
+
name: ガエンFF
|
|
559
|
+
sub: トラップ
|
|
560
|
+
special: メガホンレーザー5.1ch
|
|
561
|
+
|
|
506
562
|
tri_stringer: &tri_stringer
|
|
507
563
|
name: トライストリンガー
|
|
508
564
|
sub: ポイズンミスト
|
data/ika3.gemspec
CHANGED
|
@@ -28,7 +28,7 @@ Gem::Specification.new do |spec|
|
|
|
28
28
|
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
|
29
29
|
spec.require_paths = ['lib']
|
|
30
30
|
|
|
31
|
-
spec.add_dependency 'activesupport', '>=
|
|
31
|
+
spec.add_dependency 'activesupport', '>= 6.0.0'
|
|
32
32
|
spec.add_dependency 'faraday', '>= 2.7.0'
|
|
33
33
|
|
|
34
34
|
# For more information and examples about making a new gem, check out our
|
data/lib/ika3/schedule.rb
CHANGED
|
@@ -1,18 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
class Hash
|
|
4
|
-
def respond_to_missing?(sym)
|
|
5
|
-
key? name ? true : super
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
def method_missing(name)
|
|
9
|
-
return self[name] if key? name
|
|
10
|
-
|
|
11
|
-
each { |k, v| return v if k.to_s.to_sym == name }
|
|
12
|
-
super.method_missing(name)
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
|
|
16
3
|
module Ika3
|
|
17
4
|
class Schedule
|
|
18
5
|
def initialize(contact)
|
|
@@ -25,37 +12,106 @@ module Ika3
|
|
|
25
12
|
schedules.each do |schedule|
|
|
26
13
|
modes.each do |mode|
|
|
27
14
|
define_method(:"#{mode}_#{schedule}") do
|
|
28
|
-
if instance_variable_defined?("@#{mode}_#{schedule}
|
|
29
|
-
return instance_variable_get("@#{mode}_#{schedule}_obj")
|
|
30
|
-
end
|
|
15
|
+
return instance_variable_get("@#{mode}_#{schedule}") if instance_variable_defined?("@#{mode}_#{schedule}")
|
|
31
16
|
|
|
32
|
-
instance_variable_set(
|
|
33
|
-
|
|
17
|
+
instance_variable_set(
|
|
18
|
+
"@#{mode}_#{schedule}",
|
|
19
|
+
Battle.new(send_request(:get, "/api/#{mode.dasherize}/#{schedule}").body['results'][0])
|
|
20
|
+
)
|
|
34
21
|
end
|
|
35
22
|
end
|
|
36
23
|
|
|
37
24
|
define_method(:"salmon_run_#{schedule}") do
|
|
38
|
-
if instance_variable_defined?("@salmon_run_#{schedule}
|
|
39
|
-
return instance_variable_get("@salmon_run_#{schedule}_obj")
|
|
40
|
-
end
|
|
25
|
+
return instance_variable_get("@salmon_run_#{schedule}") if instance_variable_defined?("@salmon_run_#{schedule}")
|
|
41
26
|
|
|
42
|
-
instance_variable_set(
|
|
43
|
-
|
|
27
|
+
instance_variable_set(
|
|
28
|
+
"@salmon_run_#{schedule}", Salmon.new(send_request(:get, "/api/coop-grouping/#{schedule}").body['results'][0])
|
|
29
|
+
)
|
|
44
30
|
end
|
|
45
31
|
|
|
46
32
|
def salmon_run_team_contest
|
|
47
|
-
return @
|
|
33
|
+
return @salmon_run_team_contest unless @salmon_run_team_contest.nil?
|
|
48
34
|
|
|
49
|
-
@
|
|
35
|
+
@salmon_run_team_contest = Salmon.new(
|
|
36
|
+
send_request(:get, '/api/coop-grouping-team-contest/schedule').body['results'][0]
|
|
37
|
+
)
|
|
50
38
|
end
|
|
51
39
|
|
|
52
40
|
def event
|
|
53
|
-
return @
|
|
41
|
+
return @event_match unless @event_match.nil?
|
|
54
42
|
|
|
55
|
-
@
|
|
43
|
+
@event_match = Battle.new(send_request(:get, '/api/event/schedule').body['results'][0])
|
|
56
44
|
end
|
|
57
45
|
end
|
|
58
46
|
|
|
47
|
+
class Battle
|
|
48
|
+
attr_reader :start_time, :end_time, :rule, :stages, :is_fest
|
|
49
|
+
|
|
50
|
+
def initialize(data)
|
|
51
|
+
@start_time = data&.[]('start_time')
|
|
52
|
+
@end_time = data&.[]('end_time')
|
|
53
|
+
@rule = Rule.new(data&.[]('rule'))
|
|
54
|
+
@stages = data&.[]('stages')&.map { |stage| Stage.new(stage) }
|
|
55
|
+
@is_fest = data&.[]('is_fest')
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
class Stage
|
|
59
|
+
attr_reader :id, :name, :image
|
|
60
|
+
|
|
61
|
+
def initialize(data)
|
|
62
|
+
@id = data&.[]('id')
|
|
63
|
+
@name = data&.[]('name')
|
|
64
|
+
@image = data&.[]('image')
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
class Rule
|
|
69
|
+
attr_reader :name, :key
|
|
70
|
+
|
|
71
|
+
def initialize(data)
|
|
72
|
+
@name = data&.[]('name')
|
|
73
|
+
@key = data&.[]('key')
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
private_constant :Stage, :Rule
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
class Salmon
|
|
81
|
+
attr_reader :start_time, :end_time, :stage, :weapons
|
|
82
|
+
|
|
83
|
+
def initialize(data)
|
|
84
|
+
return unless data
|
|
85
|
+
|
|
86
|
+
@start_time = data['start_time']
|
|
87
|
+
@end_time = data['end_time']
|
|
88
|
+
@stage = Stage.new(data['stage'])
|
|
89
|
+
@weapons = data['weapons'].map { |weapon| Weapon.new(weapon) }
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
class Stage
|
|
93
|
+
attr_reader :name, :image
|
|
94
|
+
|
|
95
|
+
def initialize(data)
|
|
96
|
+
@name = data['name']
|
|
97
|
+
@image = data['image']
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
class Weapon
|
|
102
|
+
attr_reader :name, :image
|
|
103
|
+
|
|
104
|
+
def initialize(data)
|
|
105
|
+
@name = data['name']
|
|
106
|
+
@image = data['image']
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
private_constant :Stage, :Weapon
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
private_constant :Battle, :Salmon
|
|
114
|
+
|
|
59
115
|
private
|
|
60
116
|
|
|
61
117
|
def send_request(method, path)
|
data/lib/ika3/version.rb
CHANGED
data/lib/ika3/weapons.rb
CHANGED
|
@@ -2,18 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
module Ika3
|
|
4
4
|
class Weapon
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
class << self
|
|
6
|
+
class W
|
|
7
|
+
attr_reader :name, :sub, :special
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
def initialize(data)
|
|
10
|
+
@name = data[:name]
|
|
11
|
+
@sub = data[:sub]
|
|
12
|
+
@special = data[:special]
|
|
13
|
+
end
|
|
12
14
|
end
|
|
13
|
-
end
|
|
14
15
|
|
|
15
|
-
|
|
16
|
-
include Ika3::Concerns::Utils
|
|
16
|
+
private_constant :W
|
|
17
17
|
|
|
18
18
|
def find(weapon_key)
|
|
19
19
|
raise "unknown weapon: #{weapon_key}" unless valid?(weapon_key)
|
|
@@ -24,7 +24,7 @@ module Ika3
|
|
|
24
24
|
@cache[weapon_key] = weapon_config
|
|
25
25
|
end
|
|
26
26
|
|
|
27
|
-
@cache[weapon_key]
|
|
27
|
+
W.new(@cache[weapon_key])
|
|
28
28
|
end
|
|
29
29
|
|
|
30
30
|
def find_by_name(weapon_name)
|
|
@@ -37,7 +37,8 @@ module Ika3
|
|
|
37
37
|
def filter_by_sub(sub_name)
|
|
38
38
|
raise "unknown sub weapon: #{sub_name}" unless sub_weapons.values.include?(sub_name)
|
|
39
39
|
|
|
40
|
-
config.values.filter { |weapon| weapon[:sub] == sub_name }
|
|
40
|
+
weapons = config.values.filter { |weapon| weapon[:sub] == sub_name }
|
|
41
|
+
weapons.map { |weapon| W.new(weapon) }
|
|
41
42
|
end
|
|
42
43
|
|
|
43
44
|
def reload_config!
|
|
@@ -87,6 +88,10 @@ module Ika3
|
|
|
87
88
|
def valid?(weapon_key)
|
|
88
89
|
names.include?(weapon_key)
|
|
89
90
|
end
|
|
91
|
+
|
|
92
|
+
def load_yaml_file(file)
|
|
93
|
+
YAML.safe_load_file(file, aliases: true)
|
|
94
|
+
end
|
|
90
95
|
end
|
|
91
96
|
end
|
|
92
97
|
end
|
data/lib/ika3.rb
CHANGED
data/rbs_collection.lock.yaml
CHANGED
|
@@ -1,9 +1,4 @@
|
|
|
1
1
|
---
|
|
2
|
-
sources:
|
|
3
|
-
- name: ruby/gem_rbs_collection
|
|
4
|
-
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
5
|
-
revision: main
|
|
6
|
-
repo_dir: gems
|
|
7
2
|
path: ".gem_rbs_collection"
|
|
8
3
|
gems:
|
|
9
4
|
- name: activesupport
|
|
@@ -11,7 +6,7 @@ gems:
|
|
|
11
6
|
source:
|
|
12
7
|
type: git
|
|
13
8
|
name: ruby/gem_rbs_collection
|
|
14
|
-
revision:
|
|
9
|
+
revision: 846c09971455f0e144cef2f5a6c9fe6d8905d3e1
|
|
15
10
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
16
11
|
repo_dir: gems
|
|
17
12
|
- name: ast
|
|
@@ -22,15 +17,35 @@ gems:
|
|
|
22
17
|
revision: c42c09528dd99252db98f0744181a6de54ec2f55
|
|
23
18
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
24
19
|
repo_dir: gems
|
|
20
|
+
- name: base64
|
|
21
|
+
version: '0'
|
|
22
|
+
source:
|
|
23
|
+
type: stdlib
|
|
24
|
+
- name: bigdecimal
|
|
25
|
+
version: '0'
|
|
26
|
+
source:
|
|
27
|
+
type: stdlib
|
|
25
28
|
- name: concurrent-ruby
|
|
26
29
|
version: '1.1'
|
|
27
30
|
source:
|
|
28
31
|
type: git
|
|
29
32
|
name: ruby/gem_rbs_collection
|
|
30
|
-
revision:
|
|
33
|
+
revision: 846c09971455f0e144cef2f5a6c9fe6d8905d3e1
|
|
31
34
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
32
35
|
repo_dir: gems
|
|
33
|
-
- name:
|
|
36
|
+
- name: connection_pool
|
|
37
|
+
version: '2.4'
|
|
38
|
+
source:
|
|
39
|
+
type: git
|
|
40
|
+
name: ruby/gem_rbs_collection
|
|
41
|
+
revision: 846c09971455f0e144cef2f5a6c9fe6d8905d3e1
|
|
42
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
43
|
+
repo_dir: gems
|
|
44
|
+
- name: date
|
|
45
|
+
version: '0'
|
|
46
|
+
source:
|
|
47
|
+
type: stdlib
|
|
48
|
+
- name: erb
|
|
34
49
|
version: '0'
|
|
35
50
|
source:
|
|
36
51
|
type: stdlib
|
|
@@ -39,33 +54,29 @@ gems:
|
|
|
39
54
|
source:
|
|
40
55
|
type: git
|
|
41
56
|
name: ruby/gem_rbs_collection
|
|
42
|
-
revision:
|
|
57
|
+
revision: 846c09971455f0e144cef2f5a6c9fe6d8905d3e1
|
|
43
58
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
44
59
|
repo_dir: gems
|
|
45
60
|
- name: fileutils
|
|
46
61
|
version: '0'
|
|
47
62
|
source:
|
|
48
63
|
type: stdlib
|
|
64
|
+
- name: forwardable
|
|
65
|
+
version: '0'
|
|
66
|
+
source:
|
|
67
|
+
type: stdlib
|
|
49
68
|
- name: i18n
|
|
50
69
|
version: '1.10'
|
|
51
70
|
source:
|
|
52
71
|
type: git
|
|
53
72
|
name: ruby/gem_rbs_collection
|
|
54
|
-
revision:
|
|
73
|
+
revision: 846c09971455f0e144cef2f5a6c9fe6d8905d3e1
|
|
55
74
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
56
75
|
repo_dir: gems
|
|
57
76
|
- name: json
|
|
58
77
|
version: '0'
|
|
59
78
|
source:
|
|
60
79
|
type: stdlib
|
|
61
|
-
- name: listen
|
|
62
|
-
version: '3.2'
|
|
63
|
-
source:
|
|
64
|
-
type: git
|
|
65
|
-
name: ruby/gem_rbs_collection
|
|
66
|
-
revision: c42c09528dd99252db98f0744181a6de54ec2f55
|
|
67
|
-
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
68
|
-
repo_dir: gems
|
|
69
80
|
- name: logger
|
|
70
81
|
version: '0'
|
|
71
82
|
source:
|
|
@@ -74,6 +85,22 @@ gems:
|
|
|
74
85
|
version: '0'
|
|
75
86
|
source:
|
|
76
87
|
type: stdlib
|
|
88
|
+
- name: monitor
|
|
89
|
+
version: '0'
|
|
90
|
+
source:
|
|
91
|
+
type: stdlib
|
|
92
|
+
- name: mutex_m
|
|
93
|
+
version: '0'
|
|
94
|
+
source:
|
|
95
|
+
type: stdlib
|
|
96
|
+
- name: net-http
|
|
97
|
+
version: '0'
|
|
98
|
+
source:
|
|
99
|
+
type: stdlib
|
|
100
|
+
- name: net-protocol
|
|
101
|
+
version: '0'
|
|
102
|
+
source:
|
|
103
|
+
type: stdlib
|
|
77
104
|
- name: parallel
|
|
78
105
|
version: '1.20'
|
|
79
106
|
source:
|
|
@@ -82,6 +109,14 @@ gems:
|
|
|
82
109
|
revision: c42c09528dd99252db98f0744181a6de54ec2f55
|
|
83
110
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
84
111
|
repo_dir: gems
|
|
112
|
+
- name: parser
|
|
113
|
+
version: '3.2'
|
|
114
|
+
source:
|
|
115
|
+
type: git
|
|
116
|
+
name: ruby/gem_rbs_collection
|
|
117
|
+
revision: 846c09971455f0e144cef2f5a6c9fe6d8905d3e1
|
|
118
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
119
|
+
repo_dir: gems
|
|
85
120
|
- name: rainbow
|
|
86
121
|
version: '3.0'
|
|
87
122
|
source:
|
|
@@ -90,27 +125,39 @@ gems:
|
|
|
90
125
|
revision: c42c09528dd99252db98f0744181a6de54ec2f55
|
|
91
126
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
92
127
|
repo_dir: gems
|
|
93
|
-
- name:
|
|
94
|
-
version: '0'
|
|
95
|
-
source:
|
|
96
|
-
type: stdlib
|
|
97
|
-
- name: steep
|
|
98
|
-
version: 1.3.0
|
|
128
|
+
- name: rake
|
|
129
|
+
version: '13.0'
|
|
99
130
|
source:
|
|
100
|
-
type:
|
|
101
|
-
|
|
102
|
-
|
|
131
|
+
type: git
|
|
132
|
+
name: ruby/gem_rbs_collection
|
|
133
|
+
revision: 846c09971455f0e144cef2f5a6c9fe6d8905d3e1
|
|
134
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
135
|
+
repo_dir: gems
|
|
136
|
+
- name: regexp_parser
|
|
137
|
+
version: '2.8'
|
|
103
138
|
source:
|
|
104
|
-
type:
|
|
105
|
-
|
|
106
|
-
|
|
139
|
+
type: git
|
|
140
|
+
name: ruby/gem_rbs_collection
|
|
141
|
+
revision: 846c09971455f0e144cef2f5a6c9fe6d8905d3e1
|
|
142
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
143
|
+
repo_dir: gems
|
|
144
|
+
- name: rubocop
|
|
145
|
+
version: '1.57'
|
|
107
146
|
source:
|
|
108
|
-
type:
|
|
109
|
-
|
|
110
|
-
|
|
147
|
+
type: git
|
|
148
|
+
name: ruby/gem_rbs_collection
|
|
149
|
+
revision: 846c09971455f0e144cef2f5a6c9fe6d8905d3e1
|
|
150
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
151
|
+
repo_dir: gems
|
|
152
|
+
- name: rubocop-ast
|
|
153
|
+
version: '1.30'
|
|
111
154
|
source:
|
|
112
|
-
type:
|
|
113
|
-
|
|
155
|
+
type: git
|
|
156
|
+
name: ruby/gem_rbs_collection
|
|
157
|
+
revision: 846c09971455f0e144cef2f5a6c9fe6d8905d3e1
|
|
158
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
159
|
+
repo_dir: gems
|
|
160
|
+
- name: securerandom
|
|
114
161
|
version: '0'
|
|
115
162
|
source:
|
|
116
163
|
type: stdlib
|
|
@@ -122,7 +169,7 @@ gems:
|
|
|
122
169
|
version: '0'
|
|
123
170
|
source:
|
|
124
171
|
type: stdlib
|
|
125
|
-
- name:
|
|
172
|
+
- name: timeout
|
|
126
173
|
version: '0'
|
|
127
174
|
source:
|
|
128
175
|
type: stdlib
|
data/rbs_collection.yaml
CHANGED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Ika3
|
|
4
|
+
class Response
|
|
5
|
+
@raw_body: String
|
|
6
|
+
@raw_headers: untyped
|
|
7
|
+
@raw_status: Integer
|
|
8
|
+
@headers: untyped
|
|
9
|
+
|
|
10
|
+
def initialize: (Faraday::Response) -> void
|
|
11
|
+
def body: () -> untyped
|
|
12
|
+
def headers: () -> untyped
|
|
13
|
+
def status: () -> Integer
|
|
14
|
+
end
|
|
15
|
+
end
|
data/sig/ika3/schedule.rbs
CHANGED
|
@@ -1,19 +1,61 @@
|
|
|
1
|
-
class Hash[unchecked out K, unchecked out V] < Object
|
|
2
|
-
def method_missing: (name: String) -> untyped
|
|
3
|
-
end
|
|
4
|
-
|
|
5
1
|
module Ika3
|
|
6
2
|
class Schedule
|
|
7
|
-
|
|
3
|
+
@contact: String
|
|
4
|
+
@salmon_run_team_contest: Salmon
|
|
5
|
+
@splat3_connection: Faraday::Connection
|
|
6
|
+
@event_match: Battle
|
|
8
7
|
|
|
9
|
-
|
|
8
|
+
def initialize: (String) -> void
|
|
9
|
+
def salmon_run_team_contest: -> Salmon
|
|
10
|
+
def event: -> Battle
|
|
10
11
|
|
|
11
|
-
|
|
12
|
+
private
|
|
12
13
|
|
|
14
|
+
def send_request: (Symbol, String) -> Ika3::Response
|
|
13
15
|
def api_url: () -> "https://spla3.yuu26.com/"
|
|
16
|
+
def splat3_connection: () -> Faraday::Connection
|
|
17
|
+
def faraday_options: () -> { url: String, headers: { :"User-Agent" => ::String } }
|
|
14
18
|
|
|
15
|
-
|
|
19
|
+
class Battle
|
|
20
|
+
@start_time: untyped
|
|
21
|
+
@end_time: untyped
|
|
22
|
+
@rule: Rule
|
|
23
|
+
@stages: Array[Stage]
|
|
24
|
+
@is_fest: untyped
|
|
25
|
+
def initialize: (Hash[untyped, untyped] data) -> void
|
|
16
26
|
|
|
17
|
-
|
|
27
|
+
class Stage
|
|
28
|
+
@id: untyped
|
|
29
|
+
@name: String
|
|
30
|
+
@image: untyped
|
|
31
|
+
def initialize: (Hash[untyped, untyped] data) -> void
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
class Rule
|
|
35
|
+
@name: untyped
|
|
36
|
+
@key: untyped
|
|
37
|
+
def initialize: (Hash[untyped, untyped] data) -> void
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
class Salmon
|
|
42
|
+
@start_time: untyped
|
|
43
|
+
@end_time: untyped
|
|
44
|
+
@stage: Stage
|
|
45
|
+
@weapons: Array[Weapon]
|
|
46
|
+
def initialize: (Hash[untyped, untyped] data) -> void
|
|
47
|
+
|
|
48
|
+
class Stage
|
|
49
|
+
@name: String
|
|
50
|
+
@image: untyped
|
|
51
|
+
def initialize: (Hash[untyped, untyped] data) -> void
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
class Weapon
|
|
55
|
+
@name: String
|
|
56
|
+
@image: String
|
|
57
|
+
def initialize: (Hash[untyped, untyped] data) -> void
|
|
58
|
+
end
|
|
59
|
+
end
|
|
18
60
|
end
|
|
19
61
|
end
|
data/sig/ika3/weapon.rbs
CHANGED
|
@@ -1,29 +1,28 @@
|
|
|
1
1
|
module Ika3
|
|
2
2
|
class Weapon
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
def self.
|
|
10
|
-
|
|
11
|
-
def self.filter_by_sub: (
|
|
12
|
-
|
|
13
|
-
def self.
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
def self.
|
|
18
|
-
|
|
19
|
-
def self.
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
def self.valid?: (untyped weapon_key) -> bool
|
|
3
|
+
self.@config: untyped
|
|
4
|
+
self.@cache: untyped
|
|
5
|
+
self.@weapon_hash: Hash[untyped, untyped]
|
|
6
|
+
self.@sub_weapon_hash: Hash[untyped, untyped]
|
|
7
|
+
self.@sub_weapons: untyped
|
|
8
|
+
|
|
9
|
+
def self.find: (Symbol weapon_key) -> W
|
|
10
|
+
def self.find_by_name: (String weapon_name) -> W
|
|
11
|
+
def self.filter_by_sub: (String sub_name) -> Array[W]
|
|
12
|
+
def self.reload_config!: -> nil
|
|
13
|
+
def self.names: -> Array[Symbol]
|
|
14
|
+
def self.weapons: -> Hash[untyped, untyped]
|
|
15
|
+
def self.sub_weapons: -> Hash[untyped, untyped]
|
|
16
|
+
def self.config: -> untyped
|
|
17
|
+
def self.config_sub_weapons: -> untyped
|
|
18
|
+
def self.valid?: (Symbol weapon_key) -> bool
|
|
19
|
+
def self.load_yaml_file: (String file) -> untyped
|
|
20
|
+
|
|
21
|
+
class W
|
|
22
|
+
@name: String
|
|
23
|
+
@sub: String
|
|
24
|
+
@special: String
|
|
25
|
+
def initialize: (Hash[untyped, untyped] data) -> void
|
|
26
|
+
end
|
|
28
27
|
end
|
|
29
28
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ika3
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.9.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- YutaGoto
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2024-01
|
|
11
|
+
date: 2024-03-01 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activesupport
|
|
@@ -16,14 +16,14 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - ">="
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version:
|
|
19
|
+
version: 6.0.0
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - ">="
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version:
|
|
26
|
+
version: 6.0.0
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: faraday
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -60,7 +60,6 @@ files:
|
|
|
60
60
|
- config/weapons.yml
|
|
61
61
|
- ika3.gemspec
|
|
62
62
|
- lib/ika3.rb
|
|
63
|
-
- lib/ika3/concerns/utils.rb
|
|
64
63
|
- lib/ika3/response.rb
|
|
65
64
|
- lib/ika3/schedule.rb
|
|
66
65
|
- lib/ika3/version.rb
|
|
@@ -68,8 +67,9 @@ files:
|
|
|
68
67
|
- rbs_collection.lock.yaml
|
|
69
68
|
- rbs_collection.yaml
|
|
70
69
|
- sig/ika3.rbs
|
|
71
|
-
- sig/ika3/
|
|
70
|
+
- sig/ika3/response.rbs
|
|
72
71
|
- sig/ika3/schedule.rbs
|
|
72
|
+
- sig/ika3/version.rbs
|
|
73
73
|
- sig/ika3/weapon.rbs
|
|
74
74
|
homepage: https://github.com/YutaGoto/ika3
|
|
75
75
|
licenses:
|
|
@@ -93,7 +93,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
93
93
|
- !ruby/object:Gem::Version
|
|
94
94
|
version: '0'
|
|
95
95
|
requirements: []
|
|
96
|
-
rubygems_version: 3.4
|
|
96
|
+
rubygems_version: 3.5.4
|
|
97
97
|
signing_key:
|
|
98
98
|
specification_version: 4
|
|
99
99
|
summary: Splatoon3 weapons information library.
|
data/lib/ika3/concerns/utils.rb
DELETED