Class: AdvancedBilling::InvoiceStatus

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

Overview

The current status of the invoice. See [Invoice Statuses](maxio.zendesk.com/hc/en-us/articles/24252287829645-Advance d-Billing-Invoices-Overview#invoice-statuses) for more.

Constant Summary collapse

INVOICE_STATUS =
[
  # TODO: Write general description for DRAFT

  DRAFT = 'draft'.freeze,

  # TODO: Write general description for OPEN

  OPEN = 'open'.freeze,

  # TODO: Write general description for PAID

  PAID = 'paid'.freeze,

  # TODO: Write general description for PENDING

  PENDING = 'pending'.freeze,

  # TODO: Write general description for VOIDED

  VOIDED = 'voided'.freeze,

  # TODO: Write general description for CANCELED

  CANCELED = 'canceled'.freeze,

  # TODO: Write general description for PROCESSING

  PROCESSING = 'processing'.freeze
].freeze

Class Method Summary collapse

Class Method Details

.from_value(value, default_value = DRAFT) ⇒ Object



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/advanced_billing/models/invoice_status.rb', line 40

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

  str = value.to_s.strip

  case str.downcase
  when 'draft' then DRAFT
  when 'open' then OPEN
  when 'paid' then PAID
  when 'pending' then PENDING
  when 'voided' then VOIDED
  when 'canceled' then CANCELED
  when 'processing' then PROCESSING
  else
    default_value
  end
end

.validate(value) ⇒ Object



34
35
36
37
38
# File 'lib/advanced_billing/models/invoice_status.rb', line 34

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

  INVOICE_STATUS.include?(value)
end