Class: TVMaze::Episode

Inherits:
Object
  • Object
show all
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

Instance Method Summary collapse

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

#airdateObject

Returns the value of attribute airdate.



11
12
13
# File 'lib/tvmaze/episode.rb', line 11

def airdate
  @airdate
end

#airstampObject

Returns the value of attribute airstamp.



11
12
13
# File 'lib/tvmaze/episode.rb', line 11

def airstamp
  @airstamp
end

#image_mediumObject

Returns the value of attribute image_medium.



11
12
13
# File 'lib/tvmaze/episode.rb', line 11

def image_medium
  @image_medium
end

#image_originalObject

Returns the value of attribute image_original.



11
12
13
# File 'lib/tvmaze/episode.rb', line 11

def image_original
  @image_original
end