class LemonadeStand::Choice

Constants

DEMAND
HIGH_PRICE

Attributes

glasses_made[RW]
price_per_glass[RW]
signs[RW]

Public Instance Methods

max_sales() click to toggle source
# File lib/lemonade_stand/choice.rb, line 11
def max_sales
  sales_factor + (sales_factor * signs_factor)
end

Private Instance Methods

sales_factor() click to toggle source
# File lib/lemonade_stand/choice.rb, line 29
def sales_factor
  result = if price_per_glass < 10
             (HIGH_PRICE - price_per_glass) / HIGH_PRICE * 0.8 * DEMAND + DEMAND
           else
             (HIGH_PRICE * HIGH_PRICE) * DEMAND / (price_per_glass * price_per_glass)
           end
  result
end
signs_factor() click to toggle source
# File lib/lemonade_stand/choice.rb, line 38
def signs_factor
  1.0 - Math.exp((-1.0 * signs) * 0.5)
end