Class: AdvancedBilling::InvoiceDiscountType

Inherits:
Object
  • Object
show all
Defined in:
lib/advanced_billing/models/invoice_discount_type.rb

Overview

Invoice Discount Type.

Constant Summary collapse

INVOICE_DISCOUNT_TYPE =
[
  # TODO: Write general description for PERCENTAGE
  PERCENTAGE = 'percentage'.freeze,

  # TODO: Write general description for FLAT_AMOUNT
  FLAT_AMOUNT = 'flat_amount'.freeze,

  # TODO: Write general description for ROLLOVER
  ROLLOVER = 'rollover'.freeze
].freeze

Class Method Summary collapse

Class Method Details

.from_value(value, default_value = PERCENTAGE) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/advanced_billing/models/invoice_discount_type.rb', line 26

def self.from_value(value, default_value = PERCENTAGE)
  return default_value if value.nil?

  str = value.to_s.strip

  case str.downcase
  when 'percentage' then PERCENTAGE
  when 'flat_amount' then FLAT_AMOUNT
  when 'rollover' then ROLLOVER
  else
    default_value
  end
end

.validate(value) ⇒ Object



20
21
22
23
24
# File 'lib/advanced_billing/models/invoice_discount_type.rb', line 20

def self.validate(value)
  return false if value.nil?

  INVOICE_DISCOUNT_TYPE.include?(value)
end