ruby_ufebs 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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