Class: RiotApi::API

Inherits:
Object
  • Object
show all
Defined in:
lib/riot_api/api.rb

Instance Method Summary collapse

Constructor Details

#initialize(params) ⇒ API

Returns a new instance of API.

Raises:

  • (ArgumentError)


3
4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/riot_api/api.rb', line 3

def initialize(params)
  @api_key             = params[:api_key]
  @region              = params[:region]
  @debug               = params[:debug]
  @ssl                 = params[:ssl] || { :verify => true }
  @base_url            = params[:base_url]            || "http://prod.api.pvp.net/api/lol/#{@region}/"
  @faraday_adapter     = params[:faraday_adapter]     || Faraday.default_adapter
  @raise_status_errors = params[:raise_status_errors] || false
  @faraday             = params[:faraday]             || default_faraday
  raise ArgumentError, ':api_key missing' unless @api_key
  raise ArgumentError, ':region missing' unless @region
  raise ArgumentError, "Invalid Region (Valid regions: 'eune','br','tr','na','euw')" unless ['eune','br','tr','na','euw'].include?(@region)
end

Instance Method Details

#default_faradayObject



25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/riot_api/api.rb', line 25

def default_faraday
  Faraday.new(:url => @base_url, :ssl => @ssl) do |faraday|
    faraday.use Faraday::Response::RaiseError if @raise_status_errors
    faraday.request  :url_encoded
    faraday.response :rashify
    faraday.response :json
    faraday.response(:logger) if @debug
    faraday.adapter @faraday_adapter
    faraday.params['api_key'] = @api_key
    faraday.headers['User-Agent'] = "riot_api rubygem v#{RiotApi::VERSION}"
  end
end

#statsObject



21
22
23
# File 'lib/riot_api/api.rb', line 21

def stats
  RiotApi::Resource::Stats.new(@faraday)
end

#summonerObject



17
18
19
# File 'lib/riot_api/api.rb', line 17

def summoner
  RiotApi::Resource::Summoner.new(@faraday)
end