ika3 0.2.1 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.codespellrc +2 -0
- data/.vscode/settings.json +3 -0
- data/Gemfile.lock +1 -3
- data/README.md +28 -1
- data/Steepfile +0 -1
- data/ika3.gemspec +2 -3
- data/lib/ika3/schedule.rb +38 -31
- data/lib/ika3/version.rb +1 -1
- data/lib/ika3/weapons.rb +2 -6
- data/lib/ika3.rb +0 -1
- data/rbs_collection.lock.yaml +29 -24
- data/rbs_collection.yaml +0 -1
- data/sig/ika3/schedule.rbs +19 -0
- data/sig/ika3/weapon.rbs +1 -5
- metadata +9 -20
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3940b718fc2ccc5f0627bda37240d1b80e6349d35f0e139ce50bcdb0a849ceb5
|
4
|
+
data.tar.gz: 9497b125ea065ddd1e95e4ee808e36d4ad2f3a231641d38d7d1610f8f10d5af4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2ba30b98a1ead55ae553c399603aa5a83c7dd9b816fb624e7bba77004081f99faa3f83930162d5031f73e4d5633e5af10e95de399e8acf9ff8870e1eb6925300
|
7
|
+
data.tar.gz: fb015aaa7b2d88c70595dc5ae778a92d8404e2eb427b53414be65542ad6a967f710977ccab87d88baef9ee0e6dec0b86ffdbbefa754f19ff06ae07f3d8836818
|
data/.codespellrc
ADDED
data/Gemfile.lock
CHANGED
@@ -1,10 +1,9 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
ika3 (0.
|
4
|
+
ika3 (0.3.0)
|
5
5
|
activesupport (>= 5.0.0)
|
6
6
|
faraday (>= 2.7.0)
|
7
|
-
hashie (>= 2.0.5)
|
8
7
|
|
9
8
|
GEM
|
10
9
|
remote: https://rubygems.org/
|
@@ -24,7 +23,6 @@ GEM
|
|
24
23
|
faraday-net_http (3.0.2)
|
25
24
|
ffi (1.15.5)
|
26
25
|
fileutils (1.6.0)
|
27
|
-
hashie (5.0.0)
|
28
26
|
i18n (1.12.0)
|
29
27
|
concurrent-ruby (~> 1.0)
|
30
28
|
json (2.6.2)
|
data/README.md
CHANGED
@@ -17,7 +17,7 @@ If bundler is not being used to manage dependencies, install the gem by executin
|
|
17
17
|
## Usage
|
18
18
|
|
19
19
|
```ruby
|
20
|
-
|
20
|
+
require "ika3"
|
21
21
|
```
|
22
22
|
|
23
23
|
### Find Weapon data
|
@@ -44,6 +44,33 @@ splatbombs
|
|
44
44
|
{:name=>"パブロ", :sub=>"スプラボム", :special=>"メガホンレーザー5.1ch"}]
|
45
45
|
```
|
46
46
|
|
47
|
+
### Get Schedule
|
48
|
+
|
49
|
+
Initialize with your contact information. e.g. Twitter, GitHub, Homepage URL and so on.
|
50
|
+
|
51
|
+
```ruby
|
52
|
+
ika3_schedule = Ika3::Schedule.new('GitHub@YutaGoto')
|
53
|
+
ika3_schedule.bankara_challenge_next
|
54
|
+
=>
|
55
|
+
{"start_time"=>"2023-02-07T13:00:00+09:00",
|
56
|
+
"end_time"=>"2023-02-07T15:00:00+09:00",
|
57
|
+
"rule"=>{"key"=>"LOFT", "name"=>"ガチヤグラ"},
|
58
|
+
"stages"=>
|
59
|
+
[{"id"=>9,
|
60
|
+
"name"=>"ヒラメが丘団地",
|
61
|
+
"image"=> "https://....."},
|
62
|
+
{"id"=>11,
|
63
|
+
"name"=>"キンメダイ美術館",
|
64
|
+
"image"=> "https://...."}],
|
65
|
+
"is_fest"=>false}
|
66
|
+
```
|
67
|
+
|
68
|
+
## Note
|
69
|
+
|
70
|
+
This gem is NOT related to Nintendo.
|
71
|
+
|
72
|
+
The Schedule is used an unofficial API. <https://spla3.yuu26.com/>
|
73
|
+
|
47
74
|
## Contributing
|
48
75
|
|
49
76
|
Bug reports and pull requests are welcome on GitHub at https://github.com/YutaGoto/ika3.
|
data/Steepfile
CHANGED
data/ika3.gemspec
CHANGED
@@ -8,8 +8,8 @@ Gem::Specification.new do |spec|
|
|
8
8
|
spec.authors = ["YutaGoto"]
|
9
9
|
spec.email = ["you.goto.510@gmail.com"]
|
10
10
|
|
11
|
-
spec.summary = "Splatoon3 weapons
|
12
|
-
spec.description = "Splatoon3 weapons
|
11
|
+
spec.summary = "Splatoon3 weapons information library."
|
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
15
|
spec.required_ruby_version = ">= 2.7.0"
|
@@ -32,7 +32,6 @@ Gem::Specification.new do |spec|
|
|
32
32
|
|
33
33
|
spec.add_dependency "faraday", ">= 2.7.0"
|
34
34
|
spec.add_dependency "activesupport", ">= 5.0.0"
|
35
|
-
spec.add_dependency "hashie", ">= 2.0.5"
|
36
35
|
|
37
36
|
# For more information and examples about making a new gem, check out our
|
38
37
|
# guide at: https://bundler.io/guides/creating_gem.html
|
data/lib/ika3/schedule.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
class Hash
|
2
2
|
def method_missing(name)
|
3
|
-
return self[name]
|
3
|
+
return self[name] if key? name
|
4
4
|
|
5
5
|
each { |k, v| return v if k.to_s.to_sym == name }
|
6
6
|
super.method_missing(name)
|
@@ -9,48 +9,55 @@ end
|
|
9
9
|
|
10
10
|
module Ika3
|
11
11
|
class Schedule
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
schedules.each do |schedule|
|
17
|
-
modes.each do |mode|
|
18
|
-
define_method("#{mode}_#{schedule}".to_sym) do
|
19
|
-
return instance_variable_get("@#{mode}_#{schedule}_obj") if instance_variable_defined?("@#{mode}_#{schedule}_obj")
|
12
|
+
def initialize(contact)
|
13
|
+
@contact = contact
|
14
|
+
end
|
20
15
|
|
21
|
-
|
22
|
-
|
23
|
-
end
|
16
|
+
modes = ["regular", "bankara_challenge", "bankara_open", "x"]
|
17
|
+
schedules = ["now", "next"]
|
24
18
|
|
25
|
-
|
26
|
-
|
19
|
+
schedules.each do |schedule|
|
20
|
+
modes.each do |mode|
|
21
|
+
define_method("#{mode}_#{schedule}".to_sym) do
|
22
|
+
return instance_variable_get("@#{mode}_#{schedule}_obj") if instance_variable_defined?("@#{mode}_#{schedule}_obj")
|
27
23
|
|
28
|
-
instance_variable_set("
|
24
|
+
instance_variable_set("@#{mode}_#{schedule}_obj", send_request(:get, "/api/#{mode.dasherize}/#{schedule}").body.results[0])
|
29
25
|
end
|
30
26
|
end
|
31
27
|
|
32
|
-
|
28
|
+
define_method("salmon_run_#{schedule}".to_sym) do
|
29
|
+
return instance_variable_get("@salmon_run_#{schedule}_obj") if instance_variable_defined?("@salmon_run_#{schedule}_obj")
|
33
30
|
|
34
|
-
|
35
|
-
response = splat3_connection.send(method, path, params, headers)
|
36
|
-
Ika3::Response.new(response)
|
31
|
+
instance_variable_set("@salmon_run_#{schedule}_obj", send_request(:get, "/api/coop-grouping/#{schedule}").body.results[0])
|
37
32
|
end
|
33
|
+
end
|
38
34
|
|
39
|
-
|
40
|
-
"https://spla3.yuu26.com/"
|
41
|
-
end
|
35
|
+
private
|
42
36
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
37
|
+
def send_request(method, path)
|
38
|
+
response = splat3_connection.send(method, path)
|
39
|
+
Ika3::Response.new(response)
|
40
|
+
end
|
41
|
+
|
42
|
+
def api_url
|
43
|
+
"https://spla3.yuu26.com/"
|
44
|
+
end
|
50
45
|
|
51
|
-
|
52
|
-
|
46
|
+
def splat3_connection
|
47
|
+
@splat3_connection ||= Faraday::new(faraday_options) do |c|
|
48
|
+
c.request :json
|
49
|
+
c.response :json
|
50
|
+
c.adapter Faraday.default_adapter
|
53
51
|
end
|
54
52
|
end
|
53
|
+
|
54
|
+
def faraday_options
|
55
|
+
{
|
56
|
+
url: api_url,
|
57
|
+
headers: {
|
58
|
+
'User-Agent': "Ika3Gem/#{Ika3::VERSION}(#{@contact})"
|
59
|
+
}
|
60
|
+
}
|
61
|
+
end
|
55
62
|
end
|
56
63
|
end
|
data/lib/ika3/version.rb
CHANGED
data/lib/ika3/weapons.rb
CHANGED
@@ -1,13 +1,9 @@
|
|
1
1
|
module Ika3
|
2
|
-
class Weapon
|
3
|
-
include Hashie::Extensions::MethodAccess
|
4
|
-
|
2
|
+
class Weapon
|
5
3
|
ATTRIBUTES = [
|
6
4
|
:name, :sub, :special
|
7
5
|
].freeze
|
8
6
|
|
9
|
-
attr_accessor :io
|
10
|
-
|
11
7
|
ATTRIBUTES.each do |attribute|
|
12
8
|
define_method attribute do
|
13
9
|
self[attribute]
|
@@ -23,7 +19,7 @@ module Ika3
|
|
23
19
|
@cache ||= {}
|
24
20
|
unless @cache[weapon_key]
|
25
21
|
weapon_config = config[weapon_key] || {}
|
26
|
-
@cache[weapon_key] =
|
22
|
+
@cache[weapon_key] = weapon_config
|
27
23
|
end
|
28
24
|
|
29
25
|
@cache[weapon_key]
|
data/lib/ika3.rb
CHANGED
data/rbs_collection.lock.yaml
CHANGED
@@ -6,34 +6,42 @@ sources:
|
|
6
6
|
repo_dir: gems
|
7
7
|
path: ".gem_rbs_collection"
|
8
8
|
gems:
|
9
|
-
- name:
|
10
|
-
version: '
|
9
|
+
- name: activesupport
|
10
|
+
version: '7.0'
|
11
11
|
source:
|
12
12
|
type: git
|
13
13
|
name: ruby/gem_rbs_collection
|
14
|
-
revision:
|
14
|
+
revision: c42c09528dd99252db98f0744181a6de54ec2f55
|
15
15
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
16
16
|
repo_dir: gems
|
17
|
-
- name:
|
18
|
-
version: '
|
17
|
+
- name: ast
|
18
|
+
version: '2.4'
|
19
19
|
source:
|
20
20
|
type: git
|
21
21
|
name: ruby/gem_rbs_collection
|
22
|
-
revision:
|
22
|
+
revision: c42c09528dd99252db98f0744181a6de54ec2f55
|
23
23
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
24
24
|
repo_dir: gems
|
25
|
-
- name:
|
26
|
-
version: '
|
25
|
+
- name: concurrent-ruby
|
26
|
+
version: '1.1'
|
27
27
|
source:
|
28
28
|
type: git
|
29
29
|
name: ruby/gem_rbs_collection
|
30
|
-
revision:
|
30
|
+
revision: c42c09528dd99252db98f0744181a6de54ec2f55
|
31
31
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
32
32
|
repo_dir: gems
|
33
33
|
- name: csv
|
34
34
|
version: '0'
|
35
35
|
source:
|
36
36
|
type: stdlib
|
37
|
+
- name: faraday
|
38
|
+
version: '2.5'
|
39
|
+
source:
|
40
|
+
type: git
|
41
|
+
name: ruby/gem_rbs_collection
|
42
|
+
revision: c42c09528dd99252db98f0744181a6de54ec2f55
|
43
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
44
|
+
repo_dir: gems
|
37
45
|
- name: fileutils
|
38
46
|
version: '0'
|
39
47
|
source:
|
@@ -43,13 +51,9 @@ gems:
|
|
43
51
|
source:
|
44
52
|
type: git
|
45
53
|
name: ruby/gem_rbs_collection
|
46
|
-
revision:
|
54
|
+
revision: c42c09528dd99252db98f0744181a6de54ec2f55
|
47
55
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
48
56
|
repo_dir: gems
|
49
|
-
- name: ika3
|
50
|
-
version: 0.1.0
|
51
|
-
source:
|
52
|
-
type: rubygems
|
53
57
|
- name: json
|
54
58
|
version: '0'
|
55
59
|
source:
|
@@ -59,7 +63,7 @@ gems:
|
|
59
63
|
source:
|
60
64
|
type: git
|
61
65
|
name: ruby/gem_rbs_collection
|
62
|
-
revision:
|
66
|
+
revision: c42c09528dd99252db98f0744181a6de54ec2f55
|
63
67
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
64
68
|
repo_dir: gems
|
65
69
|
- name: logger
|
@@ -75,7 +79,7 @@ gems:
|
|
75
79
|
source:
|
76
80
|
type: git
|
77
81
|
name: ruby/gem_rbs_collection
|
78
|
-
revision:
|
82
|
+
revision: c42c09528dd99252db98f0744181a6de54ec2f55
|
79
83
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
80
84
|
repo_dir: gems
|
81
85
|
- name: rainbow
|
@@ -83,7 +87,7 @@ gems:
|
|
83
87
|
source:
|
84
88
|
type: git
|
85
89
|
name: ruby/gem_rbs_collection
|
86
|
-
revision:
|
90
|
+
revision: c42c09528dd99252db98f0744181a6de54ec2f55
|
87
91
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
88
92
|
repo_dir: gems
|
89
93
|
- name: securerandom
|
@@ -91,26 +95,26 @@ gems:
|
|
91
95
|
source:
|
92
96
|
type: stdlib
|
93
97
|
- name: steep
|
94
|
-
version: 1.
|
98
|
+
version: 1.3.0
|
95
99
|
source:
|
96
100
|
type: rubygems
|
97
101
|
- name: strscan
|
98
102
|
version: '0'
|
99
103
|
source:
|
100
104
|
type: stdlib
|
101
|
-
- name:
|
105
|
+
- name: date
|
102
106
|
version: '0'
|
103
107
|
source:
|
104
108
|
type: stdlib
|
105
|
-
- name:
|
109
|
+
- name: monitor
|
106
110
|
version: '0'
|
107
111
|
source:
|
108
112
|
type: stdlib
|
109
|
-
- name:
|
113
|
+
- name: mutex_m
|
110
114
|
version: '0'
|
111
115
|
source:
|
112
116
|
type: stdlib
|
113
|
-
- name:
|
117
|
+
- name: singleton
|
114
118
|
version: '0'
|
115
119
|
source:
|
116
120
|
type: stdlib
|
@@ -118,11 +122,12 @@ gems:
|
|
118
122
|
version: '0'
|
119
123
|
source:
|
120
124
|
type: stdlib
|
121
|
-
- name:
|
125
|
+
- name: forwardable
|
122
126
|
version: '0'
|
123
127
|
source:
|
124
128
|
type: stdlib
|
125
|
-
- name:
|
129
|
+
- name: uri
|
126
130
|
version: '0'
|
127
131
|
source:
|
128
132
|
type: stdlib
|
133
|
+
gemfile_lock_path: Gemfile.lock
|
data/rbs_collection.yaml
CHANGED
@@ -0,0 +1,19 @@
|
|
1
|
+
class Hash[unchecked out K, unchecked out V] < Object
|
2
|
+
def method_missing: (name: String) -> untyped
|
3
|
+
end
|
4
|
+
|
5
|
+
module Ika3
|
6
|
+
class Schedule
|
7
|
+
def initialize: (contact: String) -> void
|
8
|
+
|
9
|
+
private
|
10
|
+
|
11
|
+
def send_request: (method: String, path: String) -> Object
|
12
|
+
|
13
|
+
def api_url: () -> "https://spla3.yuu26.com/"
|
14
|
+
|
15
|
+
def splat3_connection: () -> untyped
|
16
|
+
|
17
|
+
def faraday_options: () -> { url: String, headers: { :"User-Agent" => ::String } }
|
18
|
+
end
|
19
|
+
end
|
data/sig/ika3/weapon.rbs
CHANGED
@@ -1,11 +1,7 @@
|
|
1
1
|
module Ika3
|
2
|
-
class Weapon
|
3
|
-
include Hashie::Extensions::MethodAccess
|
4
|
-
|
2
|
+
class Weapon
|
5
3
|
ATTRIBUTES: ::Array[:name | :sub | :special]
|
6
4
|
|
7
|
-
attr_accessor io: untyped
|
8
|
-
|
9
5
|
include Ika3::Concerns::Utils
|
10
6
|
|
11
7
|
def self.find: (untyped weapon_key) -> untyped
|
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.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- YutaGoto
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-02-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -38,29 +38,17 @@ dependencies:
|
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: 5.0.0
|
41
|
-
|
42
|
-
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: 2.0.5
|
48
|
-
type: :runtime
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: 2.0.5
|
55
|
-
description: Splatoon3 weapons infomation library. This gem provide weapon name, sub,
|
56
|
-
and special. not official
|
41
|
+
description: Splatoon3 weapons information library. This gem provide weapon name,
|
42
|
+
sub, and special. not official
|
57
43
|
email:
|
58
44
|
- you.goto.510@gmail.com
|
59
45
|
executables: []
|
60
46
|
extensions: []
|
61
47
|
extra_rdoc_files: []
|
62
48
|
files:
|
49
|
+
- ".codespellrc"
|
63
50
|
- ".rspec"
|
51
|
+
- ".vscode/settings.json"
|
64
52
|
- Gemfile
|
65
53
|
- Gemfile.lock
|
66
54
|
- LICENSE.txt
|
@@ -80,6 +68,7 @@ files:
|
|
80
68
|
- rbs_collection.yaml
|
81
69
|
- sig/ika3.rbs
|
82
70
|
- sig/ika3/concerns/utils.rbs
|
71
|
+
- sig/ika3/schedule.rbs
|
83
72
|
- sig/ika3/weapon.rbs
|
84
73
|
homepage: https://github.com/YutaGoto/ika3
|
85
74
|
licenses:
|
@@ -102,8 +91,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
102
91
|
- !ruby/object:Gem::Version
|
103
92
|
version: '0'
|
104
93
|
requirements: []
|
105
|
-
rubygems_version: 3.4.
|
94
|
+
rubygems_version: 3.4.6
|
106
95
|
signing_key:
|
107
96
|
specification_version: 4
|
108
|
-
summary: Splatoon3 weapons
|
97
|
+
summary: Splatoon3 weapons information library.
|
109
98
|
test_files: []
|