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_type' require 'money_s3/parsers/dodavka_type' require 'money_s3/parsers/def_sub_pol_type' module MoneyS3 module Parsers class PolSklDoklType include BaseParser def nazev at 'Nazev' end def pocet_mj at 'PocetMJ' end def cena at 'Cena' end def valuty at 'Valuty' end def dph at 'DPH' end def cena_typ at 'CenaTyp' end def sleva at 'Sleva' end def cinnost at 'Cinnost' end def zakazka at 'Zakazka' end def stredisko at 'Stredisko' end def cenova_hlad at 'CenovaHlad' end def poznamka at 'Poznamka' end def vratka at 'Vratka' end def ucet_md at 'UcetMD' end def ucet_d at 'UcetD' end def kod_statu_puv at 'KodStatuPuv' end def typ_transakce at 'TypTransakce' end def hmotnost at 'Hmotnost' end def poriz_cena at 'PorizCena' end def cena_po_sleve at 'CenaPoSleve' end def zvl_rezim at 'ZvlRezim' end def zvl_dph at 'ZvlDPH' end def rezim_eet at 'RezimEET' end def sklad submodel_at(SkladType, 'Sklad') end def km_karta submodel_at(KmKartaType, 'KmKarta') end def seznam_vc array_of_at(VyrobniCisloType, ['SeznamVC', 'VyrobniCislo']) end def seznam_dodavek array_of_at(DodavkaType, ['SeznamDodavek', 'Dodavka']) end def slozeni array_of_at(DefSubPolType, ['Slozeni', 'SubPolozka']) end def to_h_with_attrs hash = HashWithAttributes.new({}, attributes) hash[:nazev] = nazev if has? 'Nazev' hash[:pocet_mj] = pocet_mj if has? 'PocetMJ' hash[:cena] = cena if has? 'Cena' hash[:valuty] = valuty if has? 'Valuty' hash[:dph] = dph if has? 'DPH' hash[:cena_typ] = cena_typ if has? 'CenaTyp' hash[:sleva] = sleva if has? 'Sleva' hash[:cinnost] = cinnost if has? 'Cinnost' hash[:zakazka] = zakazka if has? 'Zakazka' hash[:stredisko] = stredisko if has? 'Stredisko' hash[:cenova_hlad] = cenova_hlad if has? 'CenovaHlad' hash[:poznamka] = poznamka if has? 'Poznamka' hash[:vratka] = vratka if has? 'Vratka' hash[:ucet_md] = ucet_md if has? 'UcetMD' hash[:ucet_d] = ucet_d if has? 'UcetD' hash[:kod_statu_puv] = kod_statu_puv if has? 'KodStatuPuv' hash[:typ_transakce] = typ_transakce if has? 'TypTransakce' hash[:hmotnost] = hmotnost if has? 'Hmotnost' hash[:poriz_cena] = poriz_cena if has? 'PorizCena' hash[:cena_po_sleve] = cena_po_sleve if has? 'CenaPoSleve' hash[:zvl_rezim] = zvl_rezim if has? 'ZvlRezim' hash[:zvl_dph] = zvl_dph if has? 'ZvlDPH' hash[:rezim_eet] = rezim_eet if has? 'RezimEET' hash[:sklad] = sklad.to_h_with_attrs if has? 'Sklad' hash[:km_karta] = km_karta.to_h_with_attrs if has? 'KmKarta' hash[:seznam_vc] = seznam_vc.map(&:to_h_with_attrs) if has? 'SeznamVC' hash[:seznam_dodavek] = seznam_dodavek.map(&:to_h_with_attrs) if has? 'SeznamDodavek' hash[:slozeni] = slozeni.map(&:to_h_with_attrs) if has? 'Slozeni' hash end end end end