Class: Flicks::Movie
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Methods included from Rankable
#<=>, #hit?, #normalized_rank, #status, #thumbs_down, #thumbs_up
Constructor Details
#initialize(title, rank = 0) ⇒ Movie
Returns a new instance of Movie.
10
11
12
13
14
|
# File 'lib/flicks/movie.rb', line 10
def initialize(title, rank=0)
@title = title.capitalize
@rank = rank
@snack_carbs = Hash.new(0)
end
|
Instance Attribute Details
#rank ⇒ Object
Returns the value of attribute rank.
7
8
9
|
# File 'lib/flicks/movie.rb', line 7
def rank
@rank
end
|
#title ⇒ Object
Returns the value of attribute title.
8
9
10
|
# File 'lib/flicks/movie.rb', line 8
def title
@title
end
|
Class Method Details
.from_csv(line) ⇒ Object
20
21
22
23
|
# File 'lib/flicks/movie.rb', line 20
def self.from_csv(line)
title, rank = line.split(',')
movie = Movie.new(title, Integer(rank))
end
|
Instance Method Details
#ate_snack(snack) ⇒ Object
32
33
34
35
36
|
# File 'lib/flicks/movie.rb', line 32
def ate_snack(snack)
@snack_carbs[snack.name] += snack.carbs
puts "#{title} led to #{snack.carbs} #{snack.name}"
puts "#{@title}'s snacks: #{@snack_carbs}"
end
|
#carbs_consumed ⇒ Object
38
39
40
|
# File 'lib/flicks/movie.rb', line 38
def carbs_consumed
@snack_carbs.values.reduce(0, :+)
end
|
#each_snack ⇒ Object
25
26
27
28
29
30
|
# File 'lib/flicks/movie.rb', line 25
def each_snack
@snack_carbs.each do |name, carbs|
snack = Snack.new(name, carbs)
yield snack
end
end
|
#to_csv ⇒ Object
16
17
18
|
# File 'lib/flicks/movie.rb', line 16
def to_csv
"#{@title},#{@rank}"
end
|
#to_s ⇒ Object
42
43
44
|
# File 'lib/flicks/movie.rb', line 42
def to_s
"#{@title} has a rank of #{@rank} (#{status})"
end
|