class Flicks::Playlist

Public Class Methods

new(name) click to toggle source
# File lib/flicks/playlist.rb, line 7
def initialize(name)
        @name = name
        @movies = Array.new
end
saving_time() click to toggle source
# File lib/flicks/playlist.rb, line 19
def Playlist.saving_time
        Time.new.strftime('Printed on %m/%d/%Y at %I:%M%p')
end

Public Instance Methods

add_movie(movie) click to toggle source
# File lib/flicks/playlist.rb, line 34
def add_movie(movie)
        puts "::Adding #{movie.title} to playlist"
        @movies.push(movie)
end
load(from_file) click to toggle source
# File lib/flicks/playlist.rb, line 12
def load(from_file)
        puts "::Loading #{from_file}::"
        File.readlines(from_file).each do |line|
                add_movie(Movie.convert(line))
        end
end
play(viewings) click to toggle source
# File lib/flicks/playlist.rb, line 39
def play(viewings)
        puts "#{@name}'s playlist:"
        puts @movies.sort

        puts "There are #{SnackBar::SNACKS.size} snacks in the Snack Bar"
        SnackBar::SNACKS.map.with_index(1) {|snack,i| puts "\t#{i}. #{snack.name} #{snack.carbs} carbs"}

        1.upto(viewings) do |count|
                @movies.sort.each do |movie|
                        puts "\nViewing #{count}:"
                        WaldorfAndStatler.review(movie)
                        movie.ate_snack(SnackBar.random)
                        puts movie
                end
        end
end
print_stats() click to toggle source
save(to_file='final_scores.csv') click to toggle source
# File lib/flicks/playlist.rb, line 24
def save(to_file='final_scores.csv')
        File.open(to_file,'a+') do |file| 
                @movies.sort {|a,z| z.rank <=> a.rank}.each do |movie|
                        file.puts(movie.to_csv)
                end
                file.puts(Playlist.saving_time)
        end
        puts "\n::::Total Stats Saved to #{to_file}::::"
end