Sha256: c8027f13db6922131784f9ad419eab081797f5537ebf8661253397d08f23ba9f

Contents?: true

Size: 676 Bytes

Versions: 1

Compression:

Stored size: 676 Bytes

Contents

require 'money_s3/parsers/base_parser'
require 'money_s3/parsers/reference_type'
require 'money_s3/parsers/error_info_type'

module MoneyS3
  module Parsers
    class MessageType
      include BaseParser

      def status
        at :Status
      end

      def reference
        submodel_at(ReferenceType, :Reference)
      end

      def error_info
        array_of_at(ErrorInfoType, [:ErrorInfo])
      end

      def to_h
        hash = {}

        hash[:status] = status if raw.key? :Status
        hash[:reference] = reference.to_h if raw.key? :Reference
        hash[:error_info] = error_info.map(&:to_h) if raw.key? :ErrorInfo

        hash
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
money_s3-0.5.0 lib/money_s3/parsers/message_type.rb