Sha256: d32570d3c7df8f81755a492667156fa8477b9e28635330282eaf6ff76795bff1

Contents?: true

Size: 1.47 KB

Versions: 5

Compression:

Stored size: 1.47 KB

Contents

require 'money_s3/builders/base_builder'
require 'money_s3/builders/sklad_type'
require 'money_s3/builders/km_karta_type'
require 'money_s3/builders/vyrobni_cislo'
require 'money_s3/builders/subpol_inv_d_type'

module MoneyS3
  module Builders
    class PolInvDoklType
      include BaseBuilder

      def builder
        root = Ox::Element.new(name)
        if data.respond_to? :attributes
          data.attributes.each { |k, v| root[k] = v }
        end

        root << build_element('Popis', data[:popis]) if data.key? :popis
        root << build_element('Zkrat', data[:zkrat]) if data.key? :zkrat
        root << build_element('Slupina', data[:slupina]) if data.key? :slupina
        root << build_element('MJ', data[:mj]) if data.key? :mj
        root << build_element('MnInv', data[:mn_inv]) if data.key? :mn_inv

        if data.key? :sklad
          root << SkladType.new('Sklad', data[:sklad]).builder
        end

        if data.key? :km_karta
          root << KmKartaType.new('KmKarta', data[:km_karta]).builder
        end

        if data.key? :seznam_vc
          element = Ox::Element.new('SeznamVC')
          data[:seznam_vc].each { |i| element << VyrobniCislo.new('VyrobniCislo', i).builder }
          root << element
        end

        if data.key? :slozeni
          element = Ox::Element.new('Slozeni')
          data[:slozeni].each { |i| element << SubpolInvDType.new('SubPolozka', i).builder }
          root << element
        end

        root
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
money_s3-0.10.0 lib/money_s3/builders/pol_inv_dokl_type.rb
money_s3-0.9.0 lib/money_s3/builders/pol_inv_dokl_type.rb
money_s3-0.8.0 lib/money_s3/builders/pol_inv_dokl_type.rb
money_s3-0.7.0 lib/money_s3/builders/pol_inv_dokl_type.rb
money_s3-0.6.0 lib/money_s3/builders/pol_inv_dokl_type.rb