Class: ModernTreasury::ChargeBearer

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

Overview

The party that will pay the fees for the payment order. Only applies to wire payment orders. Can be one of shared, sender, or receiver, which correspond respectively with the SWIFT 71A values ‘SHA`, `OUR`, `BEN`.

Constant Summary collapse

CHARGE_BEARER =
[
  # TODO: Write general description for SHARED
  SHARED = 'shared'.freeze,

  # TODO: Write general description for SENDER
  SENDER = 'sender'.freeze,

  # TODO: Write general description for RECEIVER
  RECEIVER = 'receiver'.freeze
].freeze

Class Method Summary collapse

Class Method Details

.from_value(value, default_value = SHARED) ⇒ Object



28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/modern_treasury/models/charge_bearer.rb', line 28

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

  str = value.to_s.strip

  case str.downcase
  when 'shared' then SHARED
  when 'sender' then SENDER
  when 'receiver' then RECEIVER
  else
    default_value
  end
end

.validate(value) ⇒ Object



22
23
24
25
26
# File 'lib/modern_treasury/models/charge_bearer.rb', line 22

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

  CHARGE_BEARER.include?(value)
end