Class: LolesportsApi::BaseApiObject

Inherits:
Object
  • Object
show all
Defined in:
lib/lolesports-api/base.rb

Direct Known Subclasses

Game, League, Match, Player, Series, Team, Tournament

Constant Summary collapse

SCHEDULE_URL =
'http://na.lolesports.com/api/schedule.json'

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.fail_by_status(response) ⇒ Object



26
27
28
29
30
# File 'lib/lolesports-api/base.rb', line 26

def self.fail_by_status(response)
  klass =
    LolesportsApi::Error::ERRORS[response.status] || LolesportsApi::Error
  fail klass
end

.find(base_id) ⇒ Object



9
10
11
12
13
14
15
# File 'lib/lolesports-api/base.rb', line 9

def self.find(base_id)
  response = Faraday.get("#{self::API_URL}/#{base_id}.json")
  fail_by_status(response) unless response.success?
  @attributes = JSON.parse(response.body)
  @attributes['id'] = base_id
  @base_object = new(@attributes)
end

Instance Method Details

#reloadObject



17
18
19
20
21
22
23
24
# File 'lib/lolesports-api/base.rb', line 17

def reload
  response = Faraday.get("#{self.class::API_URL}/#{@id}.json")
  self.class.fail_by_status(response) unless response.success?
  @attributes = JSON.parse(response.body)
  @attributes['id'] = @id
  initialize(@attributes)
  self
end