Class: LeagueOfLegends::Api

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

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Api

Returns a new instance of Api.



8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/league_of_legends/api.rb', line 8

def initialize options = {}
  case options
  when Hash
    opt = self.class.default_options.merge(options)
    set_key(opt[:key])
    set_base_url(opt[:base_url])
  when String
    set_key(options)
    set_base_url(self.class.default_options[:base_url])
  else
    raise ArgumentError.new 'expected a Hash or a String'
  end
end

Instance Attribute Details

#base_urlObject (readonly)

Returns the value of attribute base_url.



6
7
8
# File 'lib/league_of_legends/api.rb', line 6

def base_url
  @base_url
end

#keyObject (readonly)

Returns the value of attribute key.



6
7
8
# File 'lib/league_of_legends/api.rb', line 6

def key
  @key
end

Class Method Details

.default_optionsObject



22
23
24
25
26
27
# File 'lib/league_of_legends/api.rb', line 22

def self.default_options
  {
    key: nil,
    base_url: 'https://prod.api.pvp.net/api/lol'
  }
end

Instance Method Details

#available_requestsObject



35
36
37
# File 'lib/league_of_legends/api.rb', line 35

def available_requests
  ::LeagueOfLegends::Request::Mapper.available
end

#get(request, *arguments) ⇒ Object



29
30
31
32
33
# File 'lib/league_of_legends/api.rb', line 29

def get request, *arguments
  req_class = ::LeagueOfLegends::Request::Mapper.get(request.to_sym)
  request = req_class.new self, *arguments
  request.response
end