Sha256: e79415b30ea7e9e89972ed88717d11c46f46afeedce4ce7cd41dd2b405cb67f6

Contents?: true

Size: 1.37 KB

Versions: 1

Compression:

Stored size: 1.37 KB

Contents

require 'money_s3/parsers/base_parser'
require 'money_s3/parsers/sklad_type'
require 'money_s3/parsers/km_karta_type'
require 'money_s3/parsers/vyrobni_cislo'
require 'money_s3/parsers/subpol_inv_d_type'

module MoneyS3
  module Parsers
    class PolInvDoklType
      include BaseParser

      def popis
        at :Popis
      end

      def zkrat
        at :Zkrat
      end

      def slupina
        at :Slupina
      end

      def mj
        at :MJ
      end

      def mn_inv
        at :MnInv
      end

      def sklad
        submodel_at(SkladType, :Sklad)
      end

      def km_karta
        submodel_at(KmKartaType, :KmKarta)
      end

      def seznam_vc
        array_of_at(VyrobniCislo, [:SeznamVC, :VyrobniCislo])
      end

      def slozeni
        array_of_at(SubpolInvDType, [:Slozeni, :SubPolozka])
      end

      def to_h
        hash = {}

        hash[:popis] = popis if raw.key? :Popis
        hash[:zkrat] = zkrat if raw.key? :Zkrat
        hash[:slupina] = slupina if raw.key? :Slupina
        hash[:mj] = mj if raw.key? :MJ
        hash[:mn_inv] = mn_inv if raw.key? :MnInv
        hash[:sklad] = sklad.to_h if raw.key? :Sklad
        hash[:km_karta] = km_karta.to_h if raw.key? :KmKarta
        hash[:seznam_vc] = seznam_vc.map(&:to_h) if raw.key? :SeznamVC
        hash[:slozeni] = slozeni.map(&:to_h) if raw.key? :Slozeni

        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/pol_inv_dokl_type.rb