Class: ModernTreasury::LedgerableType2

Inherits:
Object
  • Object
show all
Defined in:
lib/modern_treasury/models/ledgerable_type2.rb

Overview

If the ledger transaction can be reconciled to another object in Modern Treasury, the type will be populated here, otherwise null. This can be one of payment_order, incoming_payment_detail, expected_payment, return, or reversal.

Constant Summary collapse

LEDGERABLE_TYPE2 =
[
  # TODO: Write general description for COUNTERPARTY
  COUNTERPARTY = 'counterparty'.freeze,

  # TODO: Write general description for EXPECTED_PAYMENT
  EXPECTED_PAYMENT = 'expected_payment'.freeze,

  # TODO: Write general description for INCOMING_PAYMENT_DETAIL
  INCOMING_PAYMENT_DETAIL = 'incoming_payment_detail'.freeze,

  # TODO: Write general description for INTERNAL_ACCOUNT
  INTERNAL_ACCOUNT = 'internal_account'.freeze,

  # TODO: Write general description for LINE_ITEM
  LINE_ITEM = 'line_item'.freeze,

  # TODO: Write general description for PAPER_ITEM
  PAPER_ITEM = 'paper_item'.freeze,

  # TODO: Write general description for PAYMENT_ORDER
  PAYMENT_ORDER = 'payment_order'.freeze,

  # TODO: Write general description for PAYMENT_ORDER_ATTEMPT
  PAYMENT_ORDER_ATTEMPT = 'payment_order_attempt'.freeze,

  # TODO: Write general description for ENUM_RETURN
  ENUM_RETURN = 'return'.freeze,

  # TODO: Write general description for REVERSAL
  REVERSAL = 'reversal'.freeze
].freeze

Class Method Summary collapse

Class Method Details

.from_value(value, default_value = COUNTERPARTY) ⇒ Object



50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/modern_treasury/models/ledgerable_type2.rb', line 50

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

  str = value.to_s.strip

  case str.downcase
  when 'counterparty' then COUNTERPARTY
  when 'expected_payment' then EXPECTED_PAYMENT
  when 'incoming_payment_detail' then INCOMING_PAYMENT_DETAIL
  when 'internal_account' then INTERNAL_ACCOUNT
  when 'line_item' then LINE_ITEM
  when 'paper_item' then PAPER_ITEM
  when 'payment_order' then PAYMENT_ORDER
  when 'payment_order_attempt' then PAYMENT_ORDER_ATTEMPT
  when 'enum_return' then ENUM_RETURN
  when 'reversal' then REVERSAL
  else
    default_value
  end
end

.validate(value) ⇒ Object



44
45
46
47
48
# File 'lib/modern_treasury/models/ledgerable_type2.rb', line 44

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

  LEDGERABLE_TYPE2.include?(value)
end