Class: LemonadeStand::Result

Inherits:
Object
  • Object
show all
Defined in:
lib/lemonade_stand/result.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data) ⇒ Result

Returns a new instance of Result.



9
10
11
12
13
# File 'lib/lemonade_stand/result.rb', line 9

def initialize data
  @glasses_sold = data[:glasses_sold]
  @choice       = data[:choice]
  @day          = data[:day]
end

Instance Attribute Details

#choiceObject (readonly)

Returns the value of attribute choice.



6
7
8
# File 'lib/lemonade_stand/result.rb', line 6

def choice
  @choice
end

#dayObject (readonly)

Returns the value of attribute day.



7
8
9
# File 'lib/lemonade_stand/result.rb', line 7

def day
  @day
end

#glasses_soldObject (readonly)

Returns the value of attribute glasses_sold.



5
6
7
# File 'lib/lemonade_stand/result.rb', line 5

def glasses_sold
  @glasses_sold
end

Instance Method Details

#expensesObject



19
20
21
22
23
# File 'lib/lemonade_stand/result.rb', line 19

def expenses
  glasses_cost = @choice.glasses_made * @day.cost_per_glass
  signs_cost   = 15 * @choice.signs
  (glasses_cost + signs_cost).round 2
end

#incomeObject



15
16
17
# File 'lib/lemonade_stand/result.rb', line 15

def income
  (@glasses_sold * @choice.price_per_glass).round 2
end

#profitObject



25
26
27
# File 'lib/lemonade_stand/result.rb', line 25

def profit
  (income - expenses).round 2
end