lib/money_s3/builders/firma.rb in money_s3-0.4.0 vs lib/money_s3/builders/firma.rb in money_s3-0.5.0
- old
+ new
@@ -11,73 +11,275 @@
module MoneyS3
module Builders
class Firma
include BaseBuilder
- attr_accessor :guid, :nazev, :skupina_id, :obch_nazev, :fakt_nazev, :e_mail, :www, :spojeni, :ico, :dic, :dicsk, :platce_dph, :fyz_osoba, :kod_dan_ur, :banka, :ucet, :kod_banky, :v_symb, :spec_sym, :cinnosti, :adr_klice, :ceny, :ceniky, :kredit, :kredit_val, :splat_poh, :splat_zav, :spl_poh_dni, :spl_zav_dni, :sleva, :flag_sleva, :mail, :zprava, :poznamka, :kod_partn, :adresa, :obch_adresa, :fakt_adresa, :tel, :fax, :mobil, :isdoc, :eshop, :skupina, :vlajky, :osoba, :seznam_bank_spojeni, :dokumenty
-
def builder
root = Ox::Element.new(element_name)
- root << (Ox::Element.new('GUID') << guid) if guid
- root << (Ox::Element.new('Nazev') << nazev) if nazev
- root << (Ox::Element.new('SkupinaID') << skupina_id) if skupina_id
- root << (Ox::Element.new('ObchNazev') << obch_nazev) if obch_nazev
- root << (Ox::Element.new('FaktNazev') << fakt_nazev) if fakt_nazev
- root << (Ox::Element.new('EMail') << e_mail) if e_mail
- root << (Ox::Element.new('WWW') << www) if www
- root << (Ox::Element.new('Spojeni') << spojeni) if spojeni
- root << (Ox::Element.new('ICO') << ico) if ico
- root << (Ox::Element.new('DIC') << dic) if dic
- root << (Ox::Element.new('DICSK') << dicsk) if dicsk
- root << (Ox::Element.new('PlatceDPH') << platce_dph) if platce_dph
- root << (Ox::Element.new('FyzOsoba') << fyz_osoba) if fyz_osoba
- root << (Ox::Element.new('KodDanUr') << kod_dan_ur) if kod_dan_ur
- root << (Ox::Element.new('Banka') << banka) if banka
- root << (Ox::Element.new('Ucet') << ucet) if ucet
- root << (Ox::Element.new('KodBanky') << kod_banky) if kod_banky
- root << (Ox::Element.new('VSymb') << v_symb) if v_symb
- root << (Ox::Element.new('SpecSym') << spec_sym) if spec_sym
- root << (Ox::Element.new('Cinnosti') << cinnosti) if cinnosti
- root << (Ox::Element.new('AdrKlice') << adr_klice) if adr_klice
- root << (Ox::Element.new('Ceny') << ceny) if ceny
- root << (Ox::Element.new('Ceniky') << ceniky) if ceniky
- root << (Ox::Element.new('Kredit') << kredit) if kredit
- root << (Ox::Element.new('KreditVal') << kredit_val) if kredit_val
- root << (Ox::Element.new('SplatPoh') << splat_poh) if splat_poh
- root << (Ox::Element.new('SplatZav') << splat_zav) if splat_zav
- root << (Ox::Element.new('SplPohDni') << spl_poh_dni) if spl_poh_dni
- root << (Ox::Element.new('SplZavDni') << spl_zav_dni) if spl_zav_dni
- root << (Ox::Element.new('Sleva') << sleva) if sleva
- root << (Ox::Element.new('FlagSleva') << flag_sleva) if flag_sleva
- root << (Ox::Element.new('Mail') << mail) if mail
- root << (Ox::Element.new('Zprava') << zprava) if zprava
- root << (Ox::Element.new('Poznamka') << poznamka) if poznamka
- root << (Ox::Element.new('KodPartn') << kod_partn) if kod_partn
- root << AdresaType.new(adresa, 'Adresa').builder if adresa
- root << AdresaType.new(obch_adresa, 'ObchAdresa').builder if obch_adresa
- root << AdresaType.new(fakt_adresa, 'FaktAdresa').builder if fakt_adresa
- root << TelefonType.new(tel, 'Tel').builder if tel
- root << TelefonType.new(fax, 'Fax').builder if fax
- root << TelefonType.new(mobil, 'Mobil').builder if mobil
- root << ISDOC.new(isdoc, 'ISDOC').builder if isdoc
- root << Eshop.new(eshop, 'eshop').builder if eshop
- root << SkupinaFiremType.new(skupina, 'Skupina').builder if skupina
- root << Vlajky.new(vlajky, 'Vlajky').builder if vlajky
+ if attributes.key? :guid
+ element = Ox::Element.new('GUID')
+ element << attributes[:guid] if attributes[:guid]
+ root << element
+ end
- if osoba
- osoba.each { |i| root << OsobaType.new(i, 'Osoba').builder }
+ if attributes.key? :nazev
+ element = Ox::Element.new('Nazev')
+ element << attributes[:nazev] if attributes[:nazev]
+ root << element
end
- if seznam_bank_spojeni
+ if attributes.key? :skupina_id
+ element = Ox::Element.new('SkupinaID')
+ element << attributes[:skupina_id] if attributes[:skupina_id]
+ root << element
+ end
+
+ if attributes.key? :obch_nazev
+ element = Ox::Element.new('ObchNazev')
+ element << attributes[:obch_nazev] if attributes[:obch_nazev]
+ root << element
+ end
+
+ if attributes.key? :fakt_nazev
+ element = Ox::Element.new('FaktNazev')
+ element << attributes[:fakt_nazev] if attributes[:fakt_nazev]
+ root << element
+ end
+
+ if attributes.key? :e_mail
+ element = Ox::Element.new('EMail')
+ element << attributes[:e_mail] if attributes[:e_mail]
+ root << element
+ end
+
+ if attributes.key? :www
+ element = Ox::Element.new('WWW')
+ element << attributes[:www] if attributes[:www]
+ root << element
+ end
+
+ if attributes.key? :spojeni
+ element = Ox::Element.new('Spojeni')
+ element << attributes[:spojeni] if attributes[:spojeni]
+ root << element
+ end
+
+ if attributes.key? :ico
+ element = Ox::Element.new('ICO')
+ element << attributes[:ico] if attributes[:ico]
+ root << element
+ end
+
+ if attributes.key? :dic
+ element = Ox::Element.new('DIC')
+ element << attributes[:dic] if attributes[:dic]
+ root << element
+ end
+
+ if attributes.key? :dicsk
+ element = Ox::Element.new('DICSK')
+ element << attributes[:dicsk] if attributes[:dicsk]
+ root << element
+ end
+
+ if attributes.key? :platce_dph
+ element = Ox::Element.new('PlatceDPH')
+ element << attributes[:platce_dph] if attributes[:platce_dph]
+ root << element
+ end
+
+ if attributes.key? :fyz_osoba
+ element = Ox::Element.new('FyzOsoba')
+ element << attributes[:fyz_osoba] if attributes[:fyz_osoba]
+ root << element
+ end
+
+ if attributes.key? :kod_dan_ur
+ element = Ox::Element.new('KodDanUr')
+ element << attributes[:kod_dan_ur] if attributes[:kod_dan_ur]
+ root << element
+ end
+
+ if attributes.key? :banka
+ element = Ox::Element.new('Banka')
+ element << attributes[:banka] if attributes[:banka]
+ root << element
+ end
+
+ if attributes.key? :ucet
+ element = Ox::Element.new('Ucet')
+ element << attributes[:ucet] if attributes[:ucet]
+ root << element
+ end
+
+ if attributes.key? :kod_banky
+ element = Ox::Element.new('KodBanky')
+ element << attributes[:kod_banky] if attributes[:kod_banky]
+ root << element
+ end
+
+ if attributes.key? :v_symb
+ element = Ox::Element.new('VSymb')
+ element << attributes[:v_symb] if attributes[:v_symb]
+ root << element
+ end
+
+ if attributes.key? :spec_sym
+ element = Ox::Element.new('SpecSym')
+ element << attributes[:spec_sym] if attributes[:spec_sym]
+ root << element
+ end
+
+ if attributes.key? :cinnosti
+ element = Ox::Element.new('Cinnosti')
+ element << attributes[:cinnosti] if attributes[:cinnosti]
+ root << element
+ end
+
+ if attributes.key? :adr_klice
+ element = Ox::Element.new('AdrKlice')
+ element << attributes[:adr_klice] if attributes[:adr_klice]
+ root << element
+ end
+
+ if attributes.key? :ceny
+ element = Ox::Element.new('Ceny')
+ element << attributes[:ceny] if attributes[:ceny]
+ root << element
+ end
+
+ if attributes.key? :ceniky
+ element = Ox::Element.new('Ceniky')
+ element << attributes[:ceniky] if attributes[:ceniky]
+ root << element
+ end
+
+ if attributes.key? :kredit
+ element = Ox::Element.new('Kredit')
+ element << attributes[:kredit] if attributes[:kredit]
+ root << element
+ end
+
+ if attributes.key? :kredit_val
+ element = Ox::Element.new('KreditVal')
+ element << attributes[:kredit_val] if attributes[:kredit_val]
+ root << element
+ end
+
+ if attributes.key? :splat_poh
+ element = Ox::Element.new('SplatPoh')
+ element << attributes[:splat_poh] if attributes[:splat_poh]
+ root << element
+ end
+
+ if attributes.key? :splat_zav
+ element = Ox::Element.new('SplatZav')
+ element << attributes[:splat_zav] if attributes[:splat_zav]
+ root << element
+ end
+
+ if attributes.key? :spl_poh_dni
+ element = Ox::Element.new('SplPohDni')
+ element << attributes[:spl_poh_dni] if attributes[:spl_poh_dni]
+ root << element
+ end
+
+ if attributes.key? :spl_zav_dni
+ element = Ox::Element.new('SplZavDni')
+ element << attributes[:spl_zav_dni] if attributes[:spl_zav_dni]
+ root << element
+ end
+
+ if attributes.key? :sleva
+ element = Ox::Element.new('Sleva')
+ element << attributes[:sleva] if attributes[:sleva]
+ root << element
+ end
+
+ if attributes.key? :flag_sleva
+ element = Ox::Element.new('FlagSleva')
+ element << attributes[:flag_sleva] if attributes[:flag_sleva]
+ root << element
+ end
+
+ if attributes.key? :mail
+ element = Ox::Element.new('Mail')
+ element << attributes[:mail] if attributes[:mail]
+ root << element
+ end
+
+ if attributes.key? :zprava
+ element = Ox::Element.new('Zprava')
+ element << attributes[:zprava] if attributes[:zprava]
+ root << element
+ end
+
+ if attributes.key? :poznamka
+ element = Ox::Element.new('Poznamka')
+ element << attributes[:poznamka] if attributes[:poznamka]
+ root << element
+ end
+
+ if attributes.key? :kod_partn
+ element = Ox::Element.new('KodPartn')
+ element << attributes[:kod_partn] if attributes[:kod_partn]
+ root << element
+ end
+
+ if attributes.key? :adresa
+ root << AdresaType.new(attributes[:adresa], 'Adresa').builder
+ end
+
+ if attributes.key? :obch_adresa
+ root << AdresaType.new(attributes[:obch_adresa], 'ObchAdresa').builder
+ end
+
+ if attributes.key? :fakt_adresa
+ root << AdresaType.new(attributes[:fakt_adresa], 'FaktAdresa').builder
+ end
+
+ if attributes.key? :tel
+ root << TelefonType.new(attributes[:tel], 'Tel').builder
+ end
+
+ if attributes.key? :fax
+ root << TelefonType.new(attributes[:fax], 'Fax').builder
+ end
+
+ if attributes.key? :mobil
+ root << TelefonType.new(attributes[:mobil], 'Mobil').builder
+ end
+
+ if attributes.key? :isdoc
+ root << ISDOC.new(attributes[:isdoc], 'ISDOC').builder
+ end
+
+ if attributes.key? :eshop
+ root << Eshop.new(attributes[:eshop], 'eshop').builder
+ end
+
+ if attributes.key? :skupina
+ root << SkupinaFiremType.new(attributes[:skupina], 'Skupina').builder
+ end
+
+ if attributes.key? :vlajky
+ root << Vlajky.new(attributes[:vlajky], 'Vlajky').builder
+ end
+
+ if attributes.key? :osoba
+ attributes[:osoba].each { |i| root << OsobaType.new(i, 'Osoba').builder }
+ end
+
+ if attributes.key? :seznam_bank_spojeni
element = Ox::Element.new('SeznamBankSpojeni')
- seznam_bank_spojeni.each { |i| element << BankSpojeniType.new(i, 'BankSpojeni').builder }
+ attributes[:seznam_bank_spojeni].each { |i| element << BankSpojeniType.new(i, 'BankSpojeni').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