Class: Base::Api::Episode

Inherits:
Object show all
Includes:
Helpers
Defined in:
lib/base/api/episode.rb

Direct Known Subclasses

TheTvDb::Api::Episode

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Helpers

#get_remote_file_as_string, #parsable_date?, #safely_parse_date

Constructor Details

#initialize(xml_document) ⇒ Episode

Returns a new instance of Episode.



9
10
11
12
# File 'lib/base/api/episode.rb', line 9

def initialize(xml_document)
  @xml_doc = xml_document
  self
end

Instance Attribute Details

#xml_docObject

Returns the value of attribute xml_doc.



7
8
9
# File 'lib/base/api/episode.rb', line 7

def xml_doc
  @xml_doc
end

Instance Method Details

#absolute_numberObject



22
# File 'lib/base/api/episode.rb', line 22

def absolute_number; end

#air_datesObject



45
# File 'lib/base/api/episode.rb', line 45

def air_dates;   []; end

#attributesObject



48
49
50
51
52
53
54
55
# File 'lib/base/api/episode.rb', line 48

def attributes
  {
    :name            => name,
    :number          => number,
    :season_number   => season_number,
    :absolute_number => absolute_number,
  }
end

#nameObject



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/base/api/episode.rb', line 28

def name
  if original_name_looks_like_season_or_episode_number?
    return nil
  elsif original_name_container_bracketed_digits?
    return_name = original_name.gsub(/\(\d{2}\)/, '')
  elsif original_name_looks_like_date?
    return nil
  elsif original_name_is_quoted_string?
    return_name = original_name[1..-2]
  elsif original_name_has_more_symbols_and_whitespace_than_letters?
    return nil
  elsif original_name_is_nonsense_edgecase?
    return nil
  end
  (return_name.present? ? return_name : original_name).strip
end

#network_idObject



20
# File 'lib/base/api/episode.rb', line 20

def network_id;    end

#network_idsObject



46
# File 'lib/base/api/episode.rb', line 46

def network_ids; []; end

#numberObject



18
# File 'lib/base/api/episode.rb', line 18

def number;        end

#original_nameObject



21
# File 'lib/base/api/episode.rb', line 21

def original_name; end

#overviewObject



19
# File 'lib/base/api/episode.rb', line 19

def overview;      end

#to_sObject



14
15
16
# File 'lib/base/api/episode.rb', line 14

def to_s
  "#{self.class} #{name || ('Untitled')}"
end

#usable?Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/base/api/episode.rb', line 24

def usable?
  number.present?
end