Class: PaysonAPI::Funding

Inherits:
Object
  • Object
show all
Defined in:
lib/payson_api/funding.rb

Constant Summary collapse

FORMAT_STRING =
"fundingList.fundingConstraint(%d).%s"

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(constraint) ⇒ Funding

Returns a new instance of Funding.



6
7
8
9
10
11
# File 'lib/payson_api/funding.rb', line 6

def initialize(constraint)
  if !FUNDING_CONSTRAINTS.include?(constraint)
    raise "Unknown funding constraint: #{constraint}"
  end
  @constraint = constraint
end

Instance Attribute Details

#constraintObject

Returns the value of attribute constraint.



4
5
6
# File 'lib/payson_api/funding.rb', line 4

def constraint
  @constraint
end

Class Method Details

.parse(data) ⇒ Object



23
24
25
26
27
28
29
30
31
32
# File 'lib/payson_api/funding.rb', line 23

def self.parse(data)
  [].tap do |fundings|
    i = 0
    while data[FORMAT_STRING % [i, 'constraint']]
      constraint = data[FORMAT_STRING % [i, 'constraint']]
      fundings << self.new(constraint)
      i += 1
    end
  end
end

.to_hash(fundings) ⇒ Object



13
14
15
16
17
18
19
20
21
# File 'lib/payson_api/funding.rb', line 13

def self.to_hash(fundings)
  {}.tap do |hash|
    fundings.each_with_index do |funding, index|
      hash.merge!({
        FORMAT_STRING % [index, 'constraint'] => funding.constraint
      })
    end
  end
end