class DVR::Season

Attributes

episodes[R]

Public Class Methods

new(episodes) click to toggle source
# File lib/dvr/season.rb, line 5
def initialize episodes
  @episodes = episodes
end

Public Instance Methods

binge_watch() click to toggle source
# File lib/dvr/season.rb, line 9
def binge_watch
  episodes.map(&:play).join("\n\n")
end
download() click to toggle source
# File lib/dvr/season.rb, line 13
def download
  puts 'Downloading season to destination...'
  save
end

Protected Instance Methods

before_hooks() click to toggle source
# File lib/dvr/season.rb, line 28
def before_hooks
  %(\nbefore { request.path_info += '/'+ request.query_string if request.query_string && !request.query_string.empty? }\n\n)
end
save() click to toggle source
# File lib/dvr/season.rb, line 20
def save
  File.open(DVR.download_location, 'w') do |f|
    f.write(sinatra_file_headers)
    f.write(before_hooks)
    f.write(binge_watch)
  end
end
sinatra_file_headers() click to toggle source
# File lib/dvr/season.rb, line 36
def sinatra_file_headers
  sinatra_requirements.map {|r| "require '#{r}'\n"}.join
end
sinatra_requirements() click to toggle source
# File lib/dvr/season.rb, line 32
def sinatra_requirements
  ['rubygems', 'sinatra']
end