ende 0.2.3 → 0.2.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (299) hide show
  1. checksums.yaml +4 -4
  2. data/component.json +2 -1
  3. data/lib/assets/javascripts/aura/extensions/devise.js.coffee +3 -2
  4. data/lib/assets/javascripts/aura/extensions/models.js.coffee.erb +1 -2
  5. data/lib/assets/javascripts/aura/extensions/widget/lifecycleable.js.coffee +37 -16
  6. data/lib/assets/javascripts/ende.js.coffee +1 -1
  7. data/lib/assets/javascripts/widgets/dialog/main.js.coffee +100 -0
  8. data/lib/assets/javascripts/widgets/dialog/presenter.js.coffee +18 -0
  9. data/lib/assets/javascripts/widgets/dialog/states/default.html +2 -0
  10. data/lib/assets/javascripts/widgets/dialog/states/index.js.coffee +2 -0
  11. data/lib/assets/javascripts/widgets/list/main.js.coffee +1 -0
  12. data/lib/assets/stylesheets/ende.styl +1 -0
  13. data/lib/ende/version.rb +1 -1
  14. data/lib/ende.rb +6 -2
  15. data/vendor/assets/components/build.css +111 -0
  16. data/vendor/{components/indefinido-indemma/build/release.js → assets/components/build.js} +25468 -17590
  17. data/vendor/assets/components/ende_build.css +111 -0
  18. data/vendor/assets/components/ende_build.js +29571 -0
  19. data/vendor/assets/javascripts/ende/build.js +1962 -0
  20. data/vendor/components/component-classes/component.json +19 -0
  21. data/vendor/components/component-classes/index.js +165 -0
  22. data/vendor/components/component-css/component.json +18 -0
  23. data/vendor/components/component-css/index.js +34 -0
  24. data/vendor/components/component-delegate/component.json +2 -2
  25. data/vendor/components/component-delegate/index.js +4 -4
  26. data/vendor/components/component-dialog/component.json +23 -0
  27. data/vendor/components/component-dialog/dialog.css +92 -0
  28. data/vendor/components/component-dialog/index.js +292 -0
  29. data/vendor/components/component-dialog/template.js +1 -0
  30. data/vendor/components/component-dom/component.json +33 -0
  31. data/vendor/components/component-dom/index.js +725 -0
  32. data/vendor/components/component-domify/component.json +22 -0
  33. data/vendor/components/component-domify/index.js +71 -0
  34. data/vendor/components/component-emitter/component.json +13 -0
  35. data/vendor/components/component-emitter/index.js +156 -0
  36. data/vendor/components/component-event/index.js +8 -11
  37. data/vendor/components/component-indexof/component.json +15 -0
  38. data/vendor/components/component-indexof/index.js +10 -0
  39. data/vendor/components/component-overlay/component.json +22 -0
  40. data/vendor/components/component-overlay/index.js +111 -0
  41. data/vendor/components/component-overlay/overlay.css +19 -0
  42. data/vendor/components/component-overlay/template.js +1 -0
  43. data/vendor/components/component-query/component.json +2 -1
  44. data/vendor/components/component-sort/component.json +20 -0
  45. data/vendor/components/component-sort/index.js +43 -0
  46. data/vendor/components/component-value/component.json +25 -0
  47. data/vendor/components/component-value/index.js +95 -0
  48. data/vendor/components/indefinido-indemma/component.json +2 -3
  49. data/vendor/components/indefinido-indemma/lib/record/resource.js +2 -4
  50. data/vendor/components/mikeric-rivets/component.json +1 -1
  51. data/vendor/components/mikeric-rivets/dist/rivets.js +64 -44
  52. data/vendor/components/paulmillr-es6-shim/component.json +1 -1
  53. data/vendor/components/paulmillr-es6-shim/es6-shim.js +22 -11
  54. data/vendor/components/pluma-assimilate/component.json +1 -1
  55. data/vendor/components/pluma-assimilate/dist/assimilate.js +103 -63
  56. metadata +35 -246
  57. data/lib/tasks/component.thor +0 -63
  58. data/vendor/assets/components/KapIT-observe-utils/component.json +0 -16
  59. data/vendor/assets/components/KapIT-observe-utils/lib/observe-utils.js +0 -780
  60. data/vendor/assets/components/chaijs-assertion-error/component.json +0 -18
  61. data/vendor/assets/components/chaijs-assertion-error/index.js +0 -110
  62. data/vendor/assets/components/chaijs-chai/component.json +0 -47
  63. data/vendor/assets/components/chaijs-chai/index.js +0 -1
  64. data/vendor/assets/components/chaijs-chai/lib/chai/assertion.js +0 -130
  65. data/vendor/assets/components/chaijs-chai/lib/chai/core/assertions.js +0 -1270
  66. data/vendor/assets/components/chaijs-chai/lib/chai/interface/assert.js +0 -1080
  67. data/vendor/assets/components/chaijs-chai/lib/chai/interface/expect.js +0 -12
  68. data/vendor/assets/components/chaijs-chai/lib/chai/interface/should.js +0 -76
  69. data/vendor/assets/components/chaijs-chai/lib/chai/utils/addChainableMethod.js +0 -94
  70. data/vendor/assets/components/chaijs-chai/lib/chai/utils/addMethod.js +0 -37
  71. data/vendor/assets/components/chaijs-chai/lib/chai/utils/addProperty.js +0 -40
  72. data/vendor/assets/components/chaijs-chai/lib/chai/utils/flag.js +0 -32
  73. data/vendor/assets/components/chaijs-chai/lib/chai/utils/getActual.js +0 -19
  74. data/vendor/assets/components/chaijs-chai/lib/chai/utils/getEnumerableProperties.js +0 -25
  75. data/vendor/assets/components/chaijs-chai/lib/chai/utils/getMessage.js +0 -49
  76. data/vendor/assets/components/chaijs-chai/lib/chai/utils/getName.js +0 -20
  77. data/vendor/assets/components/chaijs-chai/lib/chai/utils/getPathValue.js +0 -102
  78. data/vendor/assets/components/chaijs-chai/lib/chai/utils/getProperties.js +0 -35
  79. data/vendor/assets/components/chaijs-chai/lib/chai/utils/index.js +0 -108
  80. data/vendor/assets/components/chaijs-chai/lib/chai/utils/inspect.js +0 -320
  81. data/vendor/assets/components/chaijs-chai/lib/chai/utils/objDisplay.js +0 -48
  82. data/vendor/assets/components/chaijs-chai/lib/chai/utils/overwriteMethod.js +0 -51
  83. data/vendor/assets/components/chaijs-chai/lib/chai/utils/overwriteProperty.js +0 -54
  84. data/vendor/assets/components/chaijs-chai/lib/chai/utils/test.js +0 -26
  85. data/vendor/assets/components/chaijs-chai/lib/chai/utils/transferFlags.js +0 -44
  86. data/vendor/assets/components/chaijs-chai/lib/chai/utils/type.js +0 -45
  87. data/vendor/assets/components/chaijs-chai/lib/chai.js +0 -80
  88. data/vendor/assets/components/chaijs-deep-eql/component.json +0 -18
  89. data/vendor/assets/components/chaijs-deep-eql/lib/eql.js +0 -257
  90. data/vendor/assets/components/chaijs-type-detect/component.json +0 -16
  91. data/vendor/assets/components/chaijs-type-detect/lib/type.js +0 -142
  92. data/vendor/assets/components/component-bind/component.json +0 -14
  93. data/vendor/assets/components/component-bind/index.js +0 -24
  94. data/vendor/assets/components/component-delegate/component.json +0 -19
  95. data/vendor/assets/components/component-delegate/index.js +0 -42
  96. data/vendor/assets/components/component-event/component.json +0 -13
  97. data/vendor/assets/components/component-event/index.js +0 -40
  98. data/vendor/assets/components/component-jquery/component.json +0 -14
  99. data/vendor/assets/components/component-jquery/index.js +0 -9601
  100. data/vendor/assets/components/component-link-delegate/component.json +0 -23
  101. data/vendor/assets/components/component-link-delegate/index.js +0 -60
  102. data/vendor/assets/components/component-matches-selector/component.json +0 -20
  103. data/vendor/assets/components/component-matches-selector/index.js +0 -45
  104. data/vendor/assets/components/component-query/component.json +0 -21
  105. data/vendor/assets/components/component-query/index.js +0 -21
  106. data/vendor/assets/components/component-type/component.json +0 -18
  107. data/vendor/assets/components/component-type/index.js +0 -32
  108. data/vendor/assets/components/component-url/component.json +0 -17
  109. data/vendor/assets/components/component-url/index.js +0 -63
  110. data/vendor/assets/components/discore-closest/component.json +0 -14
  111. data/vendor/assets/components/discore-closest/index.js +0 -18
  112. data/vendor/assets/components/indefinido-advisable/component.json +0 -21
  113. data/vendor/assets/components/indefinido-advisable/index.js +0 -1
  114. data/vendor/assets/components/indefinido-advisable/lib/advisable.js +0 -60
  115. data/vendor/assets/components/indefinido-indemma/component.json +0 -40
  116. data/vendor/assets/components/indefinido-indemma/index.js +0 -1
  117. data/vendor/assets/components/indefinido-indemma/lib/extensions/rivets.js +0 -23
  118. data/vendor/assets/components/indefinido-indemma/lib/record/associable.js +0 -217
  119. data/vendor/assets/components/indefinido-indemma/lib/record/maid.js +0 -24
  120. data/vendor/assets/components/indefinido-indemma/lib/record/resource.js +0 -104
  121. data/vendor/assets/components/indefinido-indemma/lib/record/rest.js +0 -36
  122. data/vendor/assets/components/indefinido-indemma/lib/record/restfulable.js +0 -326
  123. data/vendor/assets/components/indefinido-indemma/lib/record/scopable.js +0 -279
  124. data/vendor/assets/components/indefinido-indemma/lib/record/translationable.js +0 -19
  125. data/vendor/assets/components/indefinido-indemma/lib/record/validatable.js +0 -216
  126. data/vendor/assets/components/indefinido-indemma/lib/record/validations/associated.js +0 -30
  127. data/vendor/assets/components/indefinido-indemma/lib/record/validations/confirmation.js +0 -19
  128. data/vendor/assets/components/indefinido-indemma/lib/record/validations/cpf.js +0 -60
  129. data/vendor/assets/components/indefinido-indemma/lib/record/validations/presence.js +0 -19
  130. data/vendor/assets/components/indefinido-indemma/lib/record/validations/remote.js +0 -71
  131. data/vendor/assets/components/indefinido-indemma/lib/record.js +0 -167
  132. data/vendor/assets/components/indefinido-indemma/vendor/sinon.js +0 -4290
  133. data/vendor/assets/components/indefinido-indemma/vendor/stampit.js +0 -392
  134. data/vendor/assets/components/indefinido-observable/component.json +0 -25
  135. data/vendor/assets/components/indefinido-observable/components/cjohansen-sinon/sinon.js +0 -4290
  136. data/vendor/assets/components/indefinido-observable/index.js +0 -1
  137. data/vendor/assets/components/indefinido-observable/lib/adapters/rivets.js +0 -26
  138. data/vendor/assets/components/indefinido-observable/lib/observable.js +0 -320
  139. data/vendor/assets/components/indefinido-observable/vendor/shims/accessors-legacy.js +0 -92
  140. data/vendor/assets/components/indefinido-observable/vendor/shims/accessors.js +0 -173
  141. data/vendor/assets/components/indefinido-observable/vendor/shims/array.indexOf.js +0 -8
  142. data/vendor/assets/components/indefinido-observable/vendor/shims/object.create.js +0 -77
  143. data/vendor/assets/components/mikeric-rivets/component.json +0 -15
  144. data/vendor/assets/components/mikeric-rivets/dist/rivets.js +0 -1020
  145. data/vendor/assets/components/paulmillr-es6-shim/component.json +0 -17
  146. data/vendor/assets/components/paulmillr-es6-shim/es6-shim.js +0 -985
  147. data/vendor/assets/components/pluma-assimilate/component.json +0 -25
  148. data/vendor/assets/components/pluma-assimilate/dist/assimilate.js +0 -87
  149. data/vendor/assets/components/segmentio-extend/component.json +0 -13
  150. data/vendor/assets/components/segmentio-extend/index.js +0 -15
  151. data/vendor/components/chaijs-assertion-error/component.json +0 -18
  152. data/vendor/components/chaijs-assertion-error/index.js +0 -110
  153. data/vendor/components/chaijs-chai/component.json +0 -47
  154. data/vendor/components/chaijs-chai/index.js +0 -1
  155. data/vendor/components/chaijs-chai/lib/chai/assertion.js +0 -130
  156. data/vendor/components/chaijs-chai/lib/chai/core/assertions.js +0 -1270
  157. data/vendor/components/chaijs-chai/lib/chai/interface/assert.js +0 -1080
  158. data/vendor/components/chaijs-chai/lib/chai/interface/expect.js +0 -12
  159. data/vendor/components/chaijs-chai/lib/chai/interface/should.js +0 -76
  160. data/vendor/components/chaijs-chai/lib/chai/utils/addChainableMethod.js +0 -94
  161. data/vendor/components/chaijs-chai/lib/chai/utils/addMethod.js +0 -37
  162. data/vendor/components/chaijs-chai/lib/chai/utils/addProperty.js +0 -40
  163. data/vendor/components/chaijs-chai/lib/chai/utils/flag.js +0 -32
  164. data/vendor/components/chaijs-chai/lib/chai/utils/getActual.js +0 -19
  165. data/vendor/components/chaijs-chai/lib/chai/utils/getEnumerableProperties.js +0 -25
  166. data/vendor/components/chaijs-chai/lib/chai/utils/getMessage.js +0 -49
  167. data/vendor/components/chaijs-chai/lib/chai/utils/getName.js +0 -20
  168. data/vendor/components/chaijs-chai/lib/chai/utils/getPathValue.js +0 -102
  169. data/vendor/components/chaijs-chai/lib/chai/utils/getProperties.js +0 -35
  170. data/vendor/components/chaijs-chai/lib/chai/utils/index.js +0 -108
  171. data/vendor/components/chaijs-chai/lib/chai/utils/inspect.js +0 -320
  172. data/vendor/components/chaijs-chai/lib/chai/utils/objDisplay.js +0 -48
  173. data/vendor/components/chaijs-chai/lib/chai/utils/overwriteMethod.js +0 -51
  174. data/vendor/components/chaijs-chai/lib/chai/utils/overwriteProperty.js +0 -54
  175. data/vendor/components/chaijs-chai/lib/chai/utils/test.js +0 -26
  176. data/vendor/components/chaijs-chai/lib/chai/utils/transferFlags.js +0 -44
  177. data/vendor/components/chaijs-chai/lib/chai/utils/type.js +0 -45
  178. data/vendor/components/chaijs-chai/lib/chai.js +0 -80
  179. data/vendor/components/chaijs-deep-eql/component.json +0 -18
  180. data/vendor/components/chaijs-deep-eql/lib/eql.js +0 -257
  181. data/vendor/components/chaijs-type-detect/component.json +0 -16
  182. data/vendor/components/chaijs-type-detect/lib/type.js +0 -142
  183. data/vendor/components/component-link-delegate/component.json +0 -23
  184. data/vendor/components/component-link-delegate/index.js +0 -60
  185. data/vendor/components/component-url/component.json +0 -17
  186. data/vendor/components/component-url/index.js +0 -63
  187. data/vendor/components/discore-closest/component.json +0 -14
  188. data/vendor/components/discore-closest/index.js +0 -18
  189. data/vendor/components/indefinido-indemma/.gitignore +0 -14
  190. data/vendor/components/indefinido-indemma/.ruby-gemset +0 -1
  191. data/vendor/components/indefinido-indemma/.ruby-version +0 -1
  192. data/vendor/components/indefinido-indemma/Gemfile +0 -13
  193. data/vendor/components/indefinido-indemma/Guardfile +0 -39
  194. data/vendor/components/indefinido-indemma/History.md +0 -0
  195. data/vendor/components/indefinido-indemma/Readme.md +0 -443
  196. data/vendor/components/indefinido-indemma/build/development.js +0 -331
  197. data/vendor/components/indefinido-indemma/build/test.js +0 -331
  198. data/vendor/components/indefinido-indemma/components/chaijs-assertion-error/component.json +0 -18
  199. data/vendor/components/indefinido-indemma/components/chaijs-assertion-error/index.js +0 -110
  200. data/vendor/components/indefinido-indemma/components/chaijs-chai/component.json +0 -47
  201. data/vendor/components/indefinido-indemma/components/chaijs-chai/index.js +0 -1
  202. data/vendor/components/indefinido-indemma/components/chaijs-chai/lib/chai/assertion.js +0 -130
  203. data/vendor/components/indefinido-indemma/components/chaijs-chai/lib/chai/core/assertions.js +0 -1270
  204. data/vendor/components/indefinido-indemma/components/chaijs-chai/lib/chai/interface/assert.js +0 -1080
  205. data/vendor/components/indefinido-indemma/components/chaijs-chai/lib/chai/interface/expect.js +0 -12
  206. data/vendor/components/indefinido-indemma/components/chaijs-chai/lib/chai/interface/should.js +0 -76
  207. data/vendor/components/indefinido-indemma/components/chaijs-chai/lib/chai/utils/addChainableMethod.js +0 -94
  208. data/vendor/components/indefinido-indemma/components/chaijs-chai/lib/chai/utils/addMethod.js +0 -37
  209. data/vendor/components/indefinido-indemma/components/chaijs-chai/lib/chai/utils/addProperty.js +0 -40
  210. data/vendor/components/indefinido-indemma/components/chaijs-chai/lib/chai/utils/eql.js +0 -129
  211. data/vendor/components/indefinido-indemma/components/chaijs-chai/lib/chai/utils/flag.js +0 -32
  212. data/vendor/components/indefinido-indemma/components/chaijs-chai/lib/chai/utils/getActual.js +0 -19
  213. data/vendor/components/indefinido-indemma/components/chaijs-chai/lib/chai/utils/getEnumerableProperties.js +0 -25
  214. data/vendor/components/indefinido-indemma/components/chaijs-chai/lib/chai/utils/getMessage.js +0 -49
  215. data/vendor/components/indefinido-indemma/components/chaijs-chai/lib/chai/utils/getName.js +0 -20
  216. data/vendor/components/indefinido-indemma/components/chaijs-chai/lib/chai/utils/getPathValue.js +0 -102
  217. data/vendor/components/indefinido-indemma/components/chaijs-chai/lib/chai/utils/getProperties.js +0 -35
  218. data/vendor/components/indefinido-indemma/components/chaijs-chai/lib/chai/utils/index.js +0 -108
  219. data/vendor/components/indefinido-indemma/components/chaijs-chai/lib/chai/utils/inspect.js +0 -320
  220. data/vendor/components/indefinido-indemma/components/chaijs-chai/lib/chai/utils/objDisplay.js +0 -48
  221. data/vendor/components/indefinido-indemma/components/chaijs-chai/lib/chai/utils/overwriteMethod.js +0 -51
  222. data/vendor/components/indefinido-indemma/components/chaijs-chai/lib/chai/utils/overwriteProperty.js +0 -54
  223. data/vendor/components/indefinido-indemma/components/chaijs-chai/lib/chai/utils/test.js +0 -26
  224. data/vendor/components/indefinido-indemma/components/chaijs-chai/lib/chai/utils/transferFlags.js +0 -44
  225. data/vendor/components/indefinido-indemma/components/chaijs-chai/lib/chai/utils/type.js +0 -45
  226. data/vendor/components/indefinido-indemma/components/chaijs-chai/lib/chai.js +0 -80
  227. data/vendor/components/indefinido-indemma/components/component-bind/component.json +0 -14
  228. data/vendor/components/indefinido-indemma/components/component-bind/index.js +0 -24
  229. data/vendor/components/indefinido-indemma/components/component-jquery/component.json +0 -14
  230. data/vendor/components/indefinido-indemma/components/component-jquery/index.js +0 -9601
  231. data/vendor/components/indefinido-indemma/components/component-type/component.json +0 -18
  232. data/vendor/components/indefinido-indemma/components/component-type/index.js +0 -32
  233. data/vendor/components/indefinido-indemma/components/indefinido-advisable/component.json +0 -21
  234. data/vendor/components/indefinido-indemma/components/indefinido-advisable/index.js +0 -1
  235. data/vendor/components/indefinido-indemma/components/indefinido-advisable/lib/advisable.js +0 -60
  236. data/vendor/components/indefinido-indemma/components/indefinido-observable/component.json +0 -25
  237. data/vendor/components/indefinido-indemma/components/indefinido-observable/components/cjohansen-sinon/sinon.js +0 -4290
  238. data/vendor/components/indefinido-indemma/components/indefinido-observable/index.js +0 -1
  239. data/vendor/components/indefinido-indemma/components/indefinido-observable/lib/adapters/rivets.js +0 -26
  240. data/vendor/components/indefinido-indemma/components/indefinido-observable/lib/observable.js +0 -323
  241. data/vendor/components/indefinido-indemma/components/indefinido-observable/vendor/shims/accessors-legacy.js +0 -92
  242. data/vendor/components/indefinido-indemma/components/indefinido-observable/vendor/shims/accessors.js +0 -173
  243. data/vendor/components/indefinido-indemma/components/indefinido-observable/vendor/shims/array.indexOf.js +0 -8
  244. data/vendor/components/indefinido-indemma/components/indefinido-observable/vendor/shims/object.create.js +0 -77
  245. data/vendor/components/indefinido-indemma/components/kapit-observe-utils/component.json +0 -13
  246. data/vendor/components/indefinido-indemma/components/pluma-assimilate/component.json +0 -25
  247. data/vendor/components/indefinido-indemma/components/pluma-assimilate/dist/assimilate.js +0 -87
  248. data/vendor/components/indefinido-indemma/karma.conf.js +0 -86
  249. data/vendor/components/indefinido-indemma/lib/record/errors.js +0 -1
  250. data/vendor/components/indefinido-indemma/spec/record/associable_spec.js +0 -76
  251. data/vendor/components/indefinido-indemma/spec/record/resource_spec.js +0 -90
  252. data/vendor/components/indefinido-indemma/spec/record/rest_spec.js +0 -32
  253. data/vendor/components/indefinido-indemma/spec/record/restfulable_spec.js +0 -232
  254. data/vendor/components/indefinido-indemma/spec/record/scopable_spec.js +0 -201
  255. data/vendor/components/indefinido-indemma/spec/record/translationable.js +0 -28
  256. data/vendor/components/indefinido-indemma/spec/record/validatable_spec.js +0 -111
  257. data/vendor/components/indefinido-indemma/spec/record/validations/associated_spec.js +0 -43
  258. data/vendor/components/indefinido-indemma/spec/record/validations/confirmation_spec.js +0 -36
  259. data/vendor/components/indefinido-indemma/spec/record/validations/cpf_spec.js +0 -35
  260. data/vendor/components/indefinido-indemma/spec/record/validations/presence_spec.js +0 -28
  261. data/vendor/components/indefinido-indemma/spec/record/validations/remote_spec.js +0 -86
  262. data/vendor/components/indefinido-indemma/spec/record/validations/type_spec.js +0 -48
  263. data/vendor/components/indefinido-indemma/spec/record_spec.js +0 -37
  264. data/vendor/components/indefinido-indemma/spec/spec_helper.js +0 -11
  265. data/vendor/components/indefinido-indemma/spec/support/value_objects/phone.js +0 -45
  266. data/vendor/components/indefinido-indemma/src/lib/extensions/rivets.coffee +0 -17
  267. data/vendor/components/indefinido-indemma/src/lib/record/associable.coffee +0 -173
  268. data/vendor/components/indefinido-indemma/src/lib/record/errors.coffee +0 -20
  269. data/vendor/components/indefinido-indemma/src/lib/record/maid.coffee +0 -16
  270. data/vendor/components/indefinido-indemma/src/lib/record/resource.coffee +0 -103
  271. data/vendor/components/indefinido-indemma/src/lib/record/rest.coffee +0 -28
  272. data/vendor/components/indefinido-indemma/src/lib/record/restfulable.coffee +0 -314
  273. data/vendor/components/indefinido-indemma/src/lib/record/scopable.coffee +0 -266
  274. data/vendor/components/indefinido-indemma/src/lib/record/translationable.coffee +0 -18
  275. data/vendor/components/indefinido-indemma/src/lib/record/validatable.coffee +0 -209
  276. data/vendor/components/indefinido-indemma/src/lib/record/validations/associated.coffee +0 -32
  277. data/vendor/components/indefinido-indemma/src/lib/record/validations/confirmation.coffee +0 -19
  278. data/vendor/components/indefinido-indemma/src/lib/record/validations/cpf.coffee +0 -58
  279. data/vendor/components/indefinido-indemma/src/lib/record/validations/presence.coffee +0 -19
  280. data/vendor/components/indefinido-indemma/src/lib/record/validations/remote.coffee +0 -65
  281. data/vendor/components/indefinido-indemma/src/lib/record/validations/type.coffee +0 -32
  282. data/vendor/components/indefinido-indemma/src/lib/record.coffee +0 -123
  283. data/vendor/components/indefinido-indemma/src/spec/record/associable_spec.coffee +0 -63
  284. data/vendor/components/indefinido-indemma/src/spec/record/resource_spec.coffee +0 -64
  285. data/vendor/components/indefinido-indemma/src/spec/record/rest_spec.coffee +0 -22
  286. data/vendor/components/indefinido-indemma/src/spec/record/restfulable_spec.coffee +0 -164
  287. data/vendor/components/indefinido-indemma/src/spec/record/scopable_spec.coffee +0 -181
  288. data/vendor/components/indefinido-indemma/src/spec/record/translationable.coffee +0 -19
  289. data/vendor/components/indefinido-indemma/src/spec/record/validatable_spec.coffee +0 -100
  290. data/vendor/components/indefinido-indemma/src/spec/record/validations/associated_spec.coffee +0 -35
  291. data/vendor/components/indefinido-indemma/src/spec/record/validations/confirmation_spec.coffee +0 -25
  292. data/vendor/components/indefinido-indemma/src/spec/record/validations/cpf_spec.coffee +0 -28
  293. data/vendor/components/indefinido-indemma/src/spec/record/validations/presence_spec.coffee +0 -24
  294. data/vendor/components/indefinido-indemma/src/spec/record/validations/remote_spec.coffee +0 -72
  295. data/vendor/components/indefinido-indemma/src/spec/record/validations/type_spec.coffee +0 -33
  296. data/vendor/components/indefinido-indemma/src/spec/record_spec.coffee +0 -23
  297. data/vendor/components/indefinido-indemma/src/spec/spec_helper.coffee +0 -9
  298. data/vendor/components/indefinido-indemma/src/spec/support/value_objects/phone.coffee +0 -30
  299. data/vendor/components/indefinido-indemma/vendor/owl/pluralize.js +0 -190
@@ -1,209 +0,0 @@
1
- require './translationable'
2
-
3
- root = exports ? window
4
- stampit = require '../../vendor/stampit'
5
- observable = require('observable').mixin
6
- type = require 'type'
7
-
8
- # TODO better model require
9
- # model = require ...
10
-
11
- # TODO Add base settings to validation
12
- # TODO implement method
13
- # model[resource].validators_on 'field' # Get all validators related to this field
14
-
15
- messages =
16
- blank: (attribute_name) ->
17
- attribute_name = @human_attribute_name attribute_name
18
- "O campo #{attribute_name} não pode ficar em branco."
19
-
20
- cpf: (attribute_name) ->
21
- attribute_name = @human_attribute_name attribute_name
22
- "O campo #{attribute_name} não está válido."
23
-
24
- confirmation: (attribute_name) ->
25
- confirmation_attribute_name = @human_attribute_name attribute_name
26
- attribute_name = @human_attribute_name attribute_name.replace '_confirmation', ''
27
- "O campo #{attribute_name} não está de acordo com o campo #{confirmation_attribute_name}."
28
-
29
- associated: (attribute_name) ->
30
- attribute_name = @human_attribute_name attribute_name
31
- "O registro associado #{attribute_name} não é válido."
32
-
33
- server: (attribute_name, options) ->
34
- attribute_name = @human_attribute_name attribute_name
35
- "#{attribute_name} #{options.server_message}."
36
-
37
- type: (attribute_name, options) ->
38
- attribute_name = @human_attribute_name attribute_name
39
- "O campo #{attribute_name} não está válido."
40
-
41
- # TODO move to errorsable.coffee
42
- errorsable = stampit
43
- add: (attribute_name, message_key, options) ->
44
-
45
- @push [attribute_name, message_key, options]
46
- # TODO Also push to attribute named
47
- # @[attribute_name].push message_key, message, options
48
-
49
- @messages[attribute_name] = ''
50
-
51
- translator = messages[message_key]
52
-
53
- if translator?
54
- @messages[attribute_name] += translator.call @model, attribute_name, options
55
- else
56
- @messages[attribute_name] += message_key
57
-
58
- clear: ->
59
- if @length
60
- @length = 0
61
- @messages[attribute_name] = null for attribute_name of @messages
62
-
63
- push: Array.prototype.push
64
- splice: Array.prototype.splice
65
- ,
66
- model: null
67
- messages: null
68
- length: 0
69
- , ->
70
- @messages = {}
71
- @
72
-
73
-
74
- initializers =
75
- define_triggers: ->
76
-
77
- # TODO remove the extra inheritance level of model[@resource]
78
- @errors = errorsable model: model[@resource]
79
-
80
- # TODO only add after save when resourceable is included
81
- # TODO @after_initialize validate_field_types
82
- # TODO only execute save operation if record is valid
83
- @before 'save', -> @validate() if @save
84
-
85
- # TODO move this functionality control to validatorable
86
- @validated = false
87
- @subscribe 'dirty', -> @validated = false
88
-
89
- Object.defineProperty @, 'valid',
90
- get: ->
91
-
92
- @validate()
93
-
94
- if @validation.state() == 'resolved'
95
- !@errors.length
96
- else
97
- null
98
-
99
- set: -> throw new TypeError "You can't set the value for the valid property."
100
- enumerable: false
101
-
102
- create_validators: (definitions) ->
103
-
104
- @validators = []
105
-
106
- for name, validator of manager.validators
107
- definition = definitions[validator.definition_key]
108
-
109
- if definition
110
- definition = [definition] unless type(definition) == 'array'
111
-
112
- for validator_options in definition
113
-
114
- # Parse validation definition
115
- validator_options = attribute_name: validator_options unless type(validator_options) == 'object'
116
- validator_options.model = @
117
-
118
- # Instantiate validator
119
- @validators.push validator validator_options
120
-
121
- # Clear out definition to prevent validators from becoming
122
- # attributes
123
- delete definitions[validator.definition_key]
124
-
125
- # Model and Record extensions
126
- # TODO Use stampit!
127
- extensions =
128
- model:
129
- validators: null
130
-
131
- record:
132
-
133
- validate_attribute: (attribute, doned, failed) ->
134
- # TODO better clearing of single attribute error message
135
- @errors.messages[attribute] = null
136
-
137
- results = [@, attribute]
138
-
139
- # TODO copy validators reference from model object to record object
140
- # TODO update json serializer
141
- # TODO filter validators for attribute
142
- for validator in model[@resource.toString()].validators
143
- if validator.attribute_name is attribute
144
- results.push validator.validate_each @, validator.attribute_name, @[validator.attribute_name]
145
-
146
- validation = jQuery.when.apply jQuery, results
147
- validation.done doned
148
- validation.fail failed
149
-
150
- validation
151
-
152
- validate: (doned, failed) ->
153
- return @validation if @validated
154
-
155
- @errors.clear()
156
- results = [@]
157
-
158
- # TODO copy validators reference from model object to record object
159
- # TODO update json serializer
160
- for validator in model[@resource.toString()].validators
161
- results.push validator.validate_each @, validator.attribute_name, @[validator.attribute_name]
162
-
163
- @validation = jQuery.when results...
164
- @validation.done doned
165
- @validation.fail failed
166
-
167
- # TODO store this callback
168
- @validation.then (record) -> record.validated = true
169
-
170
- @validation
171
-
172
-
173
- # Validators management
174
- manager =
175
-
176
- validators: {}
177
-
178
- # TODO async validator loading
179
- # for: (name) ->
180
- # builder = @validators[name] ||= require "validations/#{name}"
181
-
182
-
183
- validatable = stampit
184
- validate: -> throw new Error 'Composed factory must override the validate method'
185
- validate_each: -> throw new Error 'Composed factory must override the validate each method'
186
-
187
-
188
- # TODO better stampit integration
189
- model.mix (modelable) ->
190
- jQuery.extend modelable, extensions.model
191
-
192
- jQuery.extend modelable.record, extensions.record
193
-
194
- modelable.after_mix.unshift initializers.create_validators
195
- modelable.record.after_initialize.push initializers.define_triggers
196
-
197
- model.validators = manager.validators
198
-
199
- # Globalize definitions
200
- root.validatable = validatable
201
- root.manager = manager
202
-
203
- # TODO async validator loading
204
- require './validations/confirmation'
205
- require './validations/associated'
206
- require './validations/presence'
207
- require './validations/remote'
208
- require './validations/type'
209
- require './validations/cpf'
@@ -1,32 +0,0 @@
1
- # TODO Add base settings to validation
2
- # model = window.model
3
-
4
- # TODO implement method
5
- # model[resource].validators_on 'field' # Get all validators related to this field
6
-
7
- validations = require '../validatable'
8
- stampit = require '../../../vendor/stampit'
9
-
10
- associationable = stampit
11
- validate_each: (record, attribute, value) ->
12
- # TODO figure out why this method is being called twice
13
- if record[attribute]
14
-
15
- # TODO detect association type, and then validate
16
- # current we only support has_one associations
17
- unless model[record.resource].has_one.indexOf(attribute) != -1
18
- throw new Error 'Only has_one associations are supported to validates_associated'
19
-
20
- associated_validation = record[attribute].validate()
21
-
22
- associated_validation.done ->
23
- if record[attribute].errors.length
24
- record.errors.add attribute, 'associated', @options
25
-
26
- associated_validation
27
-
28
-
29
- composed = stampit.compose(validations.validatable, associationable)
30
- composed.definition_key = 'validates_associated'
31
-
32
- validations.manager.validators.association = composed
@@ -1,19 +0,0 @@
1
- # TODO Add base settings to validation
2
- # model = window.model
3
-
4
- # TODO implement method
5
- # model[resource].validators_on 'field' # Get all validators related to this field
6
-
7
- validations = require '../validatable'
8
- stampit = require '../../../vendor/stampit'
9
-
10
- confirmationable = stampit
11
- validate_each: (record, attribute, value) ->
12
- if record[attribute] != record["#{attribute}_confirmation"]
13
- record.errors.add "#{attribute}_confirmation", 'confirmation', @options
14
-
15
-
16
- composed = stampit.compose(validations.validatable, confirmationable)
17
- composed.definition_key = 'validates_confirmation_of'
18
-
19
- validations.manager.validators.confirmation = composed
@@ -1,58 +0,0 @@
1
- # TODO Add base settings to validation
2
- # model = window.model
3
-
4
- # TODO implement method
5
- # model[resource].validators_on 'field' # Get all validators related to this field
6
-
7
- validations = require '../validatable'
8
- stampit = require '../../../vendor/stampit'
9
-
10
- cpfable = stampit
11
- validate_format: (value) ->
12
- value = value.replace /[\.\-]/g, ""
13
-
14
- # Wrong cpf size
15
- return false if value.length < 11
16
-
17
- # Dummy but valid values (000.000.000-00, 111.111.111-11, ...)
18
- return false if value.match /^(0+|1+|2+|3+|4+|5+|6+|7+|8+|9+)$/
19
-
20
- # Mod 11 validation
21
- c = value.substr 0, 9
22
- dv = value.substr 9, 2
23
- d1 = 0
24
- v = false
25
- i = 0
26
-
27
- for i in [1..9]
28
- d1 += c.charAt(i) * (10 - i)
29
-
30
- return false if d1 == 0
31
-
32
- d1 = 11 - (d1 % 11)
33
- d1 = 0 if (d1 > 9 )
34
-
35
- return false if +dv.charAt 0 != d1
36
-
37
- d1 *= 2
38
- for i in [1..9]
39
- d1 += c.charAt(i) * (11 - i)
40
-
41
-
42
- d1 = 11 - (d1 % 11)
43
- d1 = 0 if (d1 > 9 )
44
-
45
- return false if +dv.charAt(1) != d1
46
-
47
- true
48
-
49
-
50
- validate_each: (record, attribute, value) ->
51
- record.errors.add attribute, 'cpf', @options if value and not @validate_format value
52
-
53
-
54
-
55
-
56
- composed = stampit.compose validations.validatable, cpfable
57
- composed.definition_key = 'validates_cpf_format'
58
- validations.manager.validators.cpf = composed
@@ -1,19 +0,0 @@
1
- # TODO Add base settings to validation
2
- # model = window.model
3
-
4
- # TODO implement method
5
- # model[resource].validators_on 'field' # Get all validators related to this field
6
-
7
- validations = require '../validatable'
8
- stampit = require '../../../vendor/stampit'
9
-
10
- presenceable = stampit
11
- validate_each: (record, attribute, value) ->
12
- if value == null or value == '' or value == undefined
13
- record.errors.add attribute, 'blank', @options
14
-
15
-
16
- composed = stampit.compose(validations.validatable, presenceable)
17
- composed.definition_key = 'validates_presence_of'
18
-
19
- validations.manager.validators.presence = composed
@@ -1,65 +0,0 @@
1
- # TODO Add base settings to validation
2
- # model = window.model
3
-
4
- # TODO implement method
5
- # model[resource].validators_on 'field' # Get all validators related to this field
6
-
7
- root = exports ? window
8
-
9
- validations = require '../validatable'
10
- rest = require '../rest'
11
- stampit = require '../../../vendor/stampit'
12
-
13
- remoteable = stampit
14
- validate_each: (record, attribute, value) ->
15
- data = @json record
16
-
17
- # TODO best partial application
18
- # @post(data).done(_.partial @succeeded, record)
19
- @post(data).done((json) => @succeeded(json, record))
20
-
21
- json: (record) ->
22
- param = @resource.param_name || @resource.toString()
23
-
24
- data = {}
25
- data[param] = record.json()
26
-
27
- # TODO stop renaming id field, lol
28
- data[param].id ||= data[param]._id
29
- delete data[param]._id
30
-
31
- data
32
-
33
- # TODO Use rest.post
34
- post: (data) ->
35
-
36
- jQuery.ajax
37
- url : @route
38
- data : data
39
- type : 'post'
40
- dataType: 'json'
41
- context : @
42
-
43
- succeeded: (json, record) ->
44
- error_messages = json[@attribute_name]
45
-
46
- return unless error_messages
47
-
48
- for error_message in error_messages
49
- record.errors.add @attribute_name, 'server', server_message: error_message
50
- ,
51
- message: "Remote validation failed"
52
- route: null
53
- , ->
54
- # TODO discover why @model.route is coming null!
55
- # Desglobalize model constant
56
- pluralized_resource = model.pluralize @model.resource.toString()
57
- @resource = @model.resource
58
- @route ||= "/#{pluralized_resource}/validate"
59
- @
60
-
61
-
62
- composed = stampit.compose(validations.validatable, remoteable)
63
- composed.definition_key = 'validates_remotely'
64
-
65
- validations.manager.validators.remote = composed
@@ -1,32 +0,0 @@
1
- # TODO Add base settings to validation
2
- # model = window.model
3
-
4
- # TODO implement method
5
- # model[resource].validators_on 'field' # Get all validators related to this field
6
-
7
- validations = require '../validatable'
8
- stampit = require '../../../vendor/stampit'
9
-
10
- typeable = stampit
11
- validate_each: (record, attribute, value) ->
12
- # TODO store type on validator instantiation
13
- @type ||= model[record.resource.toString()][attribute]
14
-
15
- if value
16
-
17
- if value instanceof @type
18
-
19
- # TODO store type_name on costructor
20
- @type_name ||= @type.name
21
-
22
- unless value.valid # Will trigger validation
23
- record.errors.add attribute, 'type', type_name: @type_name?
24
-
25
- else
26
- throw new Error "Invalid attribute value type! Found #{typeof value} expected #{@type.name}"
27
-
28
-
29
- composed = stampit.compose(validations.validatable, typeable)
30
- composed.definition_key = 'validates_type_of'
31
-
32
- validations.manager.validators.type = composed
@@ -1,123 +0,0 @@
1
- $ = require 'jquery'
2
- type = require 'type'
3
- bind = require 'bind'
4
- observable = require('observable').mixin
5
- advisable = require('advisable' ).mixin
6
- extend = require 'assimilate'
7
- merge = require('assimilate').withStrategy 'deep'
8
-
9
- # TODO support other type of associations
10
- @model = do -> # mixin
11
- modelable =
12
- after_mix: []
13
- record:
14
- # TODO usar deferred
15
- after_initialize: []
16
- all: ->
17
- # TODO transform model in a array like object and store cache in root
18
- @cache
19
- # TODO better find support
20
- create: (params...) ->
21
- # Implementat non restful model creation
22
- throw 'model.create not implemented yet, try using the restful.model.create method'
23
- find: (id) ->
24
- @where id: id, true
25
- where: (conditions, first = false) ->
26
- results = []
27
- conditions.id = [conditions.id] if type(conditions.id) != 'array'
28
- # TODO transform model in a array like object and store cache in root
29
- for record in @cache when conditions.id.indexOf(record._id) isnt -1
30
- if first
31
- return record
32
- else
33
- results.push record
34
-
35
- if first then null else results
36
-
37
- initialize_record = (data = {resource: @resource, parent_resource: @parent_resource}) ->
38
- data.resource ||= @resource
39
- data.parent_resource ||= @resource.parent || @parent_resource
40
- data.route ||= @route
41
- data.nested_attributes = @nested_attributes || []
42
-
43
-
44
- # instance = record.call extend data, @record # TODO remove @record from outside scop
45
- after_initialize = (data.after_initialize || []).concat(@record.after_initialize)
46
- instance = record.call extend Object.create(data), @record, after_initialize: after_initialize # TODO remove @record from outside scope
47
-
48
- # Call and remove used callbacks
49
- callback.call instance, instance for callback in instance.after_initialize
50
- delete instance.after_initialize
51
-
52
- instance
53
-
54
-
55
- # Create model
56
- mixer = (options) ->
57
- throw 'Model mixin called incorrectly call with model.call {} instead of model({})' if @ == window
58
- mixer.stale = true unless mixer.stale # Prevent model changes
59
-
60
- # TODO Use stampit and solve this mess!!
61
- if @record and @record.after_initialize
62
- after_initialize = @record.after_initialize.splice 0
63
- else
64
- after_initialize = []
65
-
66
- instance = bind @, initialize_record
67
-
68
- extend instance, merge @, modelable
69
-
70
- @record = instance.record = merge {}, instance.record, modelable.record
71
- @record.after_initialize = instance.record.after_initialize = instance.record.after_initialize.concat after_initialize
72
-
73
-
74
- callback.call instance, instance for callback in modelable.after_mix
75
-
76
- # Store model for later use
77
-
78
- # TODO implement correctly stampit usage, and remove the need for
79
- # direct storage
80
- mixer[@resource.name || @resource.toString()] = instance
81
-
82
- mixer.mix = (blender) ->
83
- throw "Trying to change model mixin with #{object} but model already used.\nCheck your configuration order" if @stale
84
-
85
- blender modelable
86
-
87
- # window.model
88
- mixer
89
-
90
- @record = do -> # mixin
91
-
92
- callbacks =
93
- # TODO search for a existing word and rename method, 'smudge' perhaps?
94
- dirtify: ->
95
- # TODO add suport to subscribe to any property
96
- # @subscribe (prop, value, old) ->
97
- # if prop isnt 'dirty' and not @dirty and value isnt old
98
- # console.groupCollapsed "◉ Property '#{prop}' dirtied a #{@resource}"
99
- # console.log old, "→", value
100
- # console.log @
101
- # console.groupEnd()
102
- # @dirty = true
103
-
104
- recordable =
105
- # TODO usar deferred
106
- dirty: false
107
- after_initialize: [ callbacks.dirtify ]
108
-
109
- that = (data) ->
110
- throw "Mixin called incorrectly, call mixin with call method: record.call(object, data)" if @ == window
111
-
112
- data ||= {}
113
- after_initialize = (@after_initialize || []).concat(data.after_initialize || []).concat(recordable.after_initialize)
114
- advisable observable(extend(@, recordable, data, after_initialize: after_initialize))
115
-
116
-
117
- that.mix = (blender) ->
118
- blender recordable
119
-
120
- that
121
-
122
- exports.record = @record
123
- exports.model = @model
@@ -1,63 +0,0 @@
1
- root = exports ? window
2
-
3
- require 'indemma/lib/record/associable'
4
-
5
- describe 'record', ->
6
- record = root.record
7
-
8
- it 'should create a record'
9
-
10
- describe 'model', ->
11
- model = root.model
12
- person = corporation = null
13
-
14
- beforeEach ->
15
- corporation = model.call
16
- resource: 'corporation'
17
-
18
- # TODO implement support for self referential associations
19
- friend = model.call
20
- resource: 'friends'
21
-
22
- person = model.call
23
- resource : 'person'
24
- has_many : 'friends'
25
- belongs_to: 'corporation'
26
-
27
- describe 'belongs_to', ->
28
-
29
- it 'should add builded object to association named attribute', ->
30
- arthur = person
31
- name: 'Arthur Dent'
32
-
33
- corporation = arthur.build_corporation()
34
- arthur.should.have.property 'corporation'
35
- expect(corporation).to.be.ok
36
-
37
- describe 'has_many', ->
38
-
39
- it 'should return a record factory with associations stored', ->
40
- person.has_many.should.be.array
41
-
42
- has_many = Array.prototype.splice.call person.has_many, 0
43
-
44
- has_many.should.contain 'friends'
45
-
46
- describe '#()', ->
47
-
48
- it 'should return a record with an association object', ->
49
- person().should.have.property 'friends'
50
-
51
- describe '{generated_association}', ->
52
- association = null
53
-
54
- beforeEach -> association = person().friends
55
-
56
- it 'should have query methods', ->
57
- association.should.have.property 'all'
58
- association.should.have.property 'each'
59
- association.should.have.property 'reload'
60
-
61
- describe '#all', ->
62
-
63
- it 'should auto observe nested associations attributes'
@@ -1,64 +0,0 @@
1
- require 'indemma/lib/record/restfulable'
2
- require 'indemma/lib/record/resource'
3
-
4
- root = exports ? window
5
-
6
- model = root.model # TODO model = require 'indemma/model'
7
- record = root.record # TODO model = require 'indemma/record'
8
- jQuery = require 'component-jquery'
9
-
10
- describe 'resource', ->
11
-
12
- describe 'with scope option', ->
13
- person = towel = null
14
-
15
- beforeEach ->
16
- person = model.call
17
- resource: 'person'
18
-
19
- towel = model.call
20
- resource:
21
- name: 'towel'
22
- scope: 'users'
23
-
24
-
25
- it 'should be prefixed with scope', ->
26
- towel. route.should.be.eq '/users/towels'
27
- towel( { } ).route.should.be.eq '/users/towels'
28
- towel(id: 1).route.should.be.eq '/users/towels'
29
-
30
-
31
- describe 'with singular resource', ->
32
- towel = null
33
-
34
- beforeEach ->
35
- towel = model.call
36
- resource:
37
- name: 'towel'
38
- singular: true
39
-
40
- deferred = jQuery.Deferred()
41
- deferred.resolveWith towel(name: 'Arthur'), [_id: 1]
42
- sinon.stub(jQuery, "ajax").returns(deferred)
43
- promises = towel.create {name: 'Arthur'}, {name: 'Ford'}
44
-
45
- afterEach -> jQuery.ajax.restore()
46
-
47
- it 'the route should be in singular form', ->
48
- towel. route.should.be.eq '/towel'
49
- towel( { } ).route.should.be.eq '/towel'
50
- towel(id: 1).route.should.be.eq '/towel'
51
-
52
-
53
- describe 'when included', ->
54
- xit 'sets the resource loaded flag on model', ->
55
- # model.resource.should.be.true
56
-
57
- describe 'model' , ->
58
- it 'add methods to model object'
59
-
60
- describe '#pluralize', ->
61
- xit 'transforms word into plural form'
62
-
63
- describe '#singularize', ->
64
- xit 'transforms word into singular form'