money_s3 0.5.0 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (347) hide show
  1. checksums.yaml +4 -4
  2. data/lib/money_s3/builders/adresa_type.rb +8 -29
  3. data/lib/money_s3/builders/alternativa_prislusenstvi_type.rb +12 -33
  4. data/lib/money_s3/builders/bank_dokl.rb +65 -226
  5. data/lib/money_s3/builders/bank_spojeni_type.rb +7 -23
  6. data/lib/money_s3/builders/bank_ucet_pokladna_type.rb +28 -139
  7. data/lib/money_s3/builders/base_builder.rb +18 -4
  8. data/lib/money_s3/builders/castky.rb +19 -85
  9. data/lib/money_s3/builders/cena_type.rb +6 -17
  10. data/lib/money_s3/builders/cenova_hladina.rb +10 -31
  11. data/lib/money_s3/builders/cenova_hladina_type.rb +10 -31
  12. data/lib/money_s3/builders/child_kusovnik_type.rb +31 -142
  13. data/lib/money_s3/builders/cinnost.rb +6 -17
  14. data/lib/money_s3/builders/clen_dph.rb +15 -61
  15. data/lib/money_s3/builders/dalsi_sazba.rb +8 -29
  16. data/lib/money_s3/builders/data.rb +8 -5
  17. data/lib/money_s3/builders/def_sub_pol_type.rb +7 -8
  18. data/lib/money_s3/builders/definice_ceny.rb +4 -1
  19. data/lib/money_s3/builders/dl_prij.rb +66 -257
  20. data/lib/money_s3/builders/dl_vyd.rb +66 -257
  21. data/lib/money_s3/builders/dodavka_type.rb +7 -23
  22. data/lib/money_s3/builders/dokl_ref_type.rb +9 -25
  23. data/lib/money_s3/builders/doklad.rb +13 -49
  24. data/lib/money_s3/builders/doklad_firma_type.rb +36 -117
  25. data/lib/money_s3/builders/doklad_hraz.rb +9 -25
  26. data/lib/money_s3/builders/e_shop_info.rb +6 -17
  27. data/lib/money_s3/builders/eet_type.rb +31 -122
  28. data/lib/money_s3/builders/ekategorie_type.rb +12 -33
  29. data/lib/money_s3/builders/ekategorie_zasoba_type.rb +11 -37
  30. data/lib/money_s3/builders/error_info_type.rb +7 -23
  31. data/lib/money_s3/builders/eshop.rb +15 -61
  32. data/lib/money_s3/builders/eshop_zasoba_type.rb +10 -31
  33. data/lib/money_s3/builders/fakt_prij.rb +138 -494
  34. data/lib/money_s3/builders/fakt_vyd.rb +138 -494
  35. data/lib/money_s3/builders/faktura_type.rb +138 -494
  36. data/lib/money_s3/builders/firma.rb +64 -235
  37. data/lib/money_s3/builders/firma_type.rb +64 -235
  38. data/lib/money_s3/builders/header_kusovnik_type.rb +27 -118
  39. data/lib/money_s3/builders/import.rb +19 -20
  40. data/lib/money_s3/builders/int_dokl.rb +47 -183
  41. data/lib/money_s3/builders/inv_dokl_type.rb +11 -37
  42. data/lib/money_s3/builders/isdoc.rb +4 -1
  43. data/lib/money_s3/builders/km_karta.rb +55 -226
  44. data/lib/money_s3/builders/km_karta_type.rb +55 -226
  45. data/lib/money_s3/builders/komponenta_kusovnik_type.rb +8 -5
  46. data/lib/money_s3/builders/komponenta_type.rb +11 -12
  47. data/lib/money_s3/builders/konec_prij_firma_type.rb +28 -99
  48. data/lib/money_s3/builders/konfigurace.rb +4 -1
  49. data/lib/money_s3/builders/kurz_listek.rb +8 -19
  50. data/lib/money_s3/builders/kurz_rozd.rb +9 -25
  51. data/lib/money_s3/builders/kurz_type.rb +15 -61
  52. data/lib/money_s3/builders/kusovnik_type.rb +10 -7
  53. data/lib/money_s3/builders/mena_type.rb +6 -17
  54. data/lib/money_s3/builders/message_type.rb +9 -10
  55. data/lib/money_s3/builders/moje_firma_type.rb +30 -101
  56. data/lib/money_s3/builders/money_data.rb +98 -95
  57. data/lib/money_s3/builders/msg_fakt_poloz_type.rb +6 -3
  58. data/lib/money_s3/builders/msg_firma_type.rb +8 -5
  59. data/lib/money_s3/builders/msg_poloz_type.rb +8 -5
  60. data/lib/money_s3/builders/mz_priplatek.rb +7 -8
  61. data/lib/money_s3/builders/mzda_type.rb +17 -53
  62. data/lib/money_s3/builders/mzdove_obdobi_type.rb +8 -19
  63. data/lib/money_s3/builders/nab_prij.rb +73 -269
  64. data/lib/money_s3/builders/nab_vyd.rb +73 -269
  65. data/lib/money_s3/builders/nep_platba_type.rb +7 -13
  66. data/lib/money_s3/builders/nep_platidlo_type.rb +6 -17
  67. data/lib/money_s3/builders/nepritomnost_type.rb +20 -91
  68. data/lib/money_s3/builders/neskl_polozka.rb +25 -106
  69. data/lib/money_s3/builders/norm_poloz_id_type.rb +19 -85
  70. data/lib/money_s3/builders/norm_poloz_ud_type.rb +20 -91
  71. data/lib/money_s3/builders/obdobi_dph.rb +18 -79
  72. data/lib/money_s3/builders/obj_prij.rb +73 -269
  73. data/lib/money_s3/builders/obj_vyd.rb +73 -269
  74. data/lib/money_s3/builders/osoba_type.rb +27 -103
  75. data/lib/money_s3/builders/parametr_karta_type.rb +7 -13
  76. data/lib/money_s3/builders/parametr_type.rb +10 -41
  77. data/lib/money_s3/builders/pc.rb +26 -67
  78. data/lib/money_s3/builders/pohledavka_type.rb +79 -290
  79. data/lib/money_s3/builders/pok_dokl.rb +50 -191
  80. data/lib/money_s3/builders/pol_faktury_type.rb +29 -115
  81. data/lib/money_s3/builders/pol_inv_dokl_type.rb +16 -37
  82. data/lib/money_s3/builders/pol_objedn_type.rb +52 -178
  83. data/lib/money_s3/builders/pol_skl_dokl_type.rb +43 -154
  84. data/lib/money_s3/builders/popt_prij.rb +73 -269
  85. data/lib/money_s3/builders/popt_vyd.rb +73 -269
  86. data/lib/money_s3/builders/prac_pomer.rb +7 -23
  87. data/lib/money_s3/builders/predkontace.rb +17 -73
  88. data/lib/money_s3/builders/predkontace_de_type.rb +10 -41
  89. data/lib/money_s3/builders/prepr_dopln_udaj_type.rb +6 -17
  90. data/lib/money_s3/builders/prepravce_type.rb +7 -23
  91. data/lib/money_s3/builders/prevodka.rb +66 -257
  92. data/lib/money_s3/builders/prijemka.rb +66 -257
  93. data/lib/money_s3/builders/prodejka.rb +66 -257
  94. data/lib/money_s3/builders/reference.rb +8 -5
  95. data/lib/money_s3/builders/reference_type.rb +6 -3
  96. data/lib/money_s3/builders/rozuct_poloz_id_type.rb +17 -73
  97. data/lib/money_s3/builders/rozuct_poloz_ud_type.rb +21 -82
  98. data/lib/money_s3/builders/seznam_bank_dokl.rb +6 -3
  99. data/lib/money_s3/builders/seznam_cen_hladin.rb +6 -3
  100. data/lib/money_s3/builders/seznam_cinnosti.rb +6 -3
  101. data/lib/money_s3/builders/seznam_clen_dph.rb +6 -3
  102. data/lib/money_s3/builders/seznam_dl_prij.rb +6 -3
  103. data/lib/money_s3/builders/seznam_dl_vyd.rb +6 -3
  104. data/lib/money_s3/builders/seznam_fakt_prij.rb +6 -3
  105. data/lib/money_s3/builders/seznam_fakt_vyd.rb +6 -3
  106. data/lib/money_s3/builders/seznam_firem.rb +6 -3
  107. data/lib/money_s3/builders/seznam_int_dokl.rb +6 -3
  108. data/lib/money_s3/builders/seznam_inv_dokl.rb +6 -3
  109. data/lib/money_s3/builders/seznam_km_karta.rb +6 -3
  110. data/lib/money_s3/builders/seznam_kurz_listku.rb +6 -3
  111. data/lib/money_s3/builders/seznam_mezd.rb +6 -3
  112. data/lib/money_s3/builders/seznam_nab_prij.rb +6 -3
  113. data/lib/money_s3/builders/seznam_nab_vyd.rb +6 -3
  114. data/lib/money_s3/builders/seznam_obj_prij.rb +6 -3
  115. data/lib/money_s3/builders/seznam_obj_vyd.rb +6 -3
  116. data/lib/money_s3/builders/seznam_pok_dokl.rb +6 -3
  117. data/lib/money_s3/builders/seznam_popt_prij.rb +6 -3
  118. data/lib/money_s3/builders/seznam_popt_vyd.rb +6 -3
  119. data/lib/money_s3/builders/seznam_predkontaci.rb +6 -3
  120. data/lib/money_s3/builders/seznam_predkontaci_de.rb +6 -3
  121. data/lib/money_s3/builders/seznam_prevodka.rb +6 -3
  122. data/lib/money_s3/builders/seznam_prijemka.rb +6 -3
  123. data/lib/money_s3/builders/seznam_prodejka.rb +6 -3
  124. data/lib/money_s3/builders/seznam_skladu.rb +6 -3
  125. data/lib/money_s3/builders/seznam_stredisek.rb +6 -3
  126. data/lib/money_s3/builders/seznam_typ_kusovnik.rb +6 -3
  127. data/lib/money_s3/builders/seznam_type.rb +4 -1
  128. data/lib/money_s3/builders/seznam_uc_osnov.rb +6 -3
  129. data/lib/money_s3/builders/seznam_vazeb.rb +6 -3
  130. data/lib/money_s3/builders/seznam_vydejka.rb +6 -3
  131. data/lib/money_s3/builders/seznam_vyrobka.rb +6 -3
  132. data/lib/money_s3/builders/seznam_zak_kusovnik.rb +6 -3
  133. data/lib/money_s3/builders/seznam_zakazka.rb +6 -3
  134. data/lib/money_s3/builders/seznam_zamestnancu.rb +6 -3
  135. data/lib/money_s3/builders/seznam_zasoba.rb +6 -3
  136. data/lib/money_s3/builders/sk_doklad_firma_type.rb +34 -115
  137. data/lib/money_s3/builders/sklad.rb +34 -120
  138. data/lib/money_s3/builders/sklad_type.rb +34 -120
  139. data/lib/money_s3/builders/skupina_firem_type.rb +6 -17
  140. data/lib/money_s3/builders/skupina_kusovnik_type.rb +6 -17
  141. data/lib/money_s3/builders/skupina_zasob_type.rb +31 -117
  142. data/lib/money_s3/builders/souhrn_dph_pol_type.rb +9 -25
  143. data/lib/money_s3/builders/souhrn_dph_type.rb +10 -31
  144. data/lib/money_s3/builders/stav_zasoby_type.rb +6 -17
  145. data/lib/money_s3/builders/stredisko.rb +6 -17
  146. data/lib/money_s3/builders/sub_pol_obj_type.rb +7 -8
  147. data/lib/money_s3/builders/subpol_inv_d_type.rb +7 -8
  148. data/lib/money_s3/builders/telefon_type.rb +6 -17
  149. data/lib/money_s3/builders/typ_priplatku_type.rb +13 -49
  150. data/lib/money_s3/builders/typ_zasilky_type.rb +6 -17
  151. data/lib/money_s3/builders/uc_osnova_type.rb +20 -91
  152. data/lib/money_s3/builders/uc_pohyb_type.rb +8 -29
  153. data/lib/money_s3/builders/ucet.rb +7 -23
  154. data/lib/money_s3/builders/ucty_pohybu_type.rb +13 -49
  155. data/lib/money_s3/builders/uhrada_pduhrada.rb +16 -67
  156. data/lib/money_s3/builders/uhrada_type.rb +23 -59
  157. data/lib/money_s3/builders/valuty.rb +9 -10
  158. data/lib/money_s3/builders/valuty_hraz.rb +7 -8
  159. data/lib/money_s3/builders/valuty_uhr.rb +7 -8
  160. data/lib/money_s3/builders/vazba_type.rb +7 -13
  161. data/lib/money_s3/builders/vlajka_type.rb +13 -49
  162. data/lib/money_s3/builders/vlajky.rb +8 -5
  163. data/lib/money_s3/builders/vydejka.rb +66 -257
  164. data/lib/money_s3/builders/vyrobka.rb +66 -257
  165. data/lib/money_s3/builders/vyrobni_cislo.rb +6 -17
  166. data/lib/money_s3/builders/vyrobni_cislo_type.rb +6 -17
  167. data/lib/money_s3/builders/vysledek_odesl.rb +7 -8
  168. data/lib/money_s3/builders/vzor_komponenta_type.rb +10 -7
  169. data/lib/money_s3/builders/zakazka.rb +27 -103
  170. data/lib/money_s3/builders/zamestnanec_type.rb +10 -31
  171. data/lib/money_s3/builders/zasoba.rb +54 -175
  172. data/lib/money_s3/builders/zauctovani_dph_detype.rb +11 -37
  173. data/lib/money_s3/builders/zauctovani_dph_type.rb +13 -49
  174. data/lib/money_s3/builders/zavazek_type.rb +74 -280
  175. data/lib/money_s3/parsers/adresa_type.rb +13 -12
  176. data/lib/money_s3/parsers/alternativa_prislusenstvi_type.rb +17 -16
  177. data/lib/money_s3/parsers/bank_dokl.rb +85 -84
  178. data/lib/money_s3/parsers/bank_spojeni_type.rb +10 -9
  179. data/lib/money_s3/parsers/bank_ucet_pokladna_type.rb +49 -48
  180. data/lib/money_s3/parsers/base_parser.rb +19 -22
  181. data/lib/money_s3/parsers/castky.rb +31 -30
  182. data/lib/money_s3/parsers/cena_type.rb +8 -7
  183. data/lib/money_s3/parsers/cenova_hladina.rb +15 -14
  184. data/lib/money_s3/parsers/cenova_hladina_type.rb +15 -14
  185. data/lib/money_s3/parsers/child_kusovnik_type.rb +51 -50
  186. data/lib/money_s3/parsers/cinnost.rb +8 -7
  187. data/lib/money_s3/parsers/clen_dph.rb +22 -21
  188. data/lib/money_s3/parsers/dalsi_sazba.rb +13 -12
  189. data/lib/money_s3/parsers/data.rb +6 -5
  190. data/lib/money_s3/parsers/def_sub_pol_type.rb +6 -5
  191. data/lib/money_s3/parsers/dl_prij.rb +105 -104
  192. data/lib/money_s3/parsers/dl_vyd.rb +105 -104
  193. data/lib/money_s3/parsers/dodavka_type.rb +10 -9
  194. data/lib/money_s3/parsers/dokl_ref_type.rb +13 -12
  195. data/lib/money_s3/parsers/doklad.rb +19 -18
  196. data/lib/money_s3/parsers/doklad_firma_type.rb +53 -52
  197. data/lib/money_s3/parsers/doklad_hraz.rb +13 -12
  198. data/lib/money_s3/parsers/e_shop_info.rb +8 -7
  199. data/lib/money_s3/parsers/eet_type.rb +45 -44
  200. data/lib/money_s3/parsers/ekategorie_type.rb +17 -16
  201. data/lib/money_s3/parsers/ekategorie_zasoba_type.rb +17 -16
  202. data/lib/money_s3/parsers/error_info_type.rb +10 -9
  203. data/lib/money_s3/parsers/eshop.rb +22 -21
  204. data/lib/money_s3/parsers/eshop_zasoba_type.rb +15 -14
  205. data/lib/money_s3/parsers/fakt_prij.rb +187 -186
  206. data/lib/money_s3/parsers/fakt_vyd.rb +187 -186
  207. data/lib/money_s3/parsers/faktura_type.rb +187 -186
  208. data/lib/money_s3/parsers/firma.rb +99 -98
  209. data/lib/money_s3/parsers/firma_type.rb +99 -98
  210. data/lib/money_s3/parsers/header_kusovnik_type.rb +43 -42
  211. data/lib/money_s3/parsers/import.rb +19 -18
  212. data/lib/money_s3/parsers/int_dokl.rb +75 -74
  213. data/lib/money_s3/parsers/inv_dokl_type.rb +17 -16
  214. data/lib/money_s3/parsers/km_karta.rb +83 -82
  215. data/lib/money_s3/parsers/km_karta_type.rb +83 -82
  216. data/lib/money_s3/parsers/komponenta_kusovnik_type.rb +6 -5
  217. data/lib/money_s3/parsers/komponenta_type.rb +10 -9
  218. data/lib/money_s3/parsers/konec_prij_firma_type.rb +43 -42
  219. data/lib/money_s3/parsers/kurz_listek.rb +10 -9
  220. data/lib/money_s3/parsers/kurz_rozd.rb +13 -12
  221. data/lib/money_s3/parsers/kurz_type.rb +22 -21
  222. data/lib/money_s3/parsers/kusovnik_type.rb +8 -7
  223. data/lib/money_s3/parsers/mena_type.rb +8 -7
  224. data/lib/money_s3/parsers/message_type.rb +8 -7
  225. data/lib/money_s3/parsers/moje_firma_type.rb +45 -44
  226. data/lib/money_s3/parsers/money_data.rb +97 -96
  227. data/lib/money_s3/parsers/msg_fakt_poloz_type.rb +4 -3
  228. data/lib/money_s3/parsers/msg_firma_type.rb +6 -5
  229. data/lib/money_s3/parsers/msg_poloz_type.rb +6 -5
  230. data/lib/money_s3/parsers/mz_priplatek.rb +6 -5
  231. data/lib/money_s3/parsers/mzda_type.rb +24 -23
  232. data/lib/money_s3/parsers/mzdove_obdobi_type.rb +10 -9
  233. data/lib/money_s3/parsers/nab_prij.rb +113 -112
  234. data/lib/money_s3/parsers/nab_vyd.rb +113 -112
  235. data/lib/money_s3/parsers/nep_platba_type.rb +8 -7
  236. data/lib/money_s3/parsers/nep_platidlo_type.rb +8 -7
  237. data/lib/money_s3/parsers/nepritomnost_type.rb +33 -32
  238. data/lib/money_s3/parsers/neskl_polozka.rb +39 -38
  239. data/lib/money_s3/parsers/norm_poloz_id_type.rb +31 -30
  240. data/lib/money_s3/parsers/norm_poloz_ud_type.rb +33 -32
  241. data/lib/money_s3/parsers/obdobi_dph.rb +29 -28
  242. data/lib/money_s3/parsers/obj_prij.rb +113 -112
  243. data/lib/money_s3/parsers/obj_vyd.rb +113 -112
  244. data/lib/money_s3/parsers/osoba_type.rb +43 -42
  245. data/lib/money_s3/parsers/parametr_karta_type.rb +8 -7
  246. data/lib/money_s3/parsers/parametr_type.rb +17 -16
  247. data/lib/money_s3/parsers/pc.rb +35 -34
  248. data/lib/money_s3/parsers/pohledavka_type.rb +107 -106
  249. data/lib/money_s3/parsers/pok_dokl.rb +79 -78
  250. data/lib/money_s3/parsers/pol_faktury_type.rb +47 -46
  251. data/lib/money_s3/parsers/pol_inv_dokl_type.rb +20 -19
  252. data/lib/money_s3/parsers/pol_objedn_type.rb +67 -66
  253. data/lib/money_s3/parsers/pol_skl_dokl_type.rb +59 -58
  254. data/lib/money_s3/parsers/popt_prij.rb +113 -112
  255. data/lib/money_s3/parsers/popt_vyd.rb +113 -112
  256. data/lib/money_s3/parsers/prac_pomer.rb +10 -9
  257. data/lib/money_s3/parsers/predkontace.rb +27 -26
  258. data/lib/money_s3/parsers/predkontace_de_type.rb +17 -16
  259. data/lib/money_s3/parsers/prepr_dopln_udaj_type.rb +8 -7
  260. data/lib/money_s3/parsers/prepravce_type.rb +10 -9
  261. data/lib/money_s3/parsers/prevodka.rb +105 -104
  262. data/lib/money_s3/parsers/prijemka.rb +105 -104
  263. data/lib/money_s3/parsers/prodejka.rb +105 -104
  264. data/lib/money_s3/parsers/reference.rb +6 -5
  265. data/lib/money_s3/parsers/reference_type.rb +4 -3
  266. data/lib/money_s3/parsers/rozuct_poloz_id_type.rb +27 -26
  267. data/lib/money_s3/parsers/rozuct_poloz_ud_type.rb +31 -30
  268. data/lib/money_s3/parsers/seznam_bank_dokl.rb +4 -3
  269. data/lib/money_s3/parsers/seznam_cen_hladin.rb +4 -3
  270. data/lib/money_s3/parsers/seznam_cinnosti.rb +4 -3
  271. data/lib/money_s3/parsers/seznam_clen_dph.rb +4 -3
  272. data/lib/money_s3/parsers/seznam_dl_prij.rb +4 -3
  273. data/lib/money_s3/parsers/seznam_dl_vyd.rb +4 -3
  274. data/lib/money_s3/parsers/seznam_fakt_prij.rb +4 -3
  275. data/lib/money_s3/parsers/seznam_fakt_vyd.rb +4 -3
  276. data/lib/money_s3/parsers/seznam_firem.rb +4 -3
  277. data/lib/money_s3/parsers/seznam_int_dokl.rb +4 -3
  278. data/lib/money_s3/parsers/seznam_inv_dokl.rb +4 -3
  279. data/lib/money_s3/parsers/seznam_km_karta.rb +4 -3
  280. data/lib/money_s3/parsers/seznam_kurz_listku.rb +4 -3
  281. data/lib/money_s3/parsers/seznam_mezd.rb +4 -3
  282. data/lib/money_s3/parsers/seznam_nab_prij.rb +4 -3
  283. data/lib/money_s3/parsers/seznam_nab_vyd.rb +4 -3
  284. data/lib/money_s3/parsers/seznam_obj_prij.rb +4 -3
  285. data/lib/money_s3/parsers/seznam_obj_vyd.rb +4 -3
  286. data/lib/money_s3/parsers/seznam_pok_dokl.rb +4 -3
  287. data/lib/money_s3/parsers/seznam_popt_prij.rb +4 -3
  288. data/lib/money_s3/parsers/seznam_popt_vyd.rb +4 -3
  289. data/lib/money_s3/parsers/seznam_predkontaci.rb +4 -3
  290. data/lib/money_s3/parsers/seznam_predkontaci_de.rb +4 -3
  291. data/lib/money_s3/parsers/seznam_prevodka.rb +4 -3
  292. data/lib/money_s3/parsers/seznam_prijemka.rb +4 -3
  293. data/lib/money_s3/parsers/seznam_prodejka.rb +4 -3
  294. data/lib/money_s3/parsers/seznam_skladu.rb +4 -3
  295. data/lib/money_s3/parsers/seznam_stredisek.rb +4 -3
  296. data/lib/money_s3/parsers/seznam_typ_kusovnik.rb +4 -3
  297. data/lib/money_s3/parsers/seznam_uc_osnov.rb +4 -3
  298. data/lib/money_s3/parsers/seznam_vazeb.rb +4 -3
  299. data/lib/money_s3/parsers/seznam_vydejka.rb +4 -3
  300. data/lib/money_s3/parsers/seznam_vyrobka.rb +4 -3
  301. data/lib/money_s3/parsers/seznam_zak_kusovnik.rb +4 -3
  302. data/lib/money_s3/parsers/seznam_zakazka.rb +4 -3
  303. data/lib/money_s3/parsers/seznam_zamestnancu.rb +4 -3
  304. data/lib/money_s3/parsers/seznam_zasoba.rb +4 -3
  305. data/lib/money_s3/parsers/sk_doklad_firma_type.rb +51 -50
  306. data/lib/money_s3/parsers/sklad.rb +45 -44
  307. data/lib/money_s3/parsers/sklad_type.rb +45 -44
  308. data/lib/money_s3/parsers/skupina_firem_type.rb +8 -7
  309. data/lib/money_s3/parsers/skupina_kusovnik_type.rb +8 -7
  310. data/lib/money_s3/parsers/skupina_zasob_type.rb +49 -48
  311. data/lib/money_s3/parsers/souhrn_dph_pol_type.rb +13 -12
  312. data/lib/money_s3/parsers/souhrn_dph_type.rb +15 -14
  313. data/lib/money_s3/parsers/stav_zasoby_type.rb +8 -7
  314. data/lib/money_s3/parsers/stredisko.rb +8 -7
  315. data/lib/money_s3/parsers/sub_pol_obj_type.rb +6 -5
  316. data/lib/money_s3/parsers/subpol_inv_d_type.rb +6 -5
  317. data/lib/money_s3/parsers/telefon_type.rb +8 -7
  318. data/lib/money_s3/parsers/typ_priplatku_type.rb +19 -18
  319. data/lib/money_s3/parsers/typ_zasilky_type.rb +8 -7
  320. data/lib/money_s3/parsers/uc_osnova_type.rb +33 -32
  321. data/lib/money_s3/parsers/uc_pohyb_type.rb +13 -12
  322. data/lib/money_s3/parsers/ucet.rb +10 -9
  323. data/lib/money_s3/parsers/ucty_pohybu_type.rb +19 -18
  324. data/lib/money_s3/parsers/uhrada_pduhrada.rb +24 -23
  325. data/lib/money_s3/parsers/uhrada_type.rb +31 -30
  326. data/lib/money_s3/parsers/valuty.rb +8 -7
  327. data/lib/money_s3/parsers/valuty_hraz.rb +6 -5
  328. data/lib/money_s3/parsers/valuty_uhr.rb +6 -5
  329. data/lib/money_s3/parsers/vazba_type.rb +8 -7
  330. data/lib/money_s3/parsers/vlajka_type.rb +19 -18
  331. data/lib/money_s3/parsers/vlajky.rb +6 -5
  332. data/lib/money_s3/parsers/vydejka.rb +105 -104
  333. data/lib/money_s3/parsers/vyrobka.rb +105 -104
  334. data/lib/money_s3/parsers/vyrobni_cislo.rb +8 -7
  335. data/lib/money_s3/parsers/vyrobni_cislo_type.rb +8 -7
  336. data/lib/money_s3/parsers/vysledek_odesl.rb +6 -5
  337. data/lib/money_s3/parsers/vzor_komponenta_type.rb +8 -7
  338. data/lib/money_s3/parsers/zakazka.rb +43 -42
  339. data/lib/money_s3/parsers/zamestnanec_type.rb +15 -14
  340. data/lib/money_s3/parsers/zasoba.rb +79 -78
  341. data/lib/money_s3/parsers/zauctovani_dph_detype.rb +17 -16
  342. data/lib/money_s3/parsers/zauctovani_dph_type.rb +21 -20
  343. data/lib/money_s3/parsers/zavazek_type.rb +103 -102
  344. data/lib/money_s3/with_attributes.rb +13 -0
  345. data/lib/money_s3.rb +5 -15
  346. data/money_s3.gemspec +1 -1
  347. metadata +3 -2
@@ -9,136 +9,55 @@ module MoneyS3
9
9
  include BaseBuilder
10
10
 
11
11
  def builder
12
- root = Ox::Element.new(element_name)
13
-
14
- if attributes.key? :obch_nazev
15
- element = Ox::Element.new('ObchNazev')
16
- element << attributes[:obch_nazev] if attributes[:obch_nazev]
17
- root << element
18
- end
19
-
20
- if attributes.key? :fakt_nazev
21
- element = Ox::Element.new('FaktNazev')
22
- element << attributes[:fakt_nazev] if attributes[:fakt_nazev]
23
- root << element
24
- end
25
-
26
- if attributes.key? :ico
27
- element = Ox::Element.new('ICO')
28
- element << attributes[:ico] if attributes[:ico]
29
- root << element
30
- end
31
-
32
- if attributes.key? :dic
33
- element = Ox::Element.new('DIC')
34
- element << attributes[:dic] if attributes[:dic]
35
- root << element
36
- end
37
-
38
- if attributes.key? :dicsk
39
- element = Ox::Element.new('DICSK')
40
- element << attributes[:dicsk] if attributes[:dicsk]
41
- root << element
42
- end
43
-
44
- if attributes.key? :guid
45
- element = Ox::Element.new('GUID')
46
- element << attributes[:guid] if attributes[:guid]
47
- root << element
48
- end
49
-
50
- if attributes.key? :nazev
51
- element = Ox::Element.new('Nazev')
52
- element << attributes[:nazev] if attributes[:nazev]
53
- root << element
54
- end
55
-
56
- if attributes.key? :e_mail
57
- element = Ox::Element.new('EMail')
58
- element << attributes[:e_mail] if attributes[:e_mail]
59
- root << element
60
- end
61
-
62
- if attributes.key? :www
63
- element = Ox::Element.new('WWW')
64
- element << attributes[:www] if attributes[:www]
65
- root << element
66
- end
67
-
68
- if attributes.key? :platce_dph
69
- element = Ox::Element.new('PlatceDPH')
70
- element << attributes[:platce_dph] if attributes[:platce_dph]
71
- root << element
72
- end
73
-
74
- if attributes.key? :fyz_osoba
75
- element = Ox::Element.new('FyzOsoba')
76
- element << attributes[:fyz_osoba] if attributes[:fyz_osoba]
77
- root << element
78
- end
79
-
80
- if attributes.key? :banka
81
- element = Ox::Element.new('Banka')
82
- element << attributes[:banka] if attributes[:banka]
83
- root << element
84
- end
85
-
86
- if attributes.key? :ucet
87
- element = Ox::Element.new('Ucet')
88
- element << attributes[:ucet] if attributes[:ucet]
89
- root << element
90
- end
91
-
92
- if attributes.key? :kod_banky
93
- element = Ox::Element.new('KodBanky')
94
- element << attributes[:kod_banky] if attributes[:kod_banky]
95
- root << element
96
- end
97
-
98
- if attributes.key? :v_symb
99
- element = Ox::Element.new('VSymb')
100
- element << attributes[:v_symb] if attributes[:v_symb]
101
- root << element
102
- end
103
-
104
- if attributes.key? :spec_sym
105
- element = Ox::Element.new('SpecSym')
106
- element << attributes[:spec_sym] if attributes[:spec_sym]
107
- root << element
12
+ root = Ox::Element.new(name)
13
+ if data.respond_to? :attributes
14
+ data.attributes.each { |k, v| root[k] = v }
108
15
  end
109
16
 
110
- if attributes.key? :kod_partn
111
- element = Ox::Element.new('KodPartn')
112
- element << attributes[:kod_partn] if attributes[:kod_partn]
113
- root << element
114
- end
17
+ root << build_element('ObchNazev', data[:obch_nazev]) if data.key? :obch_nazev
18
+ root << build_element('FaktNazev', data[:fakt_nazev]) if data.key? :fakt_nazev
19
+ root << build_element('ICO', data[:ico]) if data.key? :ico
20
+ root << build_element('DIC', data[:dic]) if data.key? :dic
21
+ root << build_element('DICSK', data[:dicsk]) if data.key? :dicsk
22
+ root << build_element('GUID', data[:guid]) if data.key? :guid
23
+ root << build_element('Nazev', data[:nazev]) if data.key? :nazev
24
+ root << build_element('EMail', data[:e_mail]) if data.key? :e_mail
25
+ root << build_element('WWW', data[:www]) if data.key? :www
26
+ root << build_element('PlatceDPH', data[:platce_dph]) if data.key? :platce_dph
27
+ root << build_element('FyzOsoba', data[:fyz_osoba]) if data.key? :fyz_osoba
28
+ root << build_element('Banka', data[:banka]) if data.key? :banka
29
+ root << build_element('Ucet', data[:ucet]) if data.key? :ucet
30
+ root << build_element('KodBanky', data[:kod_banky]) if data.key? :kod_banky
31
+ root << build_element('VSymb', data[:v_symb]) if data.key? :v_symb
32
+ root << build_element('SpecSym', data[:spec_sym]) if data.key? :spec_sym
33
+ root << build_element('KodPartn', data[:kod_partn]) if data.key? :kod_partn
115
34
 
116
- if attributes.key? :obch_adresa
117
- root << AdresaType.new(attributes[:obch_adresa], 'ObchAdresa').builder
35
+ if data.key? :obch_adresa
36
+ root << AdresaType.new('ObchAdresa', data[:obch_adresa]).builder
118
37
  end
119
38
 
120
- if attributes.key? :fakt_adresa
121
- root << AdresaType.new(attributes[:fakt_adresa], 'FaktAdresa').builder
39
+ if data.key? :fakt_adresa
40
+ root << AdresaType.new('FaktAdresa', data[:fakt_adresa]).builder
122
41
  end
123
42
 
124
- if attributes.key? :adresa
125
- root << AdresaType.new(attributes[:adresa], 'Adresa').builder
43
+ if data.key? :adresa
44
+ root << AdresaType.new('Adresa', data[:adresa]).builder
126
45
  end
127
46
 
128
- if attributes.key? :tel
129
- root << TelefonType.new(attributes[:tel], 'Tel').builder
47
+ if data.key? :tel
48
+ root << TelefonType.new('Tel', data[:tel]).builder
130
49
  end
131
50
 
132
- if attributes.key? :fax
133
- root << TelefonType.new(attributes[:fax], 'Fax').builder
51
+ if data.key? :fax
52
+ root << TelefonType.new('Fax', data[:fax]).builder
134
53
  end
135
54
 
136
- if attributes.key? :mobil
137
- root << TelefonType.new(attributes[:mobil], 'Mobil').builder
55
+ if data.key? :mobil
56
+ root << TelefonType.new('Mobil', data[:mobil]).builder
138
57
  end
139
58
 
140
- if attributes.key? :eshop
141
- root << Eshop.new(attributes[:eshop], 'eshop').builder
59
+ if data.key? :eshop
60
+ root << Eshop.new('eshop', data[:eshop]).builder
142
61
  end
143
62
 
144
63
  root
@@ -7,126 +7,40 @@ module MoneyS3
7
7
  include BaseBuilder
8
8
 
9
9
  def builder
10
- root = Ox::Element.new(element_name)
11
-
12
- if attributes.key? :nazev
13
- element = Ox::Element.new('Nazev')
14
- element << attributes[:nazev] if attributes[:nazev]
15
- root << element
16
- end
17
-
18
- if attributes.key? :kod_skladu
19
- element = Ox::Element.new('KodSkladu')
20
- element << attributes[:kod_skladu] if attributes[:kod_skladu]
21
- root << element
22
- end
23
-
24
- if attributes.key? :guid
25
- element = Ox::Element.new('GUID')
26
- element << attributes[:guid] if attributes[:guid]
27
- root << element
28
- end
29
-
30
- if attributes.key? :cenik_sklad
31
- element = Ox::Element.new('CenikSklad')
32
- element << attributes[:cenik_sklad] if attributes[:cenik_sklad]
33
- root << element
34
- end
35
-
36
- if attributes.key? :platno_od
37
- element = Ox::Element.new('PlatnoOd')
38
- element << attributes[:platno_od] if attributes[:platno_od]
39
- root << element
40
- end
41
-
42
- if attributes.key? :platno_do
43
- element = Ox::Element.new('PlatnoDo')
44
- element << attributes[:platno_do] if attributes[:platno_do]
45
- root << element
46
- end
47
-
48
- if attributes.key? :minus
49
- element = Ox::Element.new('Minus')
50
- element << attributes[:minus] if attributes[:minus]
51
- root << element
52
- end
53
-
54
- if attributes.key? :neupoz
55
- element = Ox::Element.new('Neupoz')
56
- element << attributes[:neupoz] if attributes[:neupoz]
57
- root << element
58
- end
59
-
60
- if attributes.key? :vyber_cen
61
- element = Ox::Element.new('Vyber_cen')
62
- element << attributes[:vyber_cen] if attributes[:vyber_cen]
63
- root << element
64
- end
65
-
66
- if attributes.key? :vyber_dod
67
- element = Ox::Element.new('Vyber_dod')
68
- element << attributes[:vyber_dod] if attributes[:vyber_dod]
69
- root << element
70
- end
71
-
72
- if attributes.key? :zpusob
73
- element = Ox::Element.new('Zpusob')
74
- element << attributes[:zpusob] if attributes[:zpusob]
75
- root << element
76
- end
77
-
78
- if attributes.key? :prod_ceny_d
79
- element = Ox::Element.new('ProdCenyD')
80
- element << attributes[:prod_ceny_d] if attributes[:prod_ceny_d]
81
- root << element
82
- end
83
-
84
- if attributes.key? :prepocet
85
- element = Ox::Element.new('Prepocet')
86
- element << attributes[:prepocet] if attributes[:prepocet]
87
- root << element
88
- end
89
-
90
- if attributes.key? :ceny
91
- element = Ox::Element.new('Ceny')
92
- element << attributes[:ceny] if attributes[:ceny]
93
- root << element
94
- end
95
-
96
- if attributes.key? :uc_vyrobk_vv
97
- element = Ox::Element.new('UcVyrobkVV')
98
- element << attributes[:uc_vyrobk_vv] if attributes[:uc_vyrobk_vv]
99
- root << element
100
- end
101
-
102
- if attributes.key? :prodejk_vz
103
- element = Ox::Element.new('ProdejkVz')
104
- element << attributes[:prodejk_vz] if attributes[:prodejk_vz]
105
- root << element
106
- end
107
-
108
- if attributes.key? :v_dod_lst_vz
109
- element = Ox::Element.new('VDodLstVz')
110
- element << attributes[:v_dod_lst_vz] if attributes[:v_dod_lst_vz]
111
- root << element
112
- end
113
-
114
- if attributes.key? :p_dod_lst_vz
115
- element = Ox::Element.new('PDodLstVz')
116
- element << attributes[:p_dod_lst_vz] if attributes[:p_dod_lst_vz]
117
- root << element
118
- end
119
-
120
- if attributes.key? :uc_pohyb_m
121
- root << UctyPohybuType.new(attributes[:uc_pohyb_m], 'UcPohybM').builder
122
- end
123
-
124
- if attributes.key? :uc_pohyb_z
125
- root << UctyPohybuType.new(attributes[:uc_pohyb_z], 'UcPohybZ').builder
126
- end
127
-
128
- if attributes.key? :uc_pohyb_v
129
- root << UctyPohybuType.new(attributes[:uc_pohyb_v], 'UcPohybV').builder
10
+ root = Ox::Element.new(name)
11
+ if data.respond_to? :attributes
12
+ data.attributes.each { |k, v| root[k] = v }
13
+ end
14
+
15
+ root << build_element('Nazev', data[:nazev]) if data.key? :nazev
16
+ root << build_element('KodSkladu', data[:kod_skladu]) if data.key? :kod_skladu
17
+ root << build_element('GUID', data[:guid]) if data.key? :guid
18
+ root << build_element('CenikSklad', data[:cenik_sklad]) if data.key? :cenik_sklad
19
+ root << build_element('PlatnoOd', data[:platno_od]) if data.key? :platno_od
20
+ root << build_element('PlatnoDo', data[:platno_do]) if data.key? :platno_do
21
+ root << build_element('Minus', data[:minus]) if data.key? :minus
22
+ root << build_element('Neupoz', data[:neupoz]) if data.key? :neupoz
23
+ root << build_element('Vyber_cen', data[:vyber_cen]) if data.key? :vyber_cen
24
+ root << build_element('Vyber_dod', data[:vyber_dod]) if data.key? :vyber_dod
25
+ root << build_element('Zpusob', data[:zpusob]) if data.key? :zpusob
26
+ root << build_element('ProdCenyD', data[:prod_ceny_d]) if data.key? :prod_ceny_d
27
+ root << build_element('Prepocet', data[:prepocet]) if data.key? :prepocet
28
+ root << build_element('Ceny', data[:ceny]) if data.key? :ceny
29
+ root << build_element('UcVyrobkVV', data[:uc_vyrobk_vv]) if data.key? :uc_vyrobk_vv
30
+ root << build_element('ProdejkVz', data[:prodejk_vz]) if data.key? :prodejk_vz
31
+ root << build_element('VDodLstVz', data[:v_dod_lst_vz]) if data.key? :v_dod_lst_vz
32
+ root << build_element('PDodLstVz', data[:p_dod_lst_vz]) if data.key? :p_dod_lst_vz
33
+
34
+ if data.key? :uc_pohyb_m
35
+ root << UctyPohybuType.new('UcPohybM', data[:uc_pohyb_m]).builder
36
+ end
37
+
38
+ if data.key? :uc_pohyb_z
39
+ root << UctyPohybuType.new('UcPohybZ', data[:uc_pohyb_z]).builder
40
+ end
41
+
42
+ if data.key? :uc_pohyb_v
43
+ root << UctyPohybuType.new('UcPohybV', data[:uc_pohyb_v]).builder
130
44
  end
131
45
 
132
46
  root
@@ -7,126 +7,40 @@ module MoneyS3
7
7
  include BaseBuilder
8
8
 
9
9
  def builder
10
- root = Ox::Element.new(element_name)
11
-
12
- if attributes.key? :nazev
13
- element = Ox::Element.new('Nazev')
14
- element << attributes[:nazev] if attributes[:nazev]
15
- root << element
16
- end
17
-
18
- if attributes.key? :kod_skladu
19
- element = Ox::Element.new('KodSkladu')
20
- element << attributes[:kod_skladu] if attributes[:kod_skladu]
21
- root << element
22
- end
23
-
24
- if attributes.key? :guid
25
- element = Ox::Element.new('GUID')
26
- element << attributes[:guid] if attributes[:guid]
27
- root << element
28
- end
29
-
30
- if attributes.key? :cenik_sklad
31
- element = Ox::Element.new('CenikSklad')
32
- element << attributes[:cenik_sklad] if attributes[:cenik_sklad]
33
- root << element
34
- end
35
-
36
- if attributes.key? :platno_od
37
- element = Ox::Element.new('PlatnoOd')
38
- element << attributes[:platno_od] if attributes[:platno_od]
39
- root << element
40
- end
41
-
42
- if attributes.key? :platno_do
43
- element = Ox::Element.new('PlatnoDo')
44
- element << attributes[:platno_do] if attributes[:platno_do]
45
- root << element
46
- end
47
-
48
- if attributes.key? :minus
49
- element = Ox::Element.new('Minus')
50
- element << attributes[:minus] if attributes[:minus]
51
- root << element
52
- end
53
-
54
- if attributes.key? :neupoz
55
- element = Ox::Element.new('Neupoz')
56
- element << attributes[:neupoz] if attributes[:neupoz]
57
- root << element
58
- end
59
-
60
- if attributes.key? :vyber_cen
61
- element = Ox::Element.new('Vyber_cen')
62
- element << attributes[:vyber_cen] if attributes[:vyber_cen]
63
- root << element
64
- end
65
-
66
- if attributes.key? :vyber_dod
67
- element = Ox::Element.new('Vyber_dod')
68
- element << attributes[:vyber_dod] if attributes[:vyber_dod]
69
- root << element
70
- end
71
-
72
- if attributes.key? :zpusob
73
- element = Ox::Element.new('Zpusob')
74
- element << attributes[:zpusob] if attributes[:zpusob]
75
- root << element
76
- end
77
-
78
- if attributes.key? :prod_ceny_d
79
- element = Ox::Element.new('ProdCenyD')
80
- element << attributes[:prod_ceny_d] if attributes[:prod_ceny_d]
81
- root << element
82
- end
83
-
84
- if attributes.key? :prepocet
85
- element = Ox::Element.new('Prepocet')
86
- element << attributes[:prepocet] if attributes[:prepocet]
87
- root << element
88
- end
89
-
90
- if attributes.key? :ceny
91
- element = Ox::Element.new('Ceny')
92
- element << attributes[:ceny] if attributes[:ceny]
93
- root << element
94
- end
95
-
96
- if attributes.key? :uc_vyrobk_vv
97
- element = Ox::Element.new('UcVyrobkVV')
98
- element << attributes[:uc_vyrobk_vv] if attributes[:uc_vyrobk_vv]
99
- root << element
100
- end
101
-
102
- if attributes.key? :prodejk_vz
103
- element = Ox::Element.new('ProdejkVz')
104
- element << attributes[:prodejk_vz] if attributes[:prodejk_vz]
105
- root << element
106
- end
107
-
108
- if attributes.key? :v_dod_lst_vz
109
- element = Ox::Element.new('VDodLstVz')
110
- element << attributes[:v_dod_lst_vz] if attributes[:v_dod_lst_vz]
111
- root << element
112
- end
113
-
114
- if attributes.key? :p_dod_lst_vz
115
- element = Ox::Element.new('PDodLstVz')
116
- element << attributes[:p_dod_lst_vz] if attributes[:p_dod_lst_vz]
117
- root << element
118
- end
119
-
120
- if attributes.key? :uc_pohyb_m
121
- root << UctyPohybuType.new(attributes[:uc_pohyb_m], 'UcPohybM').builder
122
- end
123
-
124
- if attributes.key? :uc_pohyb_z
125
- root << UctyPohybuType.new(attributes[:uc_pohyb_z], 'UcPohybZ').builder
126
- end
127
-
128
- if attributes.key? :uc_pohyb_v
129
- root << UctyPohybuType.new(attributes[:uc_pohyb_v], 'UcPohybV').builder
10
+ root = Ox::Element.new(name)
11
+ if data.respond_to? :attributes
12
+ data.attributes.each { |k, v| root[k] = v }
13
+ end
14
+
15
+ root << build_element('Nazev', data[:nazev]) if data.key? :nazev
16
+ root << build_element('KodSkladu', data[:kod_skladu]) if data.key? :kod_skladu
17
+ root << build_element('GUID', data[:guid]) if data.key? :guid
18
+ root << build_element('CenikSklad', data[:cenik_sklad]) if data.key? :cenik_sklad
19
+ root << build_element('PlatnoOd', data[:platno_od]) if data.key? :platno_od
20
+ root << build_element('PlatnoDo', data[:platno_do]) if data.key? :platno_do
21
+ root << build_element('Minus', data[:minus]) if data.key? :minus
22
+ root << build_element('Neupoz', data[:neupoz]) if data.key? :neupoz
23
+ root << build_element('Vyber_cen', data[:vyber_cen]) if data.key? :vyber_cen
24
+ root << build_element('Vyber_dod', data[:vyber_dod]) if data.key? :vyber_dod
25
+ root << build_element('Zpusob', data[:zpusob]) if data.key? :zpusob
26
+ root << build_element('ProdCenyD', data[:prod_ceny_d]) if data.key? :prod_ceny_d
27
+ root << build_element('Prepocet', data[:prepocet]) if data.key? :prepocet
28
+ root << build_element('Ceny', data[:ceny]) if data.key? :ceny
29
+ root << build_element('UcVyrobkVV', data[:uc_vyrobk_vv]) if data.key? :uc_vyrobk_vv
30
+ root << build_element('ProdejkVz', data[:prodejk_vz]) if data.key? :prodejk_vz
31
+ root << build_element('VDodLstVz', data[:v_dod_lst_vz]) if data.key? :v_dod_lst_vz
32
+ root << build_element('PDodLstVz', data[:p_dod_lst_vz]) if data.key? :p_dod_lst_vz
33
+
34
+ if data.key? :uc_pohyb_m
35
+ root << UctyPohybuType.new('UcPohybM', data[:uc_pohyb_m]).builder
36
+ end
37
+
38
+ if data.key? :uc_pohyb_z
39
+ root << UctyPohybuType.new('UcPohybZ', data[:uc_pohyb_z]).builder
40
+ end
41
+
42
+ if data.key? :uc_pohyb_v
43
+ root << UctyPohybuType.new('UcPohybV', data[:uc_pohyb_v]).builder
130
44
  end
131
45
 
132
46
  root
@@ -6,25 +6,14 @@ module MoneyS3
6
6
  include BaseBuilder
7
7
 
8
8
  def builder
9
- root = Ox::Element.new(element_name)
10
-
11
- if attributes.key? :zkratka
12
- element = Ox::Element.new('Zkratka')
13
- element << attributes[:zkratka] if attributes[:zkratka]
14
- root << element
15
- end
16
-
17
- if attributes.key? :nazev
18
- element = Ox::Element.new('Nazev')
19
- element << attributes[:nazev] if attributes[:nazev]
20
- root << element
9
+ root = Ox::Element.new(name)
10
+ if data.respond_to? :attributes
11
+ data.attributes.each { |k, v| root[k] = v }
21
12
  end
22
13
 
23
- if attributes.key? :poznamka
24
- element = Ox::Element.new('Poznamka')
25
- element << attributes[:poznamka] if attributes[:poznamka]
26
- root << element
27
- end
14
+ root << build_element('Zkratka', data[:zkratka]) if data.key? :zkratka
15
+ root << build_element('Nazev', data[:nazev]) if data.key? :nazev
16
+ root << build_element('Poznamka', data[:poznamka]) if data.key? :poznamka
28
17
 
29
18
  root
30
19
  end
@@ -6,25 +6,14 @@ module MoneyS3
6
6
  include BaseBuilder
7
7
 
8
8
  def builder
9
- root = Ox::Element.new(element_name)
10
-
11
- if attributes.key? :zkratka
12
- element = Ox::Element.new('Zkratka')
13
- element << attributes[:zkratka] if attributes[:zkratka]
14
- root << element
15
- end
16
-
17
- if attributes.key? :nazev
18
- element = Ox::Element.new('Nazev')
19
- element << attributes[:nazev] if attributes[:nazev]
20
- root << element
9
+ root = Ox::Element.new(name)
10
+ if data.respond_to? :attributes
11
+ data.attributes.each { |k, v| root[k] = v }
21
12
  end
22
13
 
23
- if attributes.key? :poznamka
24
- element = Ox::Element.new('Poznamka')
25
- element << attributes[:poznamka] if attributes[:poznamka]
26
- root << element
27
- end
14
+ root << build_element('Zkratka', data[:zkratka]) if data.key? :zkratka
15
+ root << build_element('Nazev', data[:nazev]) if data.key? :nazev
16
+ root << build_element('Poznamka', data[:poznamka]) if data.key? :poznamka
28
17
 
29
18
  root
30
19
  end