class Sports::Butler::Configuration
Constants
- AVAILABLE_APIS
APIs
- AVAILABLE_SPORTS
- AVAILABLE_SPORT_API
Attributes
api_base_url[RW]
api_token[RW]
header_additional[RW]
header_token_name[RW]
Public Class Methods
configure() { |self| ... }
click to toggle source
# File lib/sports/butler/configuration.rb, line 27 def configure raise "You need to configure sports-butler first, see readme." unless block_given? yield self @api_token ||= default_api_hash @api_base_url ||= default_api_hash @header_token_name ||= set_header_token_name @header_additional ||= {} end
default_api_hash()
click to toggle source
# File lib/sports/butler/configuration.rb, line 40 def default_api_hash { soccer: {}, basketball: {} } end
http_party_headers(sport, api_name)
click to toggle source
# File lib/sports/butler/configuration.rb, line 79 def http_party_headers(sport, api_name) result = case api_name # SOCCER when :apifootball_com {} when :football_data_org, :api_football_com { Configuration.header_token_name[sport][api_name] => Configuration.api_token[sport][api_name] } # BASKETBALL when :api_basketball_com { Configuration.header_token_name[sport][api_name] => Configuration.api_token[sport][api_name] } end result.merge!(Configuration.header_additional) result end
http_party_url(path, sport, api_name)
click to toggle source
# File lib/sports/butler/configuration.rb, line 61 def http_party_url(path, sport, api_name) case api_name when :apifootball_com "#{Configuration.api_base_url[sport][api_name]}?#{path}&APIkey=#{Configuration.api_token[sport][api_name]}" else "#{Configuration.api_base_url[sport][api_name]}/#{path}" end end
http_party_url_suffix(url, sport, api_name)
click to toggle source
# File lib/sports/butler/configuration.rb, line 70 def http_party_url_suffix(url, sport, api_name) case api_name when :apifootball_com "#{url}&APIkey=#{Configuration.api_token[sport][api_name]}" else "#{url}" end end
invalid_config?(sport, api_name)
click to toggle source
# File lib/sports/butler/configuration.rb, line 56 def invalid_config?(sport, api_name) Configuration.api_token[sport][api_name].blank? || !Configuration.valid_sport_api?(sport, api_name) end
set_header_token_name()
click to toggle source
# File lib/sports/butler/configuration.rb, line 44 def set_header_token_name { soccer: { football_data_org: 'X-Auth-Token', api_football_com: 'x-apisports-key' }, basketball: { api_basketball_com: 'x-apisports-key' } } end
valid_sport_api?(sport, api_name)
click to toggle source
# File lib/sports/butler/configuration.rb, line 97 def valid_sport_api?(sport, api_name) AVAILABLE_SPORT_API[sport]&.any?{|name| name == api_name} end