Class: UsageCredits::Cost::Variable

Inherits:
Base
  • Object
show all
Defined in:
lib/usage_credits/cost/variable.rb

Overview

Variable credit cost based on units (e.g., 1 credit per MB)

Instance Attribute Summary collapse

Attributes inherited from Base

#amount

Instance Method Summary collapse

Methods inherited from Base

#+, #to_i

Constructor Details

#initialize(amount, unit) ⇒ Variable



9
10
11
12
# File 'lib/usage_credits/cost/variable.rb', line 9

def initialize(amount, unit)
  super(amount)
  @unit = unit.to_sym
end

Instance Attribute Details

#unitObject (readonly)

Returns the value of attribute unit.



7
8
9
# File 'lib/usage_credits/cost/variable.rb', line 7

def unit
  @unit
end

Instance Method Details

#calculate(params = {}) ⇒ Object



14
15
16
17
18
# File 'lib/usage_credits/cost/variable.rb', line 14

def calculate(params = {})
  size = extract_size(params)
  raw_cost = amount * size
  CreditCalculator.apply_rounding(raw_cost)
end