class Flicks::Movie

Attributes

rank[RW]
snack_carbs[RW]
title[RW]

Public Class Methods

convert(line) click to toggle source
# File lib/flicks/movie.rb, line 14
def self.convert(line)
        title,rank = line.split(",")
        return Movie.new(title,Integer(rank))
end
new(title,rank=0) click to toggle source
# File lib/flicks/movie.rb, line 8
def initialize(title,rank=0)
        @title = title.capitalize
        @rank = rank
        @snack_carbs = Hash.new(0)
end
whatsgood() click to toggle source
# File lib/flicks/movie.rb, line 45
def whatsgood
        "Another way to define singleton method"
end

Public Instance Methods

ate_snack(snack) click to toggle source
# File lib/flicks/movie.rb, line 23
def ate_snack(snack)
        @snack_carbs[snack.name] += snack.carbs
        puts "#{@title} led to #{snack.carbs} #{snack.name} carbs being consumed"
        puts "#{@title}'s consumed snacks: #{@snack_carbs}"
end
carbs_consumed() click to toggle source
# File lib/flicks/movie.rb, line 36
def carbs_consumed 
        @snack_carbs.values.reduce(0) {|sum,n| sum + n }
end
each_snack() { |snack| ... } click to toggle source
# File lib/flicks/movie.rb, line 29
def each_snack
        @snack_carbs.each do |key,value|
                snack = Snack.new(key,Integer(value))
                yield snack
        end
end
to_csv() click to toggle source
# File lib/flicks/movie.rb, line 19
def to_csv
        "#{@title},#{@rank}"
end
to_s() click to toggle source
# File lib/flicks/movie.rb, line 40
def to_s
        "#{@title} has a rank of #{@rank} (#{status})"
end