ika3 1.0.0 → 1.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 38279f0b0b16b27717d0dac589f9502db21d4e495faf284a0b468cfc2322a802
4
- data.tar.gz: 9aa1d7a5aacbd8a7385bf5fb1cf89927d15b1ef7f1399319d23c50df467132db
3
+ metadata.gz: 86383c0eb5f100a657f05f0aaba2ae54e38110b9efe6b21e11163390ad46d880
4
+ data.tar.gz: d78a670bbd8d884539f268d746cd116a026f6e007066ffadf8d5f336fbd1528f
5
5
  SHA512:
6
- metadata.gz: d1a8c491511bc46a14601858d6e743f728ef1c08e83ed97f4457e9d50634da37bb8c066bfe2655bf996bf3e98b43f6eefc3935d7cdfd75531cd3529be5d000ed
7
- data.tar.gz: 6ac42627b602ba41685506c677ddcd0d5dfa7f1c155780bbc7b53cfb9669273c7eba8d117580774c15ff3b901da5cc041caa0a83ef09f57e1a0c7da1c4d5674b
6
+ metadata.gz: d4415279ca2ff1808a3575b052d7adb679b841d276a886031185d8df5d83569a3e3d8ef24e8ed0efec796dd1fbeb2de7fdff3803bd86ffaf4e02b8cd2ae41314
7
+ data.tar.gz: 0b77f4bce907b88e535a8730cf6e28e7011ac755895c5b6256c482352796e3aa676c5fcd4113297ed578273ec0e7afe48e496172ba4b953e25a5e5ace94e59f8
data/.rubocop.yml CHANGED
@@ -1,11 +1,14 @@
1
1
  require:
2
2
  - rubocop-rspec
3
3
  - rubocop-rake
4
- - rubocop-rbs
4
+ - rubocop-on-rbs
5
5
 
6
6
  AllCops:
7
7
  NewCops: enable
8
- TargetRubyVersion: 3.0
8
+ TargetRubyVersion: 3.1
9
+
10
+ RBS:
11
+ Enabled: true
9
12
 
10
13
  Layout/LineLength:
11
14
  Exclude:
@@ -23,9 +26,5 @@ RSpec/ExampleLength:
23
26
  Max: 15
24
27
  CountAsOne: ["array", "hash", "heredoc"]
25
28
 
26
- Rbs/MethodSignature:
27
- Exclude:
28
- - 'lib/ika3/schedule.rb'
29
-
30
29
  Style/Documentation:
31
30
  Enabled: false
data/Gemfile CHANGED
@@ -12,6 +12,6 @@ gem 'rubocop', require: false
12
12
  gem 'steep'
13
13
  gem 'typeprof'
14
14
 
15
+ gem 'rubocop-on-rbs', '~> 1.1'
15
16
  gem 'rubocop-rake', '~> 0.6.0'
16
- gem 'rubocop-rbs', '~> 0.1.1'
17
- gem 'rubocop-rspec', '~> 3.0'
17
+ gem 'rubocop-rspec', '~> 3.2'
data/Gemfile.lock CHANGED
@@ -1,52 +1,55 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ika3 (1.0.0)
4
+ ika3 (1.1.0)
5
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
- activesupport (7.1.4)
11
+ activesupport (7.2.2)
12
12
  base64
13
+ benchmark (>= 0.3)
13
14
  bigdecimal
14
- concurrent-ruby (~> 1.0, >= 1.0.2)
15
+ concurrent-ruby (~> 1.0, >= 1.3.1)
15
16
  connection_pool (>= 2.2.5)
16
17
  drb
17
18
  i18n (>= 1.6, < 2)
19
+ logger (>= 1.4.2)
18
20
  minitest (>= 5.1)
19
- mutex_m
20
- tzinfo (~> 2.0)
21
+ securerandom (>= 0.3)
22
+ tzinfo (~> 2.0, >= 2.0.5)
21
23
  ast (2.4.2)
22
24
  base64 (0.2.0)
25
+ benchmark (0.4.0)
23
26
  bigdecimal (3.1.8)
24
27
  concurrent-ruby (1.3.4)
25
28
  connection_pool (2.4.1)
26
29
  csv (3.3.0)
27
30
  diff-lcs (1.5.1)
28
31
  drb (2.2.1)
29
- faraday (2.11.0)
32
+ faraday (2.12.0)
30
33
  faraday-net_http (>= 2.0, < 3.4)
34
+ json
31
35
  logger
32
36
  faraday-net_http (3.3.0)
33
37
  net-http
34
38
  ffi (1.17.0-x86_64-linux-gnu)
35
- fileutils (1.7.2)
36
- i18n (1.14.5)
39
+ fileutils (1.7.3)
40
+ i18n (1.14.6)
37
41
  concurrent-ruby (~> 1.0)
38
- json (2.7.2)
42
+ json (2.8.1)
39
43
  language_server-protocol (3.17.0.3)
40
44
  listen (3.9.0)
41
45
  rb-fsevent (~> 0.10, >= 0.10.3)
42
46
  rb-inotify (~> 0.9, >= 0.9.10)
43
- logger (1.6.0)
47
+ logger (1.6.1)
44
48
  minitest (5.25.1)
45
- mutex_m (0.2.0)
46
- net-http (0.4.1)
49
+ net-http (0.5.0)
47
50
  uri
48
51
  parallel (1.26.3)
49
- parser (3.3.5.0)
52
+ parser (3.3.6.0)
50
53
  ast (~> 2.4.1)
51
54
  racc
52
55
  racc (1.8.1)
@@ -55,7 +58,7 @@ GEM
55
58
  rb-fsevent (0.11.2)
56
59
  rb-inotify (0.11.1)
57
60
  ffi (~> 1.0)
58
- rbs (3.5.3)
61
+ rbs (3.6.1)
59
62
  logger
60
63
  regexp_parser (2.9.2)
61
64
  rspec (3.13.0)
@@ -71,7 +74,7 @@ GEM
71
74
  diff-lcs (>= 1.2.0, < 2.0)
72
75
  rspec-support (~> 3.13.0)
73
76
  rspec-support (3.13.0)
74
- rubocop (1.66.1)
77
+ rubocop (1.68.0)
75
78
  json (~> 2.3)
76
79
  language_server-protocol (>= 3.17.0)
77
80
  parallel (~> 1.10)
@@ -81,18 +84,19 @@ GEM
81
84
  rubocop-ast (>= 1.32.2, < 2.0)
82
85
  ruby-progressbar (~> 1.7)
83
86
  unicode-display_width (>= 2.4.0, < 3.0)
84
- rubocop-ast (1.32.3)
87
+ rubocop-ast (1.33.1)
85
88
  parser (>= 3.3.1.0)
89
+ rubocop-on-rbs (1.1.0)
90
+ rbs (~> 3.5)
91
+ rubocop (~> 1.61)
92
+ zlib
86
93
  rubocop-rake (0.6.0)
87
94
  rubocop (~> 1.0)
88
- rubocop-rbs (0.1.1)
89
- rbs
90
- rubocop
91
- rubocop-rspec (3.0.5)
95
+ rubocop-rspec (3.2.0)
92
96
  rubocop (~> 1.61)
93
97
  ruby-progressbar (1.13.0)
94
98
  securerandom (0.3.1)
95
- steep (1.7.1)
99
+ steep (1.8.3)
96
100
  activesupport (>= 5.1)
97
101
  concurrent-ruby (>= 1.1.10)
98
102
  csv (>= 3.0.9)
@@ -103,7 +107,7 @@ GEM
103
107
  logger (>= 1.3.0)
104
108
  parser (>= 3.1)
105
109
  rainbow (>= 2.2.2, < 4.0)
106
- rbs (>= 3.5.0.pre)
110
+ rbs (~> 3.6.0)
107
111
  securerandom (>= 0.1)
108
112
  strscan (>= 1.0.0)
109
113
  terminal-table (>= 2, < 4)
@@ -114,8 +118,9 @@ GEM
114
118
  rbs (>= 1.8.1)
115
119
  tzinfo (2.0.6)
116
120
  concurrent-ruby (~> 1.0)
117
- unicode-display_width (2.5.0)
118
- uri (0.13.1)
121
+ unicode-display_width (2.6.0)
122
+ uri (1.0.1)
123
+ zlib (3.1.1)
119
124
 
120
125
  PLATFORMS
121
126
  x86_64-linux
@@ -126,9 +131,9 @@ DEPENDENCIES
126
131
  rbs
127
132
  rspec (~> 3.13)
128
133
  rubocop
134
+ rubocop-on-rbs (~> 1.1)
129
135
  rubocop-rake (~> 0.6.0)
130
- rubocop-rbs (~> 0.1.1)
131
- rubocop-rspec (~> 3.0)
136
+ rubocop-rspec (~> 3.2)
132
137
  steep
133
138
  typeprof
134
139
 
@@ -0,0 +1,56 @@
1
+ big_bubbler: &big_bubbler
2
+ name: グレートバリア
3
+
4
+ booyah_bomb: &booyah_bomb
5
+ name: ナイスダマ
6
+
7
+ crab_tank: &crab_tank
8
+ name: カニタンク
9
+
10
+ ink_storm: &ink_storm
11
+ name: アメフラシ
12
+
13
+ ink_vac: &ink_vac
14
+ name: キューインキ
15
+
16
+ inkjet: &inkjet
17
+ name: ジェットパック
18
+
19
+ killer_wall_5_1: &killer_wall_5_1
20
+ name: メガホンレーザー5.1ch
21
+
22
+ kraken_royale: &kraken_royale
23
+ name: テイオウイカ
24
+
25
+ reefslider: &reefslider
26
+ name: サメライド
27
+
28
+ splattercolor_screen: &splattercolor_screen
29
+ name: スミナガシート
30
+
31
+ super_chump: &super_chump
32
+ name: デコイチラシ
33
+
34
+ tacticooler: &tacticooler
35
+ name: エナジースタンド
36
+
37
+ tenta_missiles: &tenta_missiles
38
+ name: マルチミサイル
39
+
40
+ triple_inkstrike: &triple_inkstrike
41
+ name: トリプルトルネード
42
+
43
+ triple_splashdown: &triple_splashdown
44
+ name: ウルトラチャクチ
45
+
46
+ trizooka: &trizooka
47
+ name: ウルトラショット
48
+
49
+ ultra_stamp: &ultra_stamp
50
+ name: ウルトラハンコ
51
+
52
+ wave_breaker: &wave_breaker
53
+ name: ホップソナー
54
+
55
+ zipcaster: &zipcaster
56
+ name: ショクワンダー
data/ika3.gemspec CHANGED
@@ -12,7 +12,7 @@ Gem::Specification.new do |spec|
12
12
  spec.description = 'Splatoon3 weapons information library. This gem provide weapon name, sub, and special. not official'
13
13
  spec.homepage = 'https://github.com/YutaGoto/ika3'
14
14
  spec.license = 'MIT'
15
- spec.required_ruby_version = '>= 3.0.0'
15
+ spec.required_ruby_version = '>= 3.1.0'
16
16
 
17
17
  spec.metadata['homepage_uri'] = spec.homepage
18
18
  spec.metadata['source_code_uri'] = 'https://github.com/YutaGoto/ika3'
data/lib/ika3/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Ika3
4
- VERSION = '1.0.0'
4
+ VERSION = '1.1.0'
5
5
  end
data/lib/ika3/weapons.rb CHANGED
@@ -41,12 +41,20 @@ module Ika3
41
41
  weapons.map { |weapon| W.new(weapon) }
42
42
  end
43
43
 
44
+ def filter_by_special(special_name)
45
+ raise "unknown special weapon: #{special_name}" unless special_weapons.values.include?(special_name)
46
+
47
+ weapons = config.values.filter { |weapon| weapon[:special] == special_name }
48
+ weapons.map { |weapon| W.new(weapon) }
49
+ end
50
+
44
51
  def reload_config!
45
52
  @cache = {}
46
53
  @config = nil
47
54
  @sub_weapons = nil
48
55
  config
49
56
  config_sub_weapons
57
+ config_special_weapons
50
58
  end
51
59
 
52
60
  private
@@ -75,21 +83,36 @@ module Ika3
75
83
  @sub_weapon_hash
76
84
  end
77
85
 
86
+ def special_weapons
87
+ @special_weapon_hash ||= {}
88
+ if @special_weapon_hash.empty?
89
+ config_special_weapons.each do |key, value|
90
+ @special_weapon_hash[key] = value[:name]
91
+ end
92
+ end
93
+ @special_weapon_hash
94
+ end
95
+
78
96
  def config
79
- @config ||= load_yaml_file("#{File.dirname(__FILE__)}/../../config/weapons.yml").deep_symbolize_keys
97
+ @config ||= load_yaml("#{File.dirname(__FILE__)}/../../config/weapons.yml").deep_symbolize_keys
80
98
  @config
81
99
  end
82
100
 
83
101
  def config_sub_weapons
84
- @sub_weapons ||= load_yaml_file("#{File.dirname(__FILE__)}/../../config/sub_weapons.yml").deep_symbolize_keys
102
+ @sub_weapons ||= load_yaml("#{File.dirname(__FILE__)}/../../config/sub_weapons.yml").deep_symbolize_keys
85
103
  @sub_weapons
86
104
  end
87
105
 
106
+ def config_special_weapons
107
+ @special_weapons ||= load_yaml("#{File.dirname(__FILE__)}/../../config/special_weapons.yml").deep_symbolize_keys
108
+ @special_weapons
109
+ end
110
+
88
111
  def valid?(weapon_key)
89
112
  names.include?(weapon_key)
90
113
  end
91
114
 
92
- def load_yaml_file(file)
115
+ def load_yaml(file)
93
116
  YAML.safe_load_file(file, aliases: true)
94
117
  end
95
118
  end
@@ -6,8 +6,8 @@ module Ika3
6
6
  @event_match: Battle
7
7
 
8
8
  def initialize: (String) -> void
9
- def salmon_run_team_contest: -> Salmon
10
- def event: -> Battle
9
+ def salmon_run_team_contest: () -> Salmon
10
+ def event: () -> Battle
11
11
 
12
12
  private
13
13
 
data/sig/ika3/weapon.rbs CHANGED
@@ -5,18 +5,23 @@ module Ika3
5
5
  self.@weapon_hash: Hash[untyped, untyped]
6
6
  self.@sub_weapon_hash: Hash[untyped, untyped]
7
7
  self.@sub_weapons: untyped
8
+ self.@special_weapon_hash: Hash[untyped, untyped]
9
+ self.@special_weapons: untyped
8
10
 
9
11
  def self.find: (Symbol weapon_key) -> W
10
12
  def self.find_by_name: (String weapon_name) -> W
11
13
  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
14
+ def self.filter_by_special: (String special_name) -> Array[W]
15
+ def self.reload_config!: () -> nil
16
+ def self.names: () -> Array[Symbol]
17
+ def self.weapons: () -> Hash[untyped, untyped]
18
+ def self.sub_weapons: () -> Hash[untyped, untyped]
19
+ def self.special_weapons: () -> Hash[untyped, untyped]
20
+ def self.config: () -> untyped
21
+ def self.config_sub_weapons: () -> untyped
22
+ def self.config_special_weapons: () -> untyped
18
23
  def self.valid?: (Symbol weapon_key) -> bool
19
- def self.load_yaml_file: (String file) -> untyped
24
+ def self.load_yaml: (String file) -> untyped
20
25
 
21
26
  class W
22
27
  @name: String
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: 1.0.0
4
+ version: 1.1.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-09-18 00:00:00.000000000 Z
11
+ date: 2024-11-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -57,6 +57,7 @@ files:
57
57
  - README.md
58
58
  - Rakefile
59
59
  - Steepfile
60
+ - config/special_weapons.yml
60
61
  - config/sub_weapons.yml
61
62
  - config/weapons.yml
62
63
  - ika3.gemspec
@@ -87,14 +88,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
87
88
  requirements:
88
89
  - - ">="
89
90
  - !ruby/object:Gem::Version
90
- version: 3.0.0
91
+ version: 3.1.0
91
92
  required_rubygems_version: !ruby/object:Gem::Requirement
92
93
  requirements:
93
94
  - - ">="
94
95
  - !ruby/object:Gem::Version
95
96
  version: '0'
96
97
  requirements: []
97
- rubygems_version: 3.5.11
98
+ rubygems_version: 3.5.16
98
99
  signing_key:
99
100
  specification_version: 4
100
101
  summary: Splatoon3 weapons information library.