Sha256: 870de84182c2cd04f4fa8d274f586caf9f05ef84c0a5055eaf626ab6935532a6

Contents?: true

Size: 542 Bytes

Versions: 2

Compression:

Stored size: 542 Bytes

Contents

require 'ox'
require 'money_s3/parsers/money_data'
require 'money_s3/builders/money_data'

module MoneyS3
  def self.parse(raw)
    hash = Ox.load(raw, mode: :hash)

    if hash.key? :MoneyData
      content = hash[:MoneyData]

      raw =
        if content.is_a? Array
          content.shift
          content.inject({}) { |memo, member| memo.merge(member) }
        else
          content
        end

      Parsers::MoneyData.new(raw)
    end
  end

  def self.build(data)
    Builders::MoneyData.new(data, 'MoneyData').to_xml
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
money_s3-0.5.0 lib/money_s3.rb
money_s3-0.4.0 lib/money_s3.rb