Skip to Content Skip to Search
Methods
C
E
N

Attributes

[R] coupon
[R] plan
[R] plan_amount
[R] tax_percentage

Class Public methods

call(*args)

# File app/services/service/plan_amount_calculator.rb, line 6
def call(*args)
  new(*args).execute
end

new(args = {})

# File app/services/service/plan_amount_calculator.rb, line 11
def initialize(args = {})
  @plan = args.fetch(:plan)
  @coupon = args.fetch(:coupon, nil)
  @metadata = args.fetch(:metadata, {})

  @plan_amount = plan.amount
  @tax_percentage = plan.tax_percentage
end

Instance Public methods

execute()

# File app/services/service/plan_amount_calculator.rb, line 20
def execute
  return plan_amount unless coupon || tax_percentage
  update_metadata
  (discounted + tax).to_i
end