class Increaser
Attributes
amount[RW]
composer[RW]
scope[RW]
Public Class Methods
new(composer, scope)
click to toggle source
# File lib/tax_girl/increaser.rb, line 4 def initialize(composer, scope) @composer = composer @scope = scope @amount = 0 @currency_demand = composer.demand_methods[:increase][:currency] @percentage_demand = composer.demand_methods[:increase][:percentage] calculate_amount if @currency_demand.any? end
Public Instance Methods
calculate_amount()
click to toggle source
# File lib/tax_girl/increaser.rb, line 14 def calculate_amount calculate_currency calculate_percentage composer.total = amount end
calculate_currency()
click to toggle source
# File lib/tax_girl/increaser.rb, line 21 def calculate_currency self.amount += @currency_demand.map do |method| scope.send(method) || 0 end.reduce(:+) end
calculate_percentage()
click to toggle source
# File lib/tax_girl/increaser.rb, line 27 def calculate_percentage @percentage_demand.each do |method| value = scope.send(method) || 0 self.amount += (value.to_f / 100) * amount end end