Class: TVMaze::Episode
- Inherits:
-
Object
- Object
- TVMaze::Episode
- Defined in:
- lib/tvmaze/episode.rb
Constant Summary collapse
- EPISODE_MAPPING =
{ id: :id, url: :url, name: :name, season: :season, number: :number, airtime: :airtime, runtime: :runtime, summary: :summary }
Instance Attribute Summary collapse
-
#airdate ⇒ Object
Returns the value of attribute airdate.
-
#airstamp ⇒ Object
Returns the value of attribute airstamp.
-
#image_medium ⇒ Object
Returns the value of attribute image_medium.
-
#image_original ⇒ Object
Returns the value of attribute image_original.
Instance Method Summary collapse
-
#initialize(json = {}) ⇒ Episode
constructor
A new instance of Episode.
Constructor Details
#initialize(json = {}) ⇒ Episode
Returns a new instance of Episode.
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/tvmaze/episode.rb', line 13 def initialize(json = {}) return if json.nil? EPISODE_MAPPING.each do |source, destination| send("#{destination}=", json[source.to_s] || json[source.to_sym]) end @airdate = Date.parse(json['airdate']) unless json['airdate'].nil? @airstamp = DateTime.parse(json['airstamp']) unless json['airstamp'].nil? unless json['image'].nil? @image_original = json['image']['original'] @image_medium = json['image']['medium'] end end |
Instance Attribute Details
#airdate ⇒ Object
Returns the value of attribute airdate.
11 12 13 |
# File 'lib/tvmaze/episode.rb', line 11 def airdate @airdate end |
#airstamp ⇒ Object
Returns the value of attribute airstamp.
11 12 13 |
# File 'lib/tvmaze/episode.rb', line 11 def airstamp @airstamp end |
#image_medium ⇒ Object
Returns the value of attribute image_medium.
11 12 13 |
# File 'lib/tvmaze/episode.rb', line 11 def image_medium @image_medium end |
#image_original ⇒ Object
Returns the value of attribute image_original.
11 12 13 |
# File 'lib/tvmaze/episode.rb', line 11 def image_original @image_original end |