lib/ika3/schedule.rb in ika3-0.4.0 vs lib/ika3/schedule.rb in ika3-0.4.1
- old
+ new
@@ -1,6 +1,12 @@
+# frozen_string_literal: true
+
class Hash
+ def respond_to_missing?(sym)
+ key? name ? true : super
+ end
+
def method_missing(name)
return self[name] if key? name
each { |k, v| return v if k.to_s.to_sym == name }
super.method_missing(name)
@@ -11,41 +17,53 @@
class Schedule
def initialize(contact)
@contact = contact
end
- modes = ["regular", "bankara_challenge", "bankara_open", "x"]
- schedules = ["now", "next"]
+ modes = %w[regular bankara_challenge bankara_open x fest]
+ schedules = %w[now next]
schedules.each do |schedule|
modes.each do |mode|
define_method("#{mode}_#{schedule}".to_sym) do
- return instance_variable_get("@#{mode}_#{schedule}_obj") if instance_variable_defined?("@#{mode}_#{schedule}_obj")
+ if instance_variable_defined?("@#{mode}_#{schedule}_obj")
+ return instance_variable_get("@#{mode}_#{schedule}_obj")
+ end
- instance_variable_set("@#{mode}_#{schedule}_obj", send_request(:get, "/api/#{mode.dasherize}/#{schedule}").body.results[0])
+ instance_variable_set("@#{mode}_#{schedule}_obj",
+ send_request(:get, "/api/#{mode.dasherize}/#{schedule}").body.results[0])
end
end
define_method("salmon_run_#{schedule}".to_sym) do
- return instance_variable_get("@salmon_run_#{schedule}_obj") if instance_variable_defined?("@salmon_run_#{schedule}_obj")
+ if instance_variable_defined?("@salmon_run_#{schedule}_obj")
+ return instance_variable_get("@salmon_run_#{schedule}_obj")
+ end
- instance_variable_set("@salmon_run_#{schedule}_obj", send_request(:get, "/api/coop-grouping/#{schedule}").body.results[0])
+ instance_variable_set("@salmon_run_#{schedule}_obj",
+ send_request(:get, "/api/coop-grouping/#{schedule}").body.results[0])
end
+
+ def salmon_run_team_contest
+ return @salmon_run_team_contest_obj unless @salmon_run_team_contest_obj.nil?
+
+ @salmon_run_team_contest_obj = send_request(:get, '/api/coop-grouping-team-contest/schedule').body.results[0]
+ end
end
private
def send_request(method, path)
response = splat3_connection.send(method, path)
Ika3::Response.new(response)
end
def api_url
- "https://spla3.yuu26.com/"
+ 'https://spla3.yuu26.com/'
end
def splat3_connection
- @splat3_connection ||= Faraday::new(faraday_options) do |c|
+ @splat3_connection ||= Faraday.new(faraday_options) do |c|
c.request :json
c.response :json
c.adapter Faraday.default_adapter
end
end