Class: SummonerModule

Inherits:
SightstoneBaseModule show all
Defined in:
lib/sightstone/modules/summoner_module.rb

Instance Method Summary collapse

Constructor Details

#initialize(sightstone) ⇒ SummonerModule

Returns a new instance of SummonerModule.



8
9
10
# File 'lib/sightstone/modules/summoner_module.rb', line 8

def initialize(sightstone)
  @sightstone = sightstone
end

Instance Method Details

#masteries(summoner, optional = {}) ⇒ Object



54
55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/sightstone/modules/summoner_module.rb', line 54

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/#{region}/v1.1/summoner/#{id}/masteries"
  response = _get_api_response(uri)
  _parse_response(response) { |resp|
    data = JSON.parse(resp)
    return MasteryBook.new(data)
  }
end

#names(ids, optional = {}) ⇒ Object



28
29
30
31
32
33
34
35
36
37
# File 'lib/sightstone/modules/summoner_module.rb', line 28

def names(ids, optional={})
  region = optional[:region] || @sightstone.region
  ids = ids.join(',')
  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)
    return data['summoners']
  }
end

#runes(summoner, optional = {}) ⇒ Object



39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/sightstone/modules/summoner_module.rb', line 39

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/#{region}/v1.1/summoner/#{id}/runes"
  response = _get_api_response(uri)
  _parse_response(response) { |resp|
    data = JSON.parse(resp)
    return RuneBook.new(data)
  }
end

#summoner(name_or_id, optional = {}) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/sightstone/modules/summoner_module.rb', line 12

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/#{region}/v1.1/summoner/#{name_or_id}"
  else
    "https://prod.api.pvp.net/api/lol/#{region}/v1.1/summoner/by-name/#{URI::encode(name_or_id)}"
  end
  
  response = _get_api_response(uri)
  _parse_response(response) { |resp|
    data = JSON.parse(resp)
    return Summoner.new(data)
  }
end