Class: EspnPub::Entities::Venue
- Defined in:
- lib/espn_pub/entities/venue.rb
Overview
Represents a team's home venue (stadium or arena).
Instance Attribute Summary collapse
-
#city ⇒ Object
readonly
Returns the value of attribute city.
-
#country ⇒ Object
readonly
Returns the value of attribute country.
-
#full_name ⇒ Object
readonly
Returns the value of attribute full_name.
-
#grass ⇒ Object
readonly
Returns the value of attribute grass.
-
#id ⇒ Object
readonly
Returns the value of attribute id.
-
#indoor ⇒ Object
readonly
Returns the value of attribute indoor.
-
#short_name ⇒ Object
readonly
Returns the value of attribute short_name.
-
#state ⇒ Object
readonly
Returns the value of attribute state.
-
#zip_code ⇒ Object
readonly
Returns the value of attribute zip_code.
Attributes inherited from Base
Class Method Summary collapse
-
.from_api(data) ⇒ Venue?
Build a Venue from ESPN API venue data.
Instance Method Summary collapse
-
#initialize(id:, full_name: nil, short_name: nil, city: nil, state: nil, zip_code: nil, country: nil, indoor: nil, grass: nil) ⇒ Venue
constructor
Initialize a Venue entity.
Constructor Details
#initialize(id:, full_name: nil, short_name: nil, city: nil, state: nil, zip_code: nil, country: nil, indoor: nil, grass: nil) ⇒ Venue
Initialize a Venue entity.
28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/espn_pub/entities/venue.rb', line 28 def initialize(id:, full_name: nil, short_name: nil, city: nil, state: nil, zip_code: nil, country: nil, indoor: nil, grass: nil) @id = id @full_name = full_name @short_name = short_name @city = city @state = state @zip_code = zip_code @country = country @indoor = indoor @grass = grass super() end |
Instance Attribute Details
#city ⇒ Object (readonly)
Returns the value of attribute city.
7 8 9 |
# File 'lib/espn_pub/entities/venue.rb', line 7 def city @city end |
#country ⇒ Object (readonly)
Returns the value of attribute country.
7 8 9 |
# File 'lib/espn_pub/entities/venue.rb', line 7 def country @country end |
#full_name ⇒ Object (readonly)
Returns the value of attribute full_name.
7 8 9 |
# File 'lib/espn_pub/entities/venue.rb', line 7 def full_name @full_name end |
#grass ⇒ Object (readonly)
Returns the value of attribute grass.
7 8 9 |
# File 'lib/espn_pub/entities/venue.rb', line 7 def grass @grass end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
7 8 9 |
# File 'lib/espn_pub/entities/venue.rb', line 7 def id @id end |
#indoor ⇒ Object (readonly)
Returns the value of attribute indoor.
7 8 9 |
# File 'lib/espn_pub/entities/venue.rb', line 7 def indoor @indoor end |
#short_name ⇒ Object (readonly)
Returns the value of attribute short_name.
7 8 9 |
# File 'lib/espn_pub/entities/venue.rb', line 7 def short_name @short_name end |
#state ⇒ Object (readonly)
Returns the value of attribute state.
7 8 9 |
# File 'lib/espn_pub/entities/venue.rb', line 7 def state @state end |
#zip_code ⇒ Object (readonly)
Returns the value of attribute zip_code.
7 8 9 |
# File 'lib/espn_pub/entities/venue.rb', line 7 def zip_code @zip_code end |
Class Method Details
.from_api(data) ⇒ Venue?
Build a Venue from ESPN API venue data.
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/espn_pub/entities/venue.rb', line 46 def self.from_api(data) return nil unless data new( id: data['id'], full_name: data['fullName'], short_name: data['shortName'], city: data.dig('address', 'city'), state: data.dig('address', 'state'), zip_code: data.dig('address', 'zipCode'), country: data.dig('address', 'country'), indoor: data['indoor'], grass: data['grass'] ) end |