Class: Garen::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/garen/client.rb

Instance Method Summary collapse

Constructor Details

#initialize(params = {}) ⇒ Client

Returns a new instance of Client.

Raises:

  • (ArgumentError)


2
3
4
5
6
7
8
9
# File 'lib/garen/client.rb', line 2

def initialize(params = {})
  @api_key          = params[:api_key] || Garen.configuration.api_key
  @service_platform = params[:service_platform] || 'na1'
  @debug            = params[:debug].present? ? :logger : :raise_error

  raise ArgumentError, 'Riot API Key Required' unless @api_key.present?
  @conn = create_connection
end

Instance Method Details

#championObject



27
28
29
# File 'lib/garen/client.rb', line 27

def champion
  Garen::Champion.new(@conn)
end

#champion_masteryObject



31
32
33
# File 'lib/garen/client.rb', line 31

def champion_mastery
  Garen::ChampionMastery.new(@conn)
end

#create_connectionObject



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/garen/client.rb', line 11

def create_connection
  Faraday.new(url: "https://#{@service_platform.downcase}.api.riotgames.com") do |f|
    f.headers['X-Riot-Token'] = @api_key
    f.headers['Accept'] = 'application/json'
    f.headers['User-Agent'] = "Garen api gem #{Garen::VERSION}"

    f.request :url_encoded

    f.response :rashify
    f.response :json
    f.response @debug

    f.adapter Faraday.default_adapter
  end
end

#leagueObject



35
36
37
# File 'lib/garen/client.rb', line 35

def league
  Garen::League.new(@conn)
end

#masteriesObject



39
40
41
# File 'lib/garen/client.rb', line 39

def masteries
  Garen::Masteries.new(@conn)
end

#matchObject



43
44
45
# File 'lib/garen/client.rb', line 43

def match
  Garen::Match.new(@conn)
end

#runesObject



47
48
49
# File 'lib/garen/client.rb', line 47

def runes
  Garen::Runes.new(@conn)
end

#spectatorObject



51
52
53
# File 'lib/garen/client.rb', line 51

def spectator
  Garen::Spectator.new(@conn)
end

#staticObject



55
56
57
# File 'lib/garen/client.rb', line 55

def static
  Garen::Static.new(@conn)
end

#statusObject



59
60
61
# File 'lib/garen/client.rb', line 59

def status
  Garen::Status.new(@conn)
end

#summonerObject



63
64
65
# File 'lib/garen/client.rb', line 63

def summoner
  Garen::Summoner.new(@conn)
end