ruby_ufebs 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (294) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +9 -0
  3. data/.travis.yml +5 -0
  4. data/Gemfile +2 -0
  5. data/Guardfile +5 -0
  6. data/README.md +103 -0
  7. data/Rakefile +10 -0
  8. data/XMLSchemas/cbr_dsig_env_v1.1.0.xsd +50 -0
  9. data/XMLSchemas/cbr_dsig_v1.1.0.xsd +48 -0
  10. data/XMLSchemas/cbr_ed_kbr_cos_v2017.4.2.xsd +25 -0
  11. data/XMLSchemas/cbr_ed_kbr_kcoi_v2017.4.2.xsd +71 -0
  12. data/XMLSchemas/cbr_ed_kbr_rtgs_v2017.4.2.xsd +51 -0
  13. data/XMLSchemas/cbr_ed_kbr_sed_v2017.4.2.xsd +23 -0
  14. data/XMLSchemas/cbr_ed_kbr_v2017.4.2.xsd +89 -0
  15. data/XMLSchemas/cbr_ed_nspc_v2017.4.2.xsd +14 -0
  16. data/XMLSchemas/cbr_msg_props_v2017.2.0.xsd +371 -0
  17. data/XMLSchemas/ed/cbr_ed101_v2017.4.2.xsd +112 -0
  18. data/XMLSchemas/ed/cbr_ed103_v2017.4.2.xsd +148 -0
  19. data/XMLSchemas/ed/cbr_ed104_v2017.4.2.xsd +130 -0
  20. data/XMLSchemas/ed/cbr_ed105_v2017.4.2.xsd +141 -0
  21. data/XMLSchemas/ed/cbr_ed107_v2017.4.2.xsd +192 -0
  22. data/XMLSchemas/ed/cbr_ed108_v2017.4.2.xsd +223 -0
  23. data/XMLSchemas/ed/cbr_ed109_v2017.4.2.xsd +245 -0
  24. data/XMLSchemas/ed/cbr_ed110_v2017.4.2.xsd +87 -0
  25. data/XMLSchemas/ed/cbr_ed111_v2017.4.2.xsd +72 -0
  26. data/XMLSchemas/ed/cbr_ed113_v2017.4.2.xsd +124 -0
  27. data/XMLSchemas/ed/cbr_ed114_v2017.4.2.xsd +101 -0
  28. data/XMLSchemas/ed/cbr_ed201_v2017.4.2.xsd +65 -0
  29. data/XMLSchemas/ed/cbr_ed202_v2017.4.2.xsd +41 -0
  30. data/XMLSchemas/ed/cbr_ed203_v2017.4.2.xsd +78 -0
  31. data/XMLSchemas/ed/cbr_ed204_v2017.4.2.xsd +86 -0
  32. data/XMLSchemas/ed/cbr_ed205_v2017.4.2.xsd +169 -0
  33. data/XMLSchemas/ed/cbr_ed206_v2017.4.2.xsd +153 -0
  34. data/XMLSchemas/ed/cbr_ed207_v2017.4.2.xsd +82 -0
  35. data/XMLSchemas/ed/cbr_ed208_v2017.4.2.xsd +53 -0
  36. data/XMLSchemas/ed/cbr_ed209_v2017.4.2.xsd +72 -0
  37. data/XMLSchemas/ed/cbr_ed210_v2017.4.2.xsd +74 -0
  38. data/XMLSchemas/ed/cbr_ed211_v2017.4.2.xsd +183 -0
  39. data/XMLSchemas/ed/cbr_ed213_v2017.4.2.xsd +33 -0
  40. data/XMLSchemas/ed/cbr_ed214_v2017.4.2.xsd +59 -0
  41. data/XMLSchemas/ed/cbr_ed215_v2017.4.2.xsd +131 -0
  42. data/XMLSchemas/ed/cbr_ed217_v2017.4.2.xsd +122 -0
  43. data/XMLSchemas/ed/cbr_ed218_v2017.4.2.xsd +40 -0
  44. data/XMLSchemas/ed/cbr_ed219_v2017.4.2.xsd +42 -0
  45. data/XMLSchemas/ed/cbr_ed220_v2017.4.2.xsd +35 -0
  46. data/XMLSchemas/ed/cbr_ed221_v2017.4.2.xsd +198 -0
  47. data/XMLSchemas/ed/cbr_ed222_v2017.4.2.xsd +77 -0
  48. data/XMLSchemas/ed/cbr_ed230_v2017.4.2.xsd +98 -0
  49. data/XMLSchemas/ed/cbr_ed231_v2017.4.2.xsd +132 -0
  50. data/XMLSchemas/ed/cbr_ed234_v2017.4.2.xsd +146 -0
  51. data/XMLSchemas/ed/cbr_ed238_v2017.4.2.xsd +210 -0
  52. data/XMLSchemas/ed/cbr_ed240_v2017.4.2.xsd +83 -0
  53. data/XMLSchemas/ed/cbr_ed241_v2017.4.2.xsd +80 -0
  54. data/XMLSchemas/ed/cbr_ed242_v2017.4.2.xsd +56 -0
  55. data/XMLSchemas/ed/cbr_ed243_v2017.4.2.xsd +119 -0
  56. data/XMLSchemas/ed/cbr_ed244_v2017.4.2.xsd +173 -0
  57. data/XMLSchemas/ed/cbr_ed245_v2017.4.2.xsd +101 -0
  58. data/XMLSchemas/ed/cbr_ed273_v2017.4.2.xsd +40 -0
  59. data/XMLSchemas/ed/cbr_ed274_v2017.4.2.xsd +71 -0
  60. data/XMLSchemas/ed/cbr_ed275_v2017.4.2.xsd +83 -0
  61. data/XMLSchemas/ed/cbr_ed276_v2017.4.2.xsd +47 -0
  62. data/XMLSchemas/ed/cbr_ed280_v2017.4.2.xsd +54 -0
  63. data/XMLSchemas/ed/cbr_ed283_v2017.4.2.xsd +114 -0
  64. data/XMLSchemas/ed/cbr_ed284_v2017.4.2.xsd +69 -0
  65. data/XMLSchemas/ed/cbr_ed285_v2017.4.2.xsd +74 -0
  66. data/XMLSchemas/ed/cbr_ed301_v2017.4.2.xsd +47 -0
  67. data/XMLSchemas/ed/cbr_ed306_v2017.4.2.xsd +47 -0
  68. data/XMLSchemas/ed/cbr_ed318_v2017.4.2.xsd +42 -0
  69. data/XMLSchemas/ed/cbr_ed319_v2017.4.2.xsd +52 -0
  70. data/XMLSchemas/ed/cbr_ed330_v2017.4.2.xsd +47 -0
  71. data/XMLSchemas/ed/cbr_ed331_v2017.4.2.xsd +42 -0
  72. data/XMLSchemas/ed/cbr_ed332_v2017.4.2.xsd +215 -0
  73. data/XMLSchemas/ed/cbr_ed333_v2017.4.2.xsd +42 -0
  74. data/XMLSchemas/ed/cbr_ed373_v2017.4.2.xsd +60 -0
  75. data/XMLSchemas/ed/cbr_ed374_v2017.4.2.xsd +109 -0
  76. data/XMLSchemas/ed/cbr_ed375_v2017.4.2.xsd +63 -0
  77. data/XMLSchemas/ed/cbr_ed378_v2017.4.2.xsd +47 -0
  78. data/XMLSchemas/ed/cbr_ed379_v2017.4.2.xsd +42 -0
  79. data/XMLSchemas/ed/cbr_ed380_v2017.4.2.xsd +40 -0
  80. data/XMLSchemas/ed/cbr_ed381_v2017.4.2.xsd +70 -0
  81. data/XMLSchemas/ed/cbr_ed382_v2017.4.2.xsd +37 -0
  82. data/XMLSchemas/ed/cbr_ed383_v2017.4.2.xsd +32 -0
  83. data/XMLSchemas/ed/cbr_ed385_v2017.4.2.xsd +42 -0
  84. data/XMLSchemas/ed/cbr_ed393_v2017.4.2.xsd +53 -0
  85. data/XMLSchemas/ed/cbr_ed408_v2017.4.2.xsd +84 -0
  86. data/XMLSchemas/ed/cbr_ed421_v2017.4.2.xsd +195 -0
  87. data/XMLSchemas/ed/cbr_ed422_v2017.4.2.xsd +108 -0
  88. data/XMLSchemas/ed/cbr_ed425_v2017.4.2.xsd +126 -0
  89. data/XMLSchemas/ed/cbr_ed428_v2017.4.2.xsd +98 -0
  90. data/XMLSchemas/ed/cbr_ed429_v2017.4.2.xsd +308 -0
  91. data/XMLSchemas/ed/cbr_ed431_v2017.4.2.xsd +116 -0
  92. data/XMLSchemas/ed/cbr_ed432_v2017.4.2.xsd +107 -0
  93. data/XMLSchemas/ed/cbr_ed433_v2017.4.2.xsd +51 -0
  94. data/XMLSchemas/ed/cbr_ed434_v2017.4.2.xsd +61 -0
  95. data/XMLSchemas/ed/cbr_ed435_v2017.4.2.xsd +128 -0
  96. data/XMLSchemas/ed/cbr_ed462_v2017.4.2.xsd +213 -0
  97. data/XMLSchemas/ed/cbr_ed463_v2017.4.2.xsd +73 -0
  98. data/XMLSchemas/ed/cbr_ed464_v2017.4.2.xsd +41 -0
  99. data/XMLSchemas/ed/cbr_ed465_v2017.4.2.xsd +77 -0
  100. data/XMLSchemas/ed/cbr_ed499_v2017.4.2.xsd +25 -0
  101. data/XMLSchemas/ed/cbr_ed501_v2017.4.2.xsd +46 -0
  102. data/XMLSchemas/ed/cbr_ed503_v2017.4.2.xsd +84 -0
  103. data/XMLSchemas/ed/cbr_ed508_v2017.4.2.xsd +91 -0
  104. data/XMLSchemas/ed/cbr_ed510_v2017.4.2.xsd +44 -0
  105. data/XMLSchemas/ed/cbr_ed511_v2017.4.2.xsd +82 -0
  106. data/XMLSchemas/ed/cbr_ed512_v2017.4.2.xsd +108 -0
  107. data/XMLSchemas/ed/cbr_ed530_v2017.4.2.xsd +34 -0
  108. data/XMLSchemas/ed/cbr_ed540_v2017.4.2.xsd +44 -0
  109. data/XMLSchemas/ed/cbr_ed541_v2017.4.2.xsd +71 -0
  110. data/XMLSchemas/ed/cbr_ed542_v2017.4.2.xsd +46 -0
  111. data/XMLSchemas/ed/cbr_ed573_v2017.4.2.xsd +32 -0
  112. data/XMLSchemas/ed/cbr_ed574_v2017.4.2.xsd +158 -0
  113. data/XMLSchemas/ed/cbr_ed599_v2017.4.2.xsd +24 -0
  114. data/XMLSchemas/ed/cbr_ed801_v2017.4.2.xsd +51 -0
  115. data/XMLSchemas/ed/cbr_ed802_v2017.4.2.xsd +380 -0
  116. data/XMLSchemas/ed/cbr_ed804_v2017.4.2.xsd +57 -0
  117. data/XMLSchemas/ed/cbr_ed805_v2017.4.2.xsd +128 -0
  118. data/XMLSchemas/ed/cbr_ed806_v2017.4.2.xsd +65 -0
  119. data/XMLSchemas/ed/cbr_ed807_v2017.4.2.xsd +53 -0
  120. data/XMLSchemas/ed/cbr_ed808_v2017.4.2.xsd +88 -0
  121. data/XMLSchemas/ed/cbr_ed809_v2017.4.2.xsd +64 -0
  122. data/XMLSchemas/ed/cbr_ed810_v2017.4.2.xsd +110 -0
  123. data/XMLSchemas/ed/cbr_ed811_v2017.4.2.xsd +116 -0
  124. data/XMLSchemas/ed/cbr_ed813_v2017.4.2.xsd +47 -0
  125. data/XMLSchemas/ed/cbr_ed814_v2017.4.2.xsd +47 -0
  126. data/XMLSchemas/ed/cbr_ed816_v2017.4.2.xsd +47 -0
  127. data/XMLSchemas/ed/cbr_ed818_v2017.4.2.xsd +53 -0
  128. data/XMLSchemas/ed/cbr_ed819_v2017.4.2.xsd +35 -0
  129. data/XMLSchemas/ed/cbr_ed820_v2017.4.2.xsd +53 -0
  130. data/XMLSchemas/ed/cbr_ed821_v2017.4.2.xsd +53 -0
  131. data/XMLSchemas/ed/cbr_ed823_v2017.4.2.xsd +48 -0
  132. data/XMLSchemas/ed/cbr_ed999_v2017.4.2.xsd +29 -0
  133. data/XMLSchemas/ed/cbr_ed_basetypes_v2016.4.1.xsd +192 -0
  134. data/XMLSchemas/ed/cbr_ed_leaftypes_v2017.4.2.xsd +1806 -0
  135. data/XMLSchemas/ed/cbr_ed_objects_v2017.4.2.xsd +3129 -0
  136. data/XMLSchemas/ed/cbr_packetcash_v2017.4.2.xsd +89 -0
  137. data/XMLSchemas/ed/cbr_packetctrl_v2017.4.2.xsd +82 -0
  138. data/XMLSchemas/ed/cbr_packeteid_v2017.4.2.xsd +130 -0
  139. data/XMLSchemas/ed/cbr_packetepd_v2017.4.2.xsd +121 -0
  140. data/XMLSchemas/ed/cbr_packetesid_v2017.4.2.xsd +311 -0
  141. data/XMLSchemas/soap-envelope.xsd +128 -0
  142. data/XMLSchemas/xml.xsd +81 -0
  143. data/XMLSchemas_2018/cbr_dsig_env_v1.1.0.xsd +50 -0
  144. data/XMLSchemas_2018/cbr_dsig_v1.1.0.xsd +48 -0
  145. data/XMLSchemas_2018/cbr_ed_kbr_cos_v2018.1.1.xsd +25 -0
  146. data/XMLSchemas_2018/cbr_ed_kbr_kcoi_v2018.1.1.xsd +71 -0
  147. data/XMLSchemas_2018/cbr_ed_kbr_rtgs_v2018.1.1.xsd +51 -0
  148. data/XMLSchemas_2018/cbr_ed_kbr_sed_v2018.1.1.xsd +23 -0
  149. data/XMLSchemas_2018/cbr_ed_kbr_v2018.1.1.xsd +89 -0
  150. data/XMLSchemas_2018/cbr_ed_nspc_v2018.1.1.xsd +14 -0
  151. data/XMLSchemas_2018/cbr_msg_props_v2017.2.0.xsd +371 -0
  152. data/XMLSchemas_2018/ed/cbr_ed101_v2018.1.1.xsd +112 -0
  153. data/XMLSchemas_2018/ed/cbr_ed103_v2018.1.1.xsd +148 -0
  154. data/XMLSchemas_2018/ed/cbr_ed104_v2018.1.1.xsd +130 -0
  155. data/XMLSchemas_2018/ed/cbr_ed105_v2018.1.1.xsd +141 -0
  156. data/XMLSchemas_2018/ed/cbr_ed107_v2018.1.1.xsd +192 -0
  157. data/XMLSchemas_2018/ed/cbr_ed108_v2018.1.1.xsd +223 -0
  158. data/XMLSchemas_2018/ed/cbr_ed109_v2018.1.1.xsd +245 -0
  159. data/XMLSchemas_2018/ed/cbr_ed110_v2018.1.1.xsd +87 -0
  160. data/XMLSchemas_2018/ed/cbr_ed111_v2018.1.1.xsd +72 -0
  161. data/XMLSchemas_2018/ed/cbr_ed113_v2018.1.1.xsd +124 -0
  162. data/XMLSchemas_2018/ed/cbr_ed114_v2018.1.1.xsd +101 -0
  163. data/XMLSchemas_2018/ed/cbr_ed201_v2018.1.1.xsd +65 -0
  164. data/XMLSchemas_2018/ed/cbr_ed202_v2018.1.1.xsd +41 -0
  165. data/XMLSchemas_2018/ed/cbr_ed203_v2018.1.1.xsd +78 -0
  166. data/XMLSchemas_2018/ed/cbr_ed204_v2018.1.1.xsd +86 -0
  167. data/XMLSchemas_2018/ed/cbr_ed205_v2018.1.1.xsd +169 -0
  168. data/XMLSchemas_2018/ed/cbr_ed206_v2018.1.1.xsd +153 -0
  169. data/XMLSchemas_2018/ed/cbr_ed207_v2018.1.1.xsd +82 -0
  170. data/XMLSchemas_2018/ed/cbr_ed208_v2018.1.1.xsd +53 -0
  171. data/XMLSchemas_2018/ed/cbr_ed209_v2018.1.1.xsd +72 -0
  172. data/XMLSchemas_2018/ed/cbr_ed210_v2018.1.1.xsd +74 -0
  173. data/XMLSchemas_2018/ed/cbr_ed211_v2018.1.1.xsd +183 -0
  174. data/XMLSchemas_2018/ed/cbr_ed213_v2018.1.1.xsd +33 -0
  175. data/XMLSchemas_2018/ed/cbr_ed214_v2018.1.1.xsd +59 -0
  176. data/XMLSchemas_2018/ed/cbr_ed215_v2018.1.1.xsd +131 -0
  177. data/XMLSchemas_2018/ed/cbr_ed217_v2018.1.1.xsd +122 -0
  178. data/XMLSchemas_2018/ed/cbr_ed218_v2018.1.1.xsd +40 -0
  179. data/XMLSchemas_2018/ed/cbr_ed219_v2018.1.1.xsd +42 -0
  180. data/XMLSchemas_2018/ed/cbr_ed220_v2018.1.1.xsd +35 -0
  181. data/XMLSchemas_2018/ed/cbr_ed221_v2018.1.1.xsd +198 -0
  182. data/XMLSchemas_2018/ed/cbr_ed222_v2018.1.1.xsd +77 -0
  183. data/XMLSchemas_2018/ed/cbr_ed230_v2018.1.1.xsd +98 -0
  184. data/XMLSchemas_2018/ed/cbr_ed231_v2018.1.1.xsd +132 -0
  185. data/XMLSchemas_2018/ed/cbr_ed234_v2018.1.1.xsd +146 -0
  186. data/XMLSchemas_2018/ed/cbr_ed238_v2018.1.1.xsd +210 -0
  187. data/XMLSchemas_2018/ed/cbr_ed240_v2018.1.1.xsd +83 -0
  188. data/XMLSchemas_2018/ed/cbr_ed241_v2018.1.1.xsd +80 -0
  189. data/XMLSchemas_2018/ed/cbr_ed242_v2018.1.1.xsd +56 -0
  190. data/XMLSchemas_2018/ed/cbr_ed243_v2018.1.1.xsd +119 -0
  191. data/XMLSchemas_2018/ed/cbr_ed244_v2018.1.1.xsd +173 -0
  192. data/XMLSchemas_2018/ed/cbr_ed245_v2018.1.1.xsd +96 -0
  193. data/XMLSchemas_2018/ed/cbr_ed274_v2018.1.1.xsd +71 -0
  194. data/XMLSchemas_2018/ed/cbr_ed275_v2018.1.1.xsd +83 -0
  195. data/XMLSchemas_2018/ed/cbr_ed276_v2018.1.1.xsd +47 -0
  196. data/XMLSchemas_2018/ed/cbr_ed277_v2018.1.1.xsd +125 -0
  197. data/XMLSchemas_2018/ed/cbr_ed280_v2018.1.1.xsd +54 -0
  198. data/XMLSchemas_2018/ed/cbr_ed283_v2018.1.1.xsd +114 -0
  199. data/XMLSchemas_2018/ed/cbr_ed284_v2018.1.1.xsd +69 -0
  200. data/XMLSchemas_2018/ed/cbr_ed285_v2018.1.1.xsd +74 -0
  201. data/XMLSchemas_2018/ed/cbr_ed301_v2018.1.1.xsd +47 -0
  202. data/XMLSchemas_2018/ed/cbr_ed306_v2018.1.1.xsd +47 -0
  203. data/XMLSchemas_2018/ed/cbr_ed318_v2018.1.1.xsd +42 -0
  204. data/XMLSchemas_2018/ed/cbr_ed319_v2018.1.1.xsd +52 -0
  205. data/XMLSchemas_2018/ed/cbr_ed330_v2018.1.1.xsd +47 -0
  206. data/XMLSchemas_2018/ed/cbr_ed331_v2018.1.1.xsd +42 -0
  207. data/XMLSchemas_2018/ed/cbr_ed332_v2018.1.1.xsd +215 -0
  208. data/XMLSchemas_2018/ed/cbr_ed333_v2018.1.1.xsd +42 -0
  209. data/XMLSchemas_2018/ed/cbr_ed373_v2018.1.1.xsd +60 -0
  210. data/XMLSchemas_2018/ed/cbr_ed374_v2018.1.1.xsd +109 -0
  211. data/XMLSchemas_2018/ed/cbr_ed375_v2018.1.1.xsd +63 -0
  212. data/XMLSchemas_2018/ed/cbr_ed378_v2018.1.1.xsd +47 -0
  213. data/XMLSchemas_2018/ed/cbr_ed379_v2018.1.1.xsd +42 -0
  214. data/XMLSchemas_2018/ed/cbr_ed380_v2018.1.1.xsd +40 -0
  215. data/XMLSchemas_2018/ed/cbr_ed381_v2018.1.1.xsd +70 -0
  216. data/XMLSchemas_2018/ed/cbr_ed382_v2018.1.1.xsd +37 -0
  217. data/XMLSchemas_2018/ed/cbr_ed383_v2018.1.1.xsd +32 -0
  218. data/XMLSchemas_2018/ed/cbr_ed385_v2018.1.1.xsd +42 -0
  219. data/XMLSchemas_2018/ed/cbr_ed393_v2018.1.1.xsd +53 -0
  220. data/XMLSchemas_2018/ed/cbr_ed408_v2018.1.1.xsd +84 -0
  221. data/XMLSchemas_2018/ed/cbr_ed421_v2018.1.1.xsd +195 -0
  222. data/XMLSchemas_2018/ed/cbr_ed422_v2018.1.1.xsd +108 -0
  223. data/XMLSchemas_2018/ed/cbr_ed425_v2018.1.1.xsd +126 -0
  224. data/XMLSchemas_2018/ed/cbr_ed428_v2018.1.1.xsd +98 -0
  225. data/XMLSchemas_2018/ed/cbr_ed429_v2018.1.1.xsd +308 -0
  226. data/XMLSchemas_2018/ed/cbr_ed431_v2018.1.1.xsd +116 -0
  227. data/XMLSchemas_2018/ed/cbr_ed432_v2018.1.1.xsd +107 -0
  228. data/XMLSchemas_2018/ed/cbr_ed433_v2018.1.1.xsd +51 -0
  229. data/XMLSchemas_2018/ed/cbr_ed434_v2018.1.1.xsd +61 -0
  230. data/XMLSchemas_2018/ed/cbr_ed435_v2018.1.1.xsd +118 -0
  231. data/XMLSchemas_2018/ed/cbr_ed462_v2018.1.1.xsd +213 -0
  232. data/XMLSchemas_2018/ed/cbr_ed463_v2018.1.1.xsd +73 -0
  233. data/XMLSchemas_2018/ed/cbr_ed464_v2018.1.1.xsd +41 -0
  234. data/XMLSchemas_2018/ed/cbr_ed465_v2018.1.1.xsd +77 -0
  235. data/XMLSchemas_2018/ed/cbr_ed499_v2018.1.1.xsd +25 -0
  236. data/XMLSchemas_2018/ed/cbr_ed501_v2018.1.1.xsd +46 -0
  237. data/XMLSchemas_2018/ed/cbr_ed503_v2018.1.1.xsd +84 -0
  238. data/XMLSchemas_2018/ed/cbr_ed508_v2018.1.1.xsd +91 -0
  239. data/XMLSchemas_2018/ed/cbr_ed510_v2018.1.1.xsd +44 -0
  240. data/XMLSchemas_2018/ed/cbr_ed511_v2018.1.1.xsd +82 -0
  241. data/XMLSchemas_2018/ed/cbr_ed512_v2018.1.1.xsd +108 -0
  242. data/XMLSchemas_2018/ed/cbr_ed530_v2018.1.1.xsd +34 -0
  243. data/XMLSchemas_2018/ed/cbr_ed540_v2018.1.1.xsd +44 -0
  244. data/XMLSchemas_2018/ed/cbr_ed541_v2018.1.1.xsd +71 -0
  245. data/XMLSchemas_2018/ed/cbr_ed542_v2018.1.1.xsd +46 -0
  246. data/XMLSchemas_2018/ed/cbr_ed573_v2018.1.1.xsd +32 -0
  247. data/XMLSchemas_2018/ed/cbr_ed574_v2018.1.1.xsd +158 -0
  248. data/XMLSchemas_2018/ed/cbr_ed599_v2018.1.1.xsd +24 -0
  249. data/XMLSchemas_2018/ed/cbr_ed801_v2018.1.1.xsd +51 -0
  250. data/XMLSchemas_2018/ed/cbr_ed802_v2018.1.1.xsd +380 -0
  251. data/XMLSchemas_2018/ed/cbr_ed804_v2018.1.1.xsd +57 -0
  252. data/XMLSchemas_2018/ed/cbr_ed805_v2018.1.1.xsd +128 -0
  253. data/XMLSchemas_2018/ed/cbr_ed806_v2018.1.1.xsd +65 -0
  254. data/XMLSchemas_2018/ed/cbr_ed807_v2018.1.1.xsd +53 -0
  255. data/XMLSchemas_2018/ed/cbr_ed808_v2018.1.1.xsd +88 -0
  256. data/XMLSchemas_2018/ed/cbr_ed809_v2018.1.1.xsd +64 -0
  257. data/XMLSchemas_2018/ed/cbr_ed810_v2018.1.1.xsd +110 -0
  258. data/XMLSchemas_2018/ed/cbr_ed811_v2018.1.1.xsd +116 -0
  259. data/XMLSchemas_2018/ed/cbr_ed813_v2018.1.1.xsd +47 -0
  260. data/XMLSchemas_2018/ed/cbr_ed814_v2018.1.1.xsd +47 -0
  261. data/XMLSchemas_2018/ed/cbr_ed816_v2018.1.1.xsd +47 -0
  262. data/XMLSchemas_2018/ed/cbr_ed818_v2018.1.1.xsd +53 -0
  263. data/XMLSchemas_2018/ed/cbr_ed819_v2018.1.1.xsd +35 -0
  264. data/XMLSchemas_2018/ed/cbr_ed820_v2018.1.1.xsd +53 -0
  265. data/XMLSchemas_2018/ed/cbr_ed821_v2018.1.1.xsd +53 -0
  266. data/XMLSchemas_2018/ed/cbr_ed823_v2018.1.1.xsd +48 -0
  267. data/XMLSchemas_2018/ed/cbr_ed999_v2018.1.1.xsd +29 -0
  268. data/XMLSchemas_2018/ed/cbr_ed_basetypes_v2016.4.1.xsd +192 -0
  269. data/XMLSchemas_2018/ed/cbr_ed_leaftypes_v2018.1.1.xsd +1840 -0
  270. data/XMLSchemas_2018/ed/cbr_ed_objects_v2018.1.1.xsd +3167 -0
  271. data/XMLSchemas_2018/ed/cbr_packetcash_v2018.1.1.xsd +89 -0
  272. data/XMLSchemas_2018/ed/cbr_packetctrl_v2018.1.1.xsd +82 -0
  273. data/XMLSchemas_2018/ed/cbr_packeteid_v2018.1.1.xsd +130 -0
  274. data/XMLSchemas_2018/ed/cbr_packetepd_v2018.1.1.xsd +121 -0
  275. data/XMLSchemas_2018/ed/cbr_packetesid_v2018.1.1.xsd +311 -0
  276. data/XMLSchemas_2018/soap-envelope.xsd +128 -0
  277. data/XMLSchemas_2018/xml.xsd +81 -0
  278. data/bin/console +6 -0
  279. data/bin/setup +8 -0
  280. data/lib/ufebs/configuration.rb +13 -0
  281. data/lib/ufebs/documents/package.rb +37 -0
  282. data/lib/ufebs/documents/payment_order.rb +75 -0
  283. data/lib/ufebs/entities/acc_doc.rb +13 -0
  284. data/lib/ufebs/entities/bank.rb +14 -0
  285. data/lib/ufebs/entities/departmental_info.rb +36 -0
  286. data/lib/ufebs/entities/participant.rb +19 -0
  287. data/lib/ufebs/fields/header.rb +12 -0
  288. data/lib/ufebs/requests/group_request.rb +27 -0
  289. data/lib/ufebs/requests/package_request.rb +40 -0
  290. data/lib/ufebs/requests/test_request.rb +20 -0
  291. data/lib/ufebs/version.rb +3 -0
  292. data/lib/ufebs.rb +111 -0
  293. data/ruby_ufebs.gemspec +31 -0
  294. metadata +461 -0
@@ -0,0 +1,75 @@
1
+ require_relative '../entities/bank'
2
+ require_relative '../entities/acc_doc'
3
+ require_relative '../entities/departmental_info'
4
+ require_relative '../entities/participant'
5
+
6
+ module Ufebs
7
+ module Documents
8
+ class PaymentOrder
9
+ include HappyMapper
10
+ InvalidPriority = Class.new(StandardError)
11
+
12
+ DOCUMENT_NUMBER_TYPE = '01'.freeze
13
+ XMLNS = "urn:cbr-ru:ed:v2.0".freeze
14
+ SYSTEM_CODE = '01'.freeze
15
+ ED_AUTHOR = '4525595000'.freeze
16
+
17
+ register_namespace 'ed', "urn:cbr-ru:ed:v2.0"
18
+ tag 'ED101'
19
+ namespace 'ed'
20
+
21
+ attribute :number, String, tag: 'EDNo'
22
+ attribute :ed_date, String, tag: 'EDDate'
23
+ attribute :ed_author, String, tag: 'EDAuthor'
24
+ attribute :sum, String, tag: 'Sum'
25
+ attribute :type_number, String, tag: 'TransKind'
26
+ attribute :uin, String, tag: 'PaymentID'
27
+ attribute :charge_off_date, String, tag: 'ChargeOffDate'
28
+ attribute :receipt_date, String, tag: 'ReceiptDate'
29
+ attribute :system_code, String, tag: 'SystemCode'
30
+ attribute :priority, String, tag: 'Priority'
31
+ has_one :acc_doc, ::Ufebs::Entities::AccDoc, tag: 'AccDoc'
32
+ has_one :payer, ::Ufebs::Entities::Participant, tag: 'Payer'
33
+ has_one :payee, ::Ufebs::Entities::Participant, tag: 'Payee'
34
+ element :purpose, String, tag: 'Purpose'
35
+
36
+ has_one :departmental_info, Ufebs::Entities::DepartmentalInfo, tag: 'DepartmentalInfo', state_when_nil: false
37
+
38
+ def initialize(
39
+ ed_date: Time.now,
40
+ number:,
41
+ sum:,
42
+ charge_off_date: Time.now,
43
+ priority: 0,
44
+ receipt_date: Time.now,
45
+ acc_doc: Ufebs::Entities::AccDoc.new,
46
+ payer: Ufebs::Entities::Participant.new,
47
+ payee: Ufebs::Entities::Participant.new,
48
+ purpose: '',
49
+ uin: nil,
50
+ departmental_info: DepartmentalInfo.new
51
+ )
52
+ raise InvalidPriority.new('priority Реквизит должен иметь значение в диапазоне 0-5.') unless (0..5).include?(priority.to_i)
53
+
54
+ @ed_date = Date.parse(ed_date.to_s).strftime('%Y-%m-%d')
55
+ @number = number
56
+ @sum = sum
57
+ @charge_off_date = Date.parse(charge_off_date.to_s).strftime('%Y-%m-%d')
58
+ @receipt_date = Date.parse(receipt_date.to_s).strftime('%Y-%m-%d')
59
+ @priority = priority
60
+ @acc_doc = acc_doc.is_a?(Hash) ? Ufebs::Entities::AccDoc.new(acc_doc) : acc_doc
61
+ @payer = payer.is_a?(Hash) ? Ufebs::Entities::Participant.new(payer) : payer
62
+ @payee = payer.is_a?(Hash) ? Ufebs::Entities::Participant.new(payee) : payee
63
+ @purpose = purpose
64
+ @departmental_info = departmental_info.is_a?(Hash) ? Ufebs::Entities::DepartmentalInfo.new(departmental_info) : departmental_info
65
+ @uin = uin
66
+
67
+ @ed_author = ED_AUTHOR
68
+ @type_number = DOCUMENT_NUMBER_TYPE
69
+ @system_code = SYSTEM_CODE
70
+
71
+ yield self if block_given?
72
+ end
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,13 @@
1
+ module Ufebs
2
+ module Entities
3
+ class AccDoc
4
+ include HappyMapper
5
+ attribute :number, String, tag: 'AccDocNo'
6
+ attribute :date, String, tag: 'AccDocDate'
7
+
8
+ def initialize(number:'', date: Time.now)
9
+ @number, @date = number.to_s.rjust(3,'0'), Date.parse(date.to_s).strftime('%Y-%m-%d')
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,14 @@
1
+ module Ufebs
2
+ module Entities
3
+ class Bank
4
+ include HappyMapper
5
+
6
+ attribute :bic, String, tag: 'BIC'
7
+ attribute :account, String, tag: 'CorrespAcc'
8
+
9
+ def initialize(bic: '', account: '')
10
+ @bic, @account = bic, account
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,36 @@
1
+ module Ufebs
2
+ module Entities
3
+ class DepartmentalInfo
4
+ include HappyMapper
5
+ attribute :kbk, String, tag: 'CBC'
6
+ attribute :okato, String, tag: 'OKATO'
7
+ attribute :tax_period, String, tag: 'TaxPeriod'
8
+ attribute :drawer_status, String, tag: 'DrawerStatus'
9
+ attribute :payt_reason, String, tag: 'PaytReason'
10
+ attribute :doc_no, String, tag: 'DocNo'
11
+ attribute :tax_payt_kind, String, tag: 'TaxPaytKind'
12
+ attribute :doc_date, String, tag: 'DocDate'
13
+
14
+ def initialize(
15
+ tax_payt_kind: 'HC',
16
+ doc_date: Time.now,
17
+ doc_no: '',
18
+ payt_reason: '',
19
+ drawer_status: '01',
20
+ tax_period: '',
21
+ okato: '',
22
+ kbk: ''
23
+ )
24
+
25
+ @tax_payt_kind = tax_payt_kind
26
+ @doc_date = doc_date == '0' ? '0' : Date.parse(doc_date.to_s).strftime('%Y-%m-%d')
27
+ @doc_no = doc_no
28
+ @payt_reason = payt_reason
29
+ @drawer_status = drawer_status
30
+ @tax_period = tax_period
31
+ @okato = okato
32
+ @kbk = kbk
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,19 @@
1
+ module Ufebs
2
+ module Entities
3
+ class Participant
4
+ include HappyMapper
5
+
6
+ attribute :inn, String, tag: 'INN'
7
+ attribute :account, String, tag: 'PersonalAcc'
8
+ attribute :kpp, String, tag: 'KPP'
9
+
10
+ element :name, String, tag: 'Name'
11
+ has_one :bank, Bank, tag: 'Bank'
12
+
13
+ def initialize(inn:'', account:'' ,name:'', bank_account:'', bank_bic:'', kpp: nil)
14
+ @inn, @kpp, @account, @name = inn, kpp, account, name.encode(xml: :text)
15
+ @bank = Bank.new(bic: bank_bic, account: bank_account)
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,12 @@
1
+ module Ufebs
2
+ module Fields
3
+ module Header
4
+ def self.included(content)
5
+ content.attribute :number, String, tag: 'EDNo'
6
+ content.attribute :ed_date, String, tag: 'EDDate'
7
+ content.attribute :ed_author, String, tag: 'EDAuthor'
8
+ content.attribute :ed_receiver, String, tag: 'EDReceiver'
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,27 @@
1
+ module Ufebs
2
+ module Requests
3
+ class GroupRequest
4
+ include HappyMapper
5
+ include Fields::Header
6
+
7
+ tag 'ED203'
8
+
9
+ attribute :xmlns, String, tag: 'xmlns'
10
+ attribute :ed_receiver, String, tag: 'EDReceiver'
11
+ attribute :status_code, String, tag: 'StatusCode'
12
+ attribute :account, String, tag: 'Acc'
13
+ attribute :group_inquiry_code, String, tag: 'GroupInquiryCode'
14
+
15
+ def initialize(params = {})
16
+
17
+ params.each { |key, value| instance_variable_set("@#{key}".to_sym, value) }
18
+ @xmlns = "urn:cbr-ru:ed:v2.0".freeze
19
+ end
20
+ end
21
+ end
22
+ end
23
+
24
+
25
+ # <?xml version="1.0" encoding="WINDOWS-1251"?>
26
+ # <ED203 xmlns="urn:cbr-ru:ed:v2.0"
27
+ # EDNo="9" EDDate="2003-04-14" EDAuthor="4525545000" EDReceiver="4525000000" StatusCode="00" Acc="30101810300000000545" GroupInquiryCode="1"/>
@@ -0,0 +1,40 @@
1
+ module Ufebs
2
+ module Requests
3
+ class PackageRequest
4
+ class Ref
5
+ include HappyMapper
6
+ attribute :number, String, tag: 'EDNo'
7
+ attribute :date, String, tag: 'EDDate'
8
+ attribute :author, String, tag: 'EDAuthor'
9
+
10
+ def initialize(number: '7', date: '2003-04-14', author: '4525545000')
11
+ @number, @date, @author = number, date, author
12
+ end
13
+ end
14
+
15
+ include HappyMapper
16
+ include Fields::Header
17
+
18
+ tag 'ED202'
19
+
20
+ attribute :xmlns, String, tag: 'xmlns'
21
+ attribute :ed_receiver, String, tag: 'EDReceiver'
22
+ attribute :ed_inqiery_code, String, tag: 'EDInquiryCode'
23
+ has_one :ref, Ref, tag: 'EDRefID'
24
+
25
+ def initialize(params = {})
26
+ @ref = Ref.new(params[:ref])
27
+ params.delete(:ref)
28
+
29
+ params.each { |key, value| instance_variable_set("@#{key}".to_sym, value) }
30
+
31
+ @xmlns = "urn:cbr-ru:ed:v2.0".freeze
32
+ end
33
+ end
34
+ end
35
+ end
36
+
37
+ # <?xml version="1.0" encoding="WINDOWS-1251"?>
38
+ # <ED202 xmlns="urn:cbr-ru:ed:v2.0"
39
+ # EDNo="8" EDDate="2003-04-14" EDAuthor="4525545000" EDReceiver="4525000000" EDInquiryCode="1">
40
+ # <EDRefID EDNo="7" EDDate="2003-04-14" EDAuthor="4525545000" /> </ED202>
@@ -0,0 +1,20 @@
1
+ module Ufebs
2
+ module Requests
3
+ class TestRequest
4
+ include HappyMapper
5
+
6
+ register_namespace 'ed', "urn:cbr-ru:ed:v2.0"
7
+
8
+ tag 'ED999'
9
+ namespace 'ed'
10
+
11
+ attribute :number, String, tag: 'EDNo'
12
+ attribute :ed_date, String, tag: 'EDDate'
13
+ attribute :ed_author, String, tag: 'EDAuthor'
14
+
15
+ def initialize(params={})
16
+ @number, @ed_date, @ed_author = params[:number], params[:ed_date], params[:ed_author]
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,3 @@
1
+ module RubyUfebs
2
+ VERSION = "0.1.0"
3
+ end
data/lib/ufebs.rb ADDED
@@ -0,0 +1,111 @@
1
+ require 'happymapper'
2
+ require "ufebs/version"
3
+ require "ufebs/configuration"
4
+ Dir[File.dirname(__FILE__) + '/**/*.rb'].each { |ff| require ff }
5
+
6
+ module Ufebs
7
+ extend self
8
+
9
+ def namespace
10
+ "urn:cbr-ru:ed:v2.0".freeze
11
+ end
12
+
13
+ def configuration
14
+ @configuration ||= Configuration.new
15
+ end
16
+
17
+ def configure(&block)
18
+ block.call(configuration)
19
+ end
20
+
21
+ def validation_schema
22
+ @validation ||= begin
23
+ validation = Nokogiri::XML(File.read(configuration.schemas), configuration.schemas)
24
+ Nokogiri::XML::Schema.from_document(validation)
25
+ end
26
+ end
27
+
28
+ # XML запрос-зонд
29
+ # @param params [Hash]
30
+ # @option :number аттрибут EDNo
31
+ # @option :ed_date аттрибут EDDate
32
+ # @option :ed_author аттрибут EDAuthor
33
+ def ED999(params)
34
+ Ufebs::Requests::TestRequest.new(params)
35
+ end
36
+
37
+ # Создание XML по формату ED101(Платежное поручение)
38
+ # @param params [Hash] Hash значений документа
39
+ # @option params [Integer] :number номер документа аттрибут EDNo
40
+ # @option params [Integer] :sum Сумма документа аттрибут Sum
41
+ # @option params [DateTime] :receipt_date ReceiptDate дата обработки
42
+ # @option params [Hash] :acc_doc AccDoc информация о счете
43
+ # @option params [String] :purpose Purpose предназначение-описание платежа
44
+ # @option params [Hash] :payer Payer плательщик
45
+ # @option params [Hash] :payer Payee получатель
46
+ # @option params [Hash] :departmental_info ({}) DepartmentalInfo Ведомственная информация
47
+ # @return [Ufebs::Documents::PaymentOrder] Представление документа УФЕБС
48
+ # @example Пример документа
49
+ # ed101 = Ufebs::ED101(
50
+ # number: 7,
51
+ # sum: 150000,
52
+ # receipt_date: Time.now,
53
+ # acc_doc: { number: '3', date: Time.now },
54
+ # purpose: 'оплата в том числе ндс 4000 руб',
55
+ # payer: {
56
+ # name: 'ООО ТЕСТ',
57
+ # account: '40702810200203001037',
58
+ # inn: '7726274727',
59
+ # bank_bic: '044525545',
60
+ # bank_account: '30101810300000000545'
61
+ # },
62
+ # payee: {
63
+ # name: 'ООО ТЕСТ',
64
+ # account: '40702810200203001037',
65
+ # inn: '7726274727',
66
+ # bank_bic: '044525545',
67
+ # bank_account: '30101810300000000545'
68
+ # },
69
+ # departmental_info: {
70
+ # kbk: '18210301000010000110',
71
+ # okato: '45263591000',
72
+ # drawer_status: '01',
73
+ # tax_period: 'МС.03.2017',
74
+ # tax_payt_kind: 'НС',
75
+ # doc_no: '111',
76
+ # payt_reason: 'ТП'
77
+ # }
78
+ # )
79
+ # ed101.to_xml(Nokogiri::XML::Builder.new(encoding: 'UTF-8'), nil, nil).to_xml #=>
80
+ # '<?xml version="1.0" encoding="UTF-8"?>
81
+ # <ed:ED101 xmlns:ed="urn:cbr-ru:ed:v2.0" EDNo="7" EDDate="2017-12-11" EDAuthor="4525595000" Sum="150000" TransKind="01" ChargeOffDate="2017-12-11" ReceiptDate="2017-12-11" SystemCode="01" Priority="0">
82
+ # <ed:AccDoc AccDocNo="003" AccDocDate="2017-12-11"/>
83
+ # <ed:Payer INN="7726274727" PersonalAcc="40702810200203001037">
84
+ # <ed:Name>ООО ТЕСТ</ed:Name>
85
+ # <ed:Bank BIC="044525545" CorrespAcc="30101810300000000545"/>
86
+ # </ed:Payer>
87
+ # <ed:Payee INN="7726274727" PersonalAcc="40702810200203001037">
88
+ # <ed:Name>ООО ТЕСТ</ed:Name>
89
+ # <ed:Bank BIC="044525545" CorrespAcc="30101810300000000545"/>
90
+ # </ed:Payee>
91
+ # <ed:Purpose>оплата в том числе ндс 4000 руб</ed:Purpose>
92
+ # <ed:DepartmentalInfo CBC="18210301000010000110" OKATO="45263591000" TaxPeriod="МС.03.2017" DrawerStatus="01" PaytReason="ТП" DocNo="111" TaxPaytKind="НС" DocDate="2017-12-11"/>
93
+ # </ed:ED101>'
94
+ def ED101(params)
95
+ Ufebs::Documents::PaymentOrder.new(params)
96
+ end
97
+
98
+ def PackedEPD()
99
+ end
100
+
101
+ def validate(doc)
102
+ doc = Nokogiri::XML(doc) if doc.is_a?(String)
103
+
104
+ errors = []
105
+ validation_schema.validate(doc).each do |error|
106
+ errors << error.message
107
+ puts error.message
108
+ end
109
+ errors.empty?
110
+ end
111
+ end
@@ -0,0 +1,31 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'ufebs/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "ruby_ufebs"
8
+ spec.version = RubyUfebs::VERSION
9
+ spec.authors = ["Evgeniy Burdaev"]
10
+ spec.email = ["hate2me@yandex.ru"]
11
+
12
+ spec.summary = %q{Simple Construction of XML Defined by UFEBS for 2017/2018 standards http://www.cbr.ru/analytics/?PrtId=Formats}
13
+ spec.homepage = "https://github.com/creepycheese/ruby_ufebs"
14
+
15
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
16
+ f.match(%r{^(test|spec|features)/})
17
+ end
18
+ spec.bindir = "exe"
19
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
+ spec.require_paths = ["lib"]
21
+
22
+ spec.add_development_dependency "bundler", "~> 1.14"
23
+ spec.add_development_dependency "rake", "~> 10.0"
24
+ spec.add_development_dependency "minitest", "~> 5.0"
25
+ spec.add_development_dependency "pry"
26
+ spec.add_development_dependency 'guard'
27
+ spec.add_development_dependency 'guard-minitest'
28
+ spec.add_development_dependency 'guard-bundler'
29
+ spec.add_development_dependency 'yard'
30
+ spec.add_runtime_dependency 'nokogiri-happymapper'
31
+ end