class P3::Tvdb::Series

Attributes

actors[RW]
air_time[RW]
banners[RW]
client[R]
content_rating[RW]
first_aired[RW]
genres[RW]
id[RW]
imdb_id[RW]
name[RW]
network[RW]
overview[RW]
rating[RW]
rating_count[RW]
runtime[RW]
seasons[RW]
status[RW]

Public Class Methods

new(client, options={}) click to toggle source
# File lib/p3-tvdb/series.rb, line 8
def initialize(client, options={})
    @client = client
    @id = options["id"]
    @name = options["SeriesName"]
    @overview = options["Overview"]
    @network = options["Network"]
    @runtime = options["Runtime"]
    @air_time = options['Airs_Time'] if options['Airs_Time']
    @imdb_id = options["IMDB_ID"]
    @content_rating = options["ContentRating"]
    @status = options["Status"]

    if options["Genre"]
        @genres = options["Genre"][1..-1].split("|")
    else
        @genres = []
    end

    if options["Rating"] && options["Rating"].size > 0
        @rating = options["Rating"].to_f
    else
        @rating = 0
    end

    if options["RatingCount"] && options["RatingCount"].size > 0
        @rating_count = options["RatingCount"].to_f
    else
        @rating_count = 0
    end

    begin
        @first_aired = Date.parse(options["FirstAired"])
    rescue
    end
end

Public Instance Methods

episodes() click to toggle source
# File lib/p3-tvdb/series.rb, line 76
def episodes
    @episodes ||= client.get_all_episodes(self)
end
fanart(language) click to toggle source
# File lib/p3-tvdb/series.rb, line 52
def fanart(language)
    banners.select{|b| b.banner_type == 'fanart' && b.language == language}
end
get_episode(season_number, episode_number) click to toggle source
# File lib/p3-tvdb/series.rb, line 44
def get_episode(season_number, episode_number)
    client.get_episode(self, season_number, episode_number)
end
posters(language) click to toggle source
# File lib/p3-tvdb/series.rb, line 48
def posters(language)
    banners.select{|b| b.banner_type == 'poster' && b.language == language}
end
season(season_number) click to toggle source
# File lib/p3-tvdb/series.rb, line 84
def season(season_number)
    seasons.detect{|s| s.number == season_number}
end
season_posters(season_number, language) click to toggle source
# File lib/p3-tvdb/series.rb, line 60
def season_posters(season_number, language)
    banners.select{|b| b.banner_type == 'season' && b.banner_type2 == 'season' && b.season == season_number.to_s && b.language == language}
end
seasonwide_posters(season_number, language) click to toggle source
# File lib/p3-tvdb/series.rb, line 64
def seasonwide_posters(season_number, language)
    banners.select{|b| b.banner_type == 'season' && b.banner_type2 == 'seasonwide' && b.season == season_number.to_s && b.language == language}
end
series_banners(language) click to toggle source
# File lib/p3-tvdb/series.rb, line 56
def series_banners(language)
    banners.select{|b| b.banner_type == 'series' && b.language == language}
end
to_h() click to toggle source
# File lib/p3-tvdb/series.rb, line 88
def to_h
    hash = {}
    self.instance_variables.each do | var |
        #turn episode object into hash
        v = self.instance_variable_get( var )
        hash[ var.to_s.gsub('@','').to_sym ] = v
    end
    hash.delete(:client)
    hash.delete(:banners)
    return hash
end