From 6600841e8a2ea92531ac93cdd52a9ac3af7facc0 Mon Sep 17 00:00:00 2001 From: danijoo Date: Sun, 15 Dec 2013 01:05:23 +0100 Subject: [PATCH] added optional region to every call --- lib/sightstone.rb | 2 +- lib/sightstone/modules/champion_module.rb | 6 ++++-- lib/sightstone/modules/game_module.rb | 5 +++-- lib/sightstone/modules/league_module.rb | 5 +++-- lib/sightstone/modules/stats_module.rb | 13 +++++++++---- lib/sightstone/modules/summoner_module.rb | 22 +++++++++++++--------- lib/sightstone/modules/team_module.rb | 5 +++-- 7 files changed, 36 insertions(+), 22 deletions(-) diff --git a/lib/sightstone.rb b/lib/sightstone.rb index fed0f93..2639d7b 100644 --- a/lib/sightstone.rb +++ b/lib/sightstone.rb @@ -11,7 +11,7 @@ class Sightstone attr_accessor :region, :api_key attr_accessor :summoner, :champion, :game, :league, :stats, :team - def initialize(api_key, region) + def initialize(api_key, region='euw') @api_key = api_key @region = region diff --git a/lib/sightstone/modules/champion_module.rb b/lib/sightstone/modules/champion_module.rb index 9ce86ea..d1dc53e 100644 --- a/lib/sightstone/modules/champion_module.rb +++ b/lib/sightstone/modules/champion_module.rb @@ -7,8 +7,10 @@ class ChampionModule < SightstoneBaseModule @sightstone = sightstone end - def champions(free_to_play=false) - uri = "https://prod.api.pvp.net/api/lol/#{@sightstone.region}/v1.1/champion" + def champions(, optional={}) + region = optional[:region] || @sightstone.region + free_to_play = optional[:free_to_play] + uri = "https://prod.api.pvp.net/api/lol/#{region}/v1.1/champion" response = _get_api_response(uri, {'freeToPlay' => free_to_play}) puts response diff --git a/lib/sightstone/modules/game_module.rb b/lib/sightstone/modules/game_module.rb index 60e15a0..9ff11ab 100644 --- a/lib/sightstone/modules/game_module.rb +++ b/lib/sightstone/modules/game_module.rb @@ -8,13 +8,14 @@ class GameModule < SightstoneBaseModule @sightstone = sightstone end - def recent(summoner) + def recent(summoner, optional={}) + region = optional[:region] || @sightstone.region id = if summoner.is_a? Summoner summoner.id else summoner end - uri = "https://prod.api.pvp.net/api/lol/#{@sightstone.region}/v1.1/game/by-summoner/#{id}/recent" + uri = "https://prod.api.pvp.net/api/lol/#{region}/v1.1/game/by-summoner/#{id}/recent" response = _get_api_response(uri) _parse_response(response) { |resp| diff --git a/lib/sightstone/modules/league_module.rb b/lib/sightstone/modules/league_module.rb index cfb496f..db54f47 100644 --- a/lib/sightstone/modules/league_module.rb +++ b/lib/sightstone/modules/league_module.rb @@ -7,14 +7,15 @@ class LeagueModule < SightstoneBaseModule @sightstone = sightstone end - def league(summoner) + def league(summoner, optional={}) + region = optional[:region] || @sightstone.region id = if summoner.is_a? Summoner summoner.id else summoner end - uri = "https://prod.api.pvp.net/api/#{@sightstone.region}/v2.1/league/by-summoner/#{id}" + uri = "https://prod.api.pvp.net/api/#{region}/v2.1/league/by-summoner/#{id}" response = _get_api_response(uri) _parse_response(response) { |resp| data = JSON.parse(resp) diff --git a/lib/sightstone/modules/stats_module.rb b/lib/sightstone/modules/stats_module.rb index fba7546..f2000a9 100644 --- a/lib/sightstone/modules/stats_module.rb +++ b/lib/sightstone/modules/stats_module.rb @@ -8,13 +8,16 @@ class StatsModule < SightstoneBaseModule @sightstone = sightstone end - def summary(summoner, season=nil) + def summary(summoner, , optional={}) + region = optional[:region] || @sightstone.region) + season = optional[:season] + id = if summoner.is_a? Summoner summoner.id else summoner end - uri = "https://prod.api.pvp.net/api/lol/#{@sightstone.region}/v1.1/stats/by-summoner/#{id}/summary" + uri = "https://prod.api.pvp.net/api/lol/#{region}/v1.1/stats/by-summoner/#{id}/summary" response = if season.nil? _get_api_response(uri) else @@ -28,13 +31,15 @@ class StatsModule < SightstoneBaseModule end - def ranked(summoner, season=nil) + def ranked(summoner, optional={}) + region = optional[:region] || @sightstone.region + season = optional[:season] id = if summoner.is_a? Summoner summoner.id else summoner end - uri = "https://prod.api.pvp.net/api/lol/#{@sightstone.region}/v1.1/stats/by-summoner/#{id}/ranked" + uri = "https://prod.api.pvp.net/api/lol/#{region}/v1.1/stats/by-summoner/#{id}/ranked" response = if season.nil? _get_api_response(uri) else diff --git a/lib/sightstone/modules/summoner_module.rb b/lib/sightstone/modules/summoner_module.rb index 81006ba..e1d051f 100644 --- a/lib/sightstone/modules/summoner_module.rb +++ b/lib/sightstone/modules/summoner_module.rb @@ -9,11 +9,12 @@ class SummonerModule < SightstoneBaseModule @sightstone = sightstone end - def summoner(name_or_id) + def summoner(name_or_id, optional={}) + region = optional[:region] || @sightstone.region uri = if name_or_id.is_a? Integer - "https://prod.api.pvp.net/api/lol/#{@sightstone.region}/v1.1/summoner/#{name_or_id}" + "https://prod.api.pvp.net/api/lol/#{region}/v1.1/summoner/#{name_or_id}" else - "https://prod.api.pvp.net/api/lol/#{@sightstone.region}/v1.1/summoner/by-name/#{URI::encode(name_or_id)}" + "https://prod.api.pvp.net/api/lol/#{region}/v1.1/summoner/by-name/#{URI::encode(name_or_id)}" end response = _get_api_response(uri) @@ -24,9 +25,10 @@ class SummonerModule < SightstoneBaseModule end - def names(ids) + def names(ids, optional={}) + region = optional[:region] || @sightstone.region ids = ids.join(',') - uri = "http://prod.api.pvp.net/api/lol/#{@sightstone.region}/v1.1/summoner/#{ids}/name" + uri = "http://prod.api.pvp.net/api/lol/#{region}/v1.1/summoner/#{ids}/name" response = _get_api_response(uri) _parse_response(response) { |resp| data = JSON.parse(resp) @@ -34,13 +36,14 @@ class SummonerModule < SightstoneBaseModule } end - def runes(summoner) + def runes(summoner, optional={}) + region = optional[:region] || @sightstone.region id = if summoner.is_a? Summoner summoner.id else summoner end - uri = "http://prod.api.pvp.net/api/lol/#{@sightstone.region}/v1.1/summoner/#{id}/runes" + uri = "http://prod.api.pvp.net/api/lol/#{region}/v1.1/summoner/#{id}/runes" response = _get_api_response(uri) _parse_response(response) { |resp| data = JSON.parse(resp) @@ -48,13 +51,14 @@ class SummonerModule < SightstoneBaseModule } end - def masteries(summoner) + def masteries(summoner, optional={}) + region = optional[:region] || @sightstone.region id = if summoner.is_a? Summoner summoner.id else summoner end - uri = "http://prod.api.pvp.net/api/lol/#{@sightstone.region}/v1.1/summoner/#{id}/masteries" + uri = "http://prod.api.pvp.net/api/lol/#{region}/v1.1/summoner/#{id}/masteries" response = _get_api_response(uri) _parse_response(response) { |resp| data = JSON.parse(resp) diff --git a/lib/sightstone/modules/team_module.rb b/lib/sightstone/modules/team_module.rb index edd3d8c..5642ddc 100644 --- a/lib/sightstone/modules/team_module.rb +++ b/lib/sightstone/modules/team_module.rb @@ -7,14 +7,15 @@ class TeamModule < SightstoneBaseModule @sightstone = sightstone end - def teams(summoner) + def teams(summoner, optional={}) + region = optional[:region] || @sightstone.region id = if summoner.is_a? Summoner summoner.id else summoner end - uri = "https://prod.api.pvp.net/api/#{@sightstone.region}/v2.1/team/by-summoner/#{id}" + uri = "https://prod.api.pvp.net/api/#{region}/v2.1/team/by-summoner/#{id}" response = _get_api_response(uri) _parse_response(response) { |resp|