class Tmdb::Tv::Season

Public Class Methods

cast(id, season_number, filters={}) click to toggle source
# File lib/tmdb/tv/season.rb, line 21
def self.cast(id, season_number, filters={})
  result = Resource.new("/tv/#{id}/season/#{season_number}/credits", filters).get

  result['cast'].map do |entry|
    Person.new(entry)
  end
end
changes(id, filters={}) click to toggle source
# File lib/tmdb/tv/season.rb, line 11
def self.changes(id, filters={})
  result = Resource.new("/tv/season/#{id}/changes", filters).get

  result['changes'].map do |entry|
    change = Change.new(entry)
    change.convert_items!
    change
  end
end
crew(id, season_number, filters={}) click to toggle source
# File lib/tmdb/tv/season.rb, line 29
def self.crew(id, season_number, filters={})
  result = Resource.new("/tv/#{id}/season/#{season_number}/credits", filters).get

  result['crew'].map do |entry|
    Person.new(entry)
  end
end
detail(id, season_number, filters={}) click to toggle source
# File lib/tmdb/tv/season.rb, line 5
def self.detail(id, season_number, filters={})
  result = Resource.new("/tv/#{id}/season/#{season_number}", filters).get

  create_new_instance_with_normalized_data(result)
end
external_ids(id, season_number, filters={}) click to toggle source
# File lib/tmdb/tv/season.rb, line 37
def self.external_ids(id, season_number, filters={})
  result = Resource.new("/tv/#{id}/season/#{season_number}/external_ids", filters).get
  self.new(result)
end
posters(id, season_number, filters={}) click to toggle source
# File lib/tmdb/tv/season.rb, line 42
def self.posters(id, season_number, filters={})
  result = Resource.new("/tv/#{id}/season/#{season_number}/images", filters).get

  result['posters'].map do |entry|
    Poster.new(entry)
  end
end
videos(id, season_number, filters={}) click to toggle source
# File lib/tmdb/tv/season.rb, line 50
def self.videos(id, season_number, filters={})
  result = Resource.new("/tv/#{id}/season/#{season_number}/videos", filters).get

  result['results'].map do |entry|
    Video.new(entry)
  end
end

Private Class Methods

create_new_instance_with_normalized_data(result) click to toggle source
# File lib/tmdb/tv/season.rb, line 58
def self.create_new_instance_with_normalized_data(result)
  season = self.new(
      result.except(
          'episodes'
      )
  )

  season.episodes = result['episodes'].map do |episode|
    new_episode = Tv::Episode.new(
        episode.except(
            'crew',
            'guest_stars'
        )
    )

    new_episode.crew = episode['crew'].map do |entry|
      Person.new(entry)
    end

    new_episode.guest_stars = episode['guest_stars'].map do |entry|
      Person.new(entry)
    end

    new_episode
  end

  season
end