class MyEpisodes::Show

Constants

CLASS

Attributes

name[R]

Public Class Methods

new(name) click to toggle source
# File lib/my_episodes/show.rb, line 7
def initialize(name)
  @name = name
  @seasons = []
end

Public Instance Methods

create(rows) click to toggle source
# File lib/my_episodes/show.rb, line 12
def create(rows)
  season = nil
  rows.each do |row|
    if useless?(row)
      next
    elsif new_season?(row)
      @seasons << Season.new(self).create(row)
      season = @seasons.last
    else
      season << Episode.new(season).create(row.children)
    end
  end
  self
end
seasons() click to toggle source
# File lib/my_episodes/show.rb, line 27
def seasons
  @seasons.freeze
end

Private Instance Methods

new_season?(row) click to toggle source
# File lib/my_episodes/show.rb, line 37
def new_season?(row)
  row.attr(CLASS) == HEADER
end
useless?(row) click to toggle source
# File lib/my_episodes/show.rb, line 33
def useless?(row)
  row.text.strip.empty?
end