Class: NHLStats::Division

Inherits:
Object
  • Object
show all
Defined in:
lib/nhl_stats/division.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(division_data) ⇒ Division

Returns a new instance of Division.



5
6
7
8
9
# File 'lib/nhl_stats/division.rb', line 5

def initialize(division_data)
  @id = division_data["id"]
  @name = division_data["name"]
  @abbreviation = division_data["nameShort"]
end

Instance Attribute Details

#abbreviationObject (readonly)

Returns the value of attribute abbreviation.



3
4
5
# File 'lib/nhl_stats/division.rb', line 3

def abbreviation
  @abbreviation
end

#idObject (readonly)

Returns the value of attribute id.



3
4
5
# File 'lib/nhl_stats/division.rb', line 3

def id
  @id
end

#nameObject (readonly)

Returns the value of attribute name.



3
4
5
# File 'lib/nhl_stats/division.rb', line 3

def name
  @name
end

Class Method Details

.find(id) ⇒ Object



11
12
13
14
15
# File 'lib/nhl_stats/division.rb', line 11

def self.find(id)
  response = Faraday.get("#{API_ROOT}/divisions/#{id}")
  attributes = JSON.parse(response.body).dig("divisions", 0)
  new(attributes)
end

.listObject



17
18
19
20
21
22
# File 'lib/nhl_stats/division.rb', line 17

def self.list
  response = Faraday.get("#{API_ROOT}/divisions")
  JSON.parse(response.body).
    dig("divisions").
    map { |d| NHLStats::Division.new(d) }
end