Class: Joyent::Cloud::Pricing::Discount

Inherits:
Object
  • Object
show all
Defined in:
lib/pricing/discount.rb,
lib/pricing/discount.rb

Direct Known Subclasses

PercentDiscount

Constant Summary collapse

CALCULATORS =
{ percent: PercentDiscount }

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.type(type_name, *args) ⇒ Object



27
28
29
30
31
# File 'lib/pricing/discount.rb', line 27

def self.type(type_name, *args)
  calc     = CALCULATORS[type_name]
  raise   "Type #{type_name} is unknown!" unless calc.is_a?(Class)
  calc.new *args
end

Instance Method Details

#apply(amount) ⇒ Object



3
4
5
# File 'lib/pricing/discount.rb', line 3

def apply(amount)
  raise 'Abstract method'
end