lib/money_s3/builders/prevodka.rb in money_s3-0.4.0 vs lib/money_s3/builders/prevodka.rb in money_s3-0.5.0
- old
+ new
@@ -14,76 +14,295 @@
module MoneyS3
module Builders
class Prevodka
include BaseBuilder
- attr_accessor :cislo_dokla, :zpusob_uctovani, :c_objednavk, :kp_from_odb, :datum, :sleva, :d_rada, :stredisko, :zakazka, :cinnost, :popis, :vystavil, :vyriz_faktu, :text_pred_po, :text_za_pol, :nadpis, :zkrat_typu_d, :poriz_cena, :popis_x, :fiskal, :fis_doklad, :dat_sk_poh, :stat_moss, :sazba_dph1, :sazba_dph2, :prim_doklad, :var_symbol, :par_symbol, :typ_transakce, :dodaci_podm, :druh_dopravy, :st_odesl_urc, :doprav_tuz, :doprav_zahr, :datum_its, :sleva, :i_doklad_id, :i_dokl_agend, :celkem, :eet, :valuty, :dod_odb, :konec_prij, :import, :sklad_pro_pr, :moje_firma, :vlajky, :souhrn_dph, :polozka, :seznam_nep_plateb, :dokumenty
-
def builder
root = Ox::Element.new(element_name)
- root << (Ox::Element.new('CisloDokla') << cislo_dokla) if cislo_dokla
- root << (Ox::Element.new('ZpusobUctovani') << zpusob_uctovani) if zpusob_uctovani
- root << (Ox::Element.new('CObjednavk') << c_objednavk) if c_objednavk
- root << (Ox::Element.new('KPFromOdb') << kp_from_odb) if kp_from_odb
- root << (Ox::Element.new('Datum') << datum) if datum
- root << (Ox::Element.new('Sleva') << sleva) if sleva
- root << (Ox::Element.new('DRada') << d_rada) if d_rada
- root << (Ox::Element.new('Stredisko') << stredisko) if stredisko
- root << (Ox::Element.new('Zakazka') << zakazka) if zakazka
- root << (Ox::Element.new('Cinnost') << cinnost) if cinnost
- root << (Ox::Element.new('Popis') << popis) if popis
- root << (Ox::Element.new('Vystavil') << vystavil) if vystavil
- root << (Ox::Element.new('VyrizFaktu') << vyriz_faktu) if vyriz_faktu
- root << (Ox::Element.new('TextPredPo') << text_pred_po) if text_pred_po
- root << (Ox::Element.new('TextZaPol') << text_za_pol) if text_za_pol
- root << (Ox::Element.new('Nadpis') << nadpis) if nadpis
- root << (Ox::Element.new('ZkratTypuD') << zkrat_typu_d) if zkrat_typu_d
- root << (Ox::Element.new('PorizCena') << poriz_cena) if poriz_cena
- root << (Ox::Element.new('PopisX') << popis_x) if popis_x
- root << (Ox::Element.new('Fiskal') << fiskal) if fiskal
- root << (Ox::Element.new('FisDoklad') << fis_doklad) if fis_doklad
- root << (Ox::Element.new('DatSkPoh') << dat_sk_poh) if dat_sk_poh
- root << (Ox::Element.new('StatMOSS') << stat_moss) if stat_moss
- root << (Ox::Element.new('SazbaDPH1') << sazba_dph1) if sazba_dph1
- root << (Ox::Element.new('SazbaDPH2') << sazba_dph2) if sazba_dph2
- root << (Ox::Element.new('PrimDoklad') << prim_doklad) if prim_doklad
- root << (Ox::Element.new('VarSymbol') << var_symbol) if var_symbol
- root << (Ox::Element.new('ParSymbol') << par_symbol) if par_symbol
- root << (Ox::Element.new('TypTransakce') << typ_transakce) if typ_transakce
- root << (Ox::Element.new('DodaciPodm') << dodaci_podm) if dodaci_podm
- root << (Ox::Element.new('DruhDopravy') << druh_dopravy) if druh_dopravy
- root << (Ox::Element.new('StOdeslUrc') << st_odesl_urc) if st_odesl_urc
- root << (Ox::Element.new('DopravTuz') << doprav_tuz) if doprav_tuz
- root << (Ox::Element.new('DopravZahr') << doprav_zahr) if doprav_zahr
- root << (Ox::Element.new('DatumITS') << datum_its) if datum_its
- root << (Ox::Element.new('Sleva') << sleva) if sleva
- root << (Ox::Element.new('iDokladID') << i_doklad_id) if i_doklad_id
- root << (Ox::Element.new('iDoklAgend') << i_dokl_agend) if i_dokl_agend
- root << (Ox::Element.new('Celkem') << celkem) if celkem
- root << EETType.new(eet, 'EET').builder if eet
- root << Valuty.new(valuty, 'Valuty').builder if valuty
- root << SkDokladFirmaType.new(dod_odb, 'DodOdb').builder if dod_odb
- root << KonecPrijFirmaType.new(konec_prij, 'KonecPrij').builder if konec_prij
- root << Import.new(import, 'Import').builder if import
- root << SkladType.new(sklad_pro_pr, 'SkladProPr').builder if sklad_pro_pr
- root << MojeFirmaType.new(moje_firma, 'MojeFirma').builder if moje_firma
- root << Vlajky.new(vlajky, 'Vlajky').builder if vlajky
- root << SouhrnDPHType.new(souhrn_dph, 'SouhrnDPH').builder if souhrn_dph
+ if attributes.key? :cislo_dokla
+ element = Ox::Element.new('CisloDokla')
+ element << attributes[:cislo_dokla] if attributes[:cislo_dokla]
+ root << element
+ end
- if polozka
- polozka.each { |i| root << PolSklDoklType.new(i, 'Polozka').builder }
+ if attributes.key? :zpusob_uctovani
+ element = Ox::Element.new('ZpusobUctovani')
+ element << attributes[:zpusob_uctovani] if attributes[:zpusob_uctovani]
+ root << element
end
- if seznam_nep_plateb
+ if attributes.key? :c_objednavk
+ element = Ox::Element.new('CObjednavk')
+ element << attributes[:c_objednavk] if attributes[:c_objednavk]
+ root << element
+ end
+
+ if attributes.key? :kp_from_odb
+ element = Ox::Element.new('KPFromOdb')
+ element << attributes[:kp_from_odb] if attributes[:kp_from_odb]
+ root << element
+ end
+
+ if attributes.key? :datum
+ element = Ox::Element.new('Datum')
+ element << attributes[:datum] if attributes[:datum]
+ root << element
+ end
+
+ if attributes.key? :sleva
+ element = Ox::Element.new('Sleva')
+ element << attributes[:sleva] if attributes[:sleva]
+ root << element
+ end
+
+ if attributes.key? :d_rada
+ element = Ox::Element.new('DRada')
+ element << attributes[:d_rada] if attributes[:d_rada]
+ root << element
+ end
+
+ if attributes.key? :stredisko
+ element = Ox::Element.new('Stredisko')
+ element << attributes[:stredisko] if attributes[:stredisko]
+ root << element
+ end
+
+ if attributes.key? :zakazka
+ element = Ox::Element.new('Zakazka')
+ element << attributes[:zakazka] if attributes[:zakazka]
+ root << element
+ end
+
+ if attributes.key? :cinnost
+ element = Ox::Element.new('Cinnost')
+ element << attributes[:cinnost] if attributes[:cinnost]
+ root << element
+ end
+
+ if attributes.key? :popis
+ element = Ox::Element.new('Popis')
+ element << attributes[:popis] if attributes[:popis]
+ root << element
+ end
+
+ if attributes.key? :vystavil
+ element = Ox::Element.new('Vystavil')
+ element << attributes[:vystavil] if attributes[:vystavil]
+ root << element
+ end
+
+ if attributes.key? :vyriz_faktu
+ element = Ox::Element.new('VyrizFaktu')
+ element << attributes[:vyriz_faktu] if attributes[:vyriz_faktu]
+ root << element
+ end
+
+ if attributes.key? :text_pred_po
+ element = Ox::Element.new('TextPredPo')
+ element << attributes[:text_pred_po] if attributes[:text_pred_po]
+ root << element
+ end
+
+ if attributes.key? :text_za_pol
+ element = Ox::Element.new('TextZaPol')
+ element << attributes[:text_za_pol] if attributes[:text_za_pol]
+ root << element
+ end
+
+ if attributes.key? :nadpis
+ element = Ox::Element.new('Nadpis')
+ element << attributes[:nadpis] if attributes[:nadpis]
+ root << element
+ end
+
+ if attributes.key? :zkrat_typu_d
+ element = Ox::Element.new('ZkratTypuD')
+ element << attributes[:zkrat_typu_d] if attributes[:zkrat_typu_d]
+ root << element
+ end
+
+ if attributes.key? :poriz_cena
+ element = Ox::Element.new('PorizCena')
+ element << attributes[:poriz_cena] if attributes[:poriz_cena]
+ root << element
+ end
+
+ if attributes.key? :popis_x
+ element = Ox::Element.new('PopisX')
+ element << attributes[:popis_x] if attributes[:popis_x]
+ root << element
+ end
+
+ if attributes.key? :fiskal
+ element = Ox::Element.new('Fiskal')
+ element << attributes[:fiskal] if attributes[:fiskal]
+ root << element
+ end
+
+ if attributes.key? :fis_doklad
+ element = Ox::Element.new('FisDoklad')
+ element << attributes[:fis_doklad] if attributes[:fis_doklad]
+ root << element
+ end
+
+ if attributes.key? :dat_sk_poh
+ element = Ox::Element.new('DatSkPoh')
+ element << attributes[:dat_sk_poh] if attributes[:dat_sk_poh]
+ root << element
+ end
+
+ if attributes.key? :stat_moss
+ element = Ox::Element.new('StatMOSS')
+ element << attributes[:stat_moss] if attributes[:stat_moss]
+ root << element
+ end
+
+ if attributes.key? :sazba_dph1
+ element = Ox::Element.new('SazbaDPH1')
+ element << attributes[:sazba_dph1] if attributes[:sazba_dph1]
+ root << element
+ end
+
+ if attributes.key? :sazba_dph2
+ element = Ox::Element.new('SazbaDPH2')
+ element << attributes[:sazba_dph2] if attributes[:sazba_dph2]
+ root << element
+ end
+
+ if attributes.key? :prim_doklad
+ element = Ox::Element.new('PrimDoklad')
+ element << attributes[:prim_doklad] if attributes[:prim_doklad]
+ root << element
+ end
+
+ if attributes.key? :var_symbol
+ element = Ox::Element.new('VarSymbol')
+ element << attributes[:var_symbol] if attributes[:var_symbol]
+ root << element
+ end
+
+ if attributes.key? :par_symbol
+ element = Ox::Element.new('ParSymbol')
+ element << attributes[:par_symbol] if attributes[:par_symbol]
+ root << element
+ end
+
+ if attributes.key? :typ_transakce
+ element = Ox::Element.new('TypTransakce')
+ element << attributes[:typ_transakce] if attributes[:typ_transakce]
+ root << element
+ end
+
+ if attributes.key? :dodaci_podm
+ element = Ox::Element.new('DodaciPodm')
+ element << attributes[:dodaci_podm] if attributes[:dodaci_podm]
+ root << element
+ end
+
+ if attributes.key? :druh_dopravy
+ element = Ox::Element.new('DruhDopravy')
+ element << attributes[:druh_dopravy] if attributes[:druh_dopravy]
+ root << element
+ end
+
+ if attributes.key? :st_odesl_urc
+ element = Ox::Element.new('StOdeslUrc')
+ element << attributes[:st_odesl_urc] if attributes[:st_odesl_urc]
+ root << element
+ end
+
+ if attributes.key? :doprav_tuz
+ element = Ox::Element.new('DopravTuz')
+ element << attributes[:doprav_tuz] if attributes[:doprav_tuz]
+ root << element
+ end
+
+ if attributes.key? :doprav_zahr
+ element = Ox::Element.new('DopravZahr')
+ element << attributes[:doprav_zahr] if attributes[:doprav_zahr]
+ root << element
+ end
+
+ if attributes.key? :datum_its
+ element = Ox::Element.new('DatumITS')
+ element << attributes[:datum_its] if attributes[:datum_its]
+ root << element
+ end
+
+ if attributes.key? :sleva
+ element = Ox::Element.new('Sleva')
+ element << attributes[:sleva] if attributes[:sleva]
+ root << element
+ end
+
+ if attributes.key? :i_doklad_id
+ element = Ox::Element.new('iDokladID')
+ element << attributes[:i_doklad_id] if attributes[:i_doklad_id]
+ root << element
+ end
+
+ if attributes.key? :i_dokl_agend
+ element = Ox::Element.new('iDoklAgend')
+ element << attributes[:i_dokl_agend] if attributes[:i_dokl_agend]
+ root << element
+ end
+
+ if attributes.key? :celkem
+ element = Ox::Element.new('Celkem')
+ element << attributes[:celkem] if attributes[:celkem]
+ root << element
+ end
+
+ if attributes.key? :eet
+ root << EETType.new(attributes[:eet], 'EET').builder
+ end
+
+ if attributes.key? :valuty
+ root << Valuty.new(attributes[:valuty], 'Valuty').builder
+ end
+
+ if attributes.key? :dod_odb
+ root << SkDokladFirmaType.new(attributes[:dod_odb], 'DodOdb').builder
+ end
+
+ if attributes.key? :konec_prij
+ root << KonecPrijFirmaType.new(attributes[:konec_prij], 'KonecPrij').builder
+ end
+
+ if attributes.key? :import
+ root << Import.new(attributes[:import], 'Import').builder
+ end
+
+ if attributes.key? :sklad_pro_pr
+ root << SkladType.new(attributes[:sklad_pro_pr], 'SkladProPr').builder
+ end
+
+ if attributes.key? :moje_firma
+ root << MojeFirmaType.new(attributes[:moje_firma], 'MojeFirma').builder
+ end
+
+ if attributes.key? :vlajky
+ root << Vlajky.new(attributes[:vlajky], 'Vlajky').builder
+ end
+
+ if attributes.key? :souhrn_dph
+ root << SouhrnDPHType.new(attributes[:souhrn_dph], 'SouhrnDPH').builder
+ end
+
+ if attributes.key? :polozka
+ attributes[:polozka].each { |i| root << PolSklDoklType.new(i, 'Polozka').builder }
+ end
+
+ if attributes.key? :seznam_nep_plateb
element = Ox::Element.new('SeznamNepPlateb')
- seznam_nep_plateb.each { |i| element << NepPlatbaType.new(i, 'NepPlatba').builder }
+ attributes[:seznam_nep_plateb].each { |i| element << NepPlatbaType.new(i, 'NepPlatba').builder }
root << element
end
- if dokumenty
+ if attributes.key? :dokumenty
element = Ox::Element.new('Dokumenty')
- dokumenty.map { |i| Ox::Element.new('Dokument') << i }.each { |i| element << i }
+ attributes[:dokumenty].map { |i| Ox::Element.new('Dokument') << i }.each { |i| element << i }
root << element
end
root
end
\ No newline at end of file