ende 0.5.0 → 0.5.1
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.
- checksums.yaml +4 -4
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/build/build.css +112 -0
- data/build/build.js +36465 -0
- data/component.json +11 -15
- data/components/chaijs/assertion-error/1.0.0/component.json +18 -0
- data/components/chaijs/chai/1.9.1/.gitignore +22 -0
- data/components/chaijs/chai/1.9.1/.mailmap +1 -0
- data/components/chaijs/chai/1.9.1/.npmignore +14 -0
- data/components/chaijs/chai/1.9.1/.travis.yml +14 -0
- data/components/chaijs/chai/1.9.1/CONTRIBUTING.md +173 -0
- data/components/chaijs/chai/1.9.1/History.md +895 -0
- data/components/chaijs/chai/1.9.1/Makefile +93 -0
- data/components/chaijs/chai/1.9.1/README.md +99 -0
- data/components/chaijs/chai/1.9.1/ReleaseNotes.md +482 -0
- data/components/chaijs/chai/1.9.1/bower.json +27 -0
- data/components/chaijs/chai/1.9.1/chai.js +4782 -0
- data/components/chaijs/chai/1.9.1/component.json +50 -0
- data/components/chaijs/chai/1.9.1/karma.conf.js +28 -0
- data/components/chaijs/chai/1.9.1/karma.sauce.js +41 -0
- data/components/chaijs/chai/1.9.1/lib/chai/assertion.js +130 -0
- data/components/chaijs/chai/1.9.1/lib/chai/config.js +50 -0
- data/components/chaijs/chai/1.9.1/lib/chai/core/assertions.js +1314 -0
- data/components/chaijs/chai/1.9.1/lib/chai/interface/assert.js +1056 -0
- data/components/chaijs/chai/1.9.1/lib/chai/interface/expect.js +12 -0
- data/components/chaijs/chai/1.9.1/lib/chai/interface/should.js +78 -0
- data/components/chaijs/chai/1.9.1/lib/chai/utils/addChainableMethod.js +111 -0
- data/components/chaijs/chai/1.9.1/lib/chai/utils/addMethod.js +43 -0
- data/components/chaijs/chai/1.9.1/lib/chai/utils/addProperty.js +40 -0
- data/components/chaijs/chai/1.9.1/lib/chai/utils/flag.js +32 -0
- data/components/chaijs/chai/1.9.1/lib/chai/utils/getActual.js +18 -0
- data/components/chaijs/chai/1.9.1/lib/chai/utils/getEnumerableProperties.js +25 -0
- data/components/chaijs/chai/1.9.1/lib/chai/utils/getMessage.js +49 -0
- data/components/chaijs/chai/1.9.1/lib/chai/utils/getName.js +20 -0
- data/components/chaijs/chai/1.9.1/lib/chai/utils/getPathValue.js +102 -0
- data/components/chaijs/chai/1.9.1/lib/chai/utils/getProperties.js +35 -0
- data/components/chaijs/chai/1.9.1/lib/chai/utils/index.js +114 -0
- data/components/chaijs/chai/1.9.1/lib/chai/utils/objDisplay.js +49 -0
- data/components/chaijs/chai/1.9.1/lib/chai/utils/overwriteChainableMethod.js +53 -0
- data/components/chaijs/chai/1.9.1/lib/chai/utils/overwriteMethod.js +51 -0
- data/components/chaijs/chai/1.9.1/lib/chai/utils/overwriteProperty.js +54 -0
- data/components/chaijs/chai/1.9.1/lib/chai/utils/test.js +26 -0
- data/components/chaijs/chai/1.9.1/lib/chai/utils/transferFlags.js +44 -0
- data/components/chaijs/chai/1.9.1/lib/chai/utils/type.js +45 -0
- data/components/chaijs/chai/1.9.1/lib/chai.js +87 -0
- data/components/chaijs/chai/1.9.1/package.json +42 -0
- data/components/chaijs/chai/1.9.1/sauce.browsers.js +128 -0
- data/components/chaijs/chai/1.9.1/support/sauce/sauce_connect_block.sh +7 -0
- data/components/chaijs/chai/1.9.1/support/sauce/sauce_connect_setup.sh +53 -0
- data/components/chaijs/chai/1.9.1/test/assert.js +638 -0
- data/components/chaijs/chai/1.9.1/test/bootstrap/index.js +22 -0
- data/components/chaijs/chai/1.9.1/test/bootstrap/karma.js +22 -0
- data/components/chaijs/chai/1.9.1/test/configuration.js +133 -0
- data/components/chaijs/chai/1.9.1/test/display/errors.js +14 -0
- data/components/chaijs/chai/1.9.1/test/display/message.js +47 -0
- data/components/chaijs/chai/1.9.1/test/expect.js +814 -0
- data/components/chaijs/chai/1.9.1/test/globalShould.js +15 -0
- data/components/chaijs/chai/1.9.1/test/plugins.js +24 -0
- data/components/chaijs/chai/1.9.1/test/should.js +744 -0
- data/components/chaijs/chai/1.9.1/test/utilities.js +309 -0
- data/components/chaijs/deep-eql/0.1.3/component.json +20 -0
- data/components/chaijs/deep-eql/0.1.3/lib/eql.js +257 -0
- data/components/chaijs/type-detect/0.1.1/component.json +18 -0
- data/components/chaijs/type-detect/0.1.1/lib/type.js +142 -0
- data/{vendor/components/indefinido-indemma/components/component-bind → components/component/bind/0.0.1}/component.json +1 -1
- data/{vendor/components/component-classes → components/component/classes/1.1.2}/component.json +1 -1
- data/components/component/classes/1.2.1/component.json +19 -0
- data/components/component/classes/1.2.1/index.js +184 -0
- data/{vendor/components/component-css → components/component/css/0.0.2}/component.json +2 -2
- data/{vendor/components/component-delegate → components/component/delegate/0.1.0}/component.json +2 -2
- data/components/component/dialog/0.2.0/component.json +35 -0
- data/{vendor/components/component-dialog → components/component/dialog/0.2.0}/index.js +74 -40
- data/components/component/dialog/0.2.0/template.html +9 -0
- data/{vendor/components/component-dom → components/component/dom/0.7.1}/component.json +6 -4
- data/{vendor/components/component-domify → components/component/domify/1.0.0}/component.json +6 -4
- data/components/component/domify/1.2.2/component.json +22 -0
- data/components/component/domify/1.2.2/index.js +87 -0
- data/{vendor/components/component-emitter → components/component/emitter/1.0.0}/component.json +1 -1
- data/{vendor/components/component-event → components/component/event/0.1.0}/component.json +3 -3
- data/components/component/event/0.1.0/index.js +40 -0
- data/components/component/event/0.1.3/component.json +13 -0
- data/{vendor/components/component-event → components/component/event/0.1.3}/index.js +3 -5
- data/{vendor/components/component-indexof → components/component/indexof/0.0.1}/component.json +1 -1
- data/{vendor/components/indefinido-indemma/components/component-jquery → components/component/jquery/1.9.1}/component.json +1 -1
- data/{vendor/components/component-matches-selector → components/component/matches-selector/0.1.2}/component.json +6 -4
- data/{vendor/components/component-overlay → components/component/overlay/0.1.1}/component.json +1 -1
- data/{vendor/components/component-query → components/component/query/0.0.1}/component.json +6 -4
- data/components/component/query/0.0.3/component.json +23 -0
- data/components/component/query/0.0.3/index.js +21 -0
- data/{vendor/components/component-querystring → components/component/querystring/1.3.0}/component.json +4 -3
- data/{vendor/components/component-querystring → components/component/querystring/1.3.0}/index.js +26 -2
- data/{vendor/components/component-sort → components/component/sort/0.0.3}/component.json +2 -2
- data/{vendor/components/component-trim → components/component/trim/0.0.1}/component.json +1 -1
- data/{vendor/components/indefinido-indemma/components/component-type → components/component/type/1.0.0}/component.json +4 -2
- data/{vendor/components/component-value → components/component/value/1.1.0}/component.json +6 -4
- data/{vendor/components/components-modernizr → components/components/modernizr/2.6.2}/component.json +2 -3
- data/{vendor/components/indefinido-indemma/components/indefinido-advisable → components/indefinido/advisable/master}/component.json +2 -2
- data/components/indefinido/indemma/master/History.md +0 -0
- data/components/indefinido/indemma/master/build/build.js +26288 -0
- data/components/indefinido/indemma/master/build/development.js +22200 -0
- data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/build/release.js +264 -273
- data/components/indefinido/indemma/master/build/test.js +22200 -0
- data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/component.json +6 -6
- data/components/indefinido/indemma/master/components/chaijs-assertion-error/index.js +110 -0
- data/components/indefinido/indemma/master/components/chaijs-chai/index.js +1 -0
- data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/inspect.js +320 -0
- data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/lib/record/associable.js +2 -14
- data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/lib/record/rest.js +2 -7
- data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/lib/record/restfulable.js +9 -33
- data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/lib/record/scopable.js +45 -16
- data/components/indefinido/indemma/master/lib/record/validatable.js +1100 -0
- data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/spec/record/associable_spec.js +2 -3
- data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/spec/record/scopable_spec.js +53 -83
- data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/spec/record/validations/cpf_spec.js +6 -5
- data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/lib/record/associable.coffee +0 -6
- data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/lib/record/persistable.coffee +0 -2
- data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/lib/record/queryable.coffee +2 -1
- data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/lib/record/resource.coffee +2 -3
- data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/lib/record/rest.coffee +1 -7
- data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/lib/record/restfulable.coffee +8 -34
- data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/lib/record/scopable.coffee +31 -32
- data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/lib/record/validatable.coffee +1 -12
- data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/spec/record/associable_spec.coffee +2 -3
- data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/spec/record/scopable_spec.coffee +43 -76
- data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/spec/record/validations/cpf_spec.coffee +4 -3
- data/{vendor/components/mikeric-rivets → components/mikeric/rivets/v0.5.12}/component.json +2 -2
- data/{vendor/components/paulmillr-es6-shim → components/paulmillr/es6-shim/0.10.1}/component.json +11 -4
- data/components/paulmillr/es6-shim/0.10.1/es6-shim.js +1833 -0
- data/{vendor/components/pluma-assimilate → components/pluma/assimilate/0.3.0}/component.json +3 -3
- data/{vendor/components/segmentio-extend → components/segmentio/extend/1.0.0}/component.json +3 -3
- data/lib/assets/javascripts/aura/extensions/models.js.coffee.erb +14 -14
- data/lib/assets/javascripts/aura/extensions/rivets/accounting.js.coffee +1 -1
- data/lib/assets/javascripts/aura/extensions/rivets.js.coffee +3 -3
- data/lib/assets/javascripts/aura/extensions/stamps/stampit.js +568 -242
- data/lib/assets/javascripts/aura/extensions/widget/#composable.js.coffee# +135 -0
- data/lib/assets/javascripts/aura/extensions/widget/composable.js.coffee +2 -2
- data/lib/assets/javascripts/config/load_components.js.coffee +10 -10
- data/lib/assets/javascripts/ende.js.coffee +21 -18
- data/lib/assets/javascripts/widgets/support/adapters/olark.js +1 -4
- data/lib/assets/javascripts/widgets/viewer/main.js.coffee +8 -4
- data/lib/assets/javascripts/widgets/viewer/plugins/scopable.js.coffee +6 -7
- data/lib/ende/version.rb +1 -1
- data/vendor/assets/components/build.css +4 -3
- data/vendor/assets/components/ende_build.js +29772 -21943
- metadata +284 -217
- data/vendor/components/KapIT-observe-utils/component.json +0 -16
- data/vendor/components/KapIT-observe-utils/lib/observe-utils.js +0 -780
- data/vendor/components/component-dialog/component.json +0 -23
- data/vendor/components/component-dialog/template.js +0 -1
- data/vendor/components/indefinido-indemma/build/development.js +0 -343
- data/vendor/components/indefinido-indemma/build/test.js +0 -343
- data/vendor/components/indefinido-indemma/lib/record/validatable.js +0 -224
- data/vendor/components/indefinido-observable/component.json +0 -24
- data/vendor/components/indefinido-observable/index.js +0 -1
- data/vendor/components/indefinido-observable/lib/adapters/rivets.js +0 -28
- data/vendor/components/indefinido-observable/lib/observable.js +0 -390
- data/vendor/components/indefinido-observable/vendor/shims/accessors-legacy.js +0 -92
- data/vendor/components/indefinido-observable/vendor/shims/accessors.js +0 -248
- data/vendor/components/indefinido-observable/vendor/shims/array.indexOf.js +0 -8
- data/vendor/components/indefinido-observable/vendor/shims/object.create.js +0 -77
- data/vendor/components/paulmillr-es6-shim/es6-shim.js +0 -996
- /data/{vendor/components/indefinido-indemma/components/chaijs-assertion-error → components/chaijs/assertion-error/1.0.0}/index.js +0 -0
- /data/{vendor/components/indefinido-indemma/components/chaijs-chai → components/chaijs/chai/1.9.1}/index.js +0 -0
- /data/{vendor/components/indefinido-indemma/components/chaijs-chai → components/chaijs/chai/1.9.1}/lib/chai/utils/inspect.js +0 -0
- /data/{vendor/components/indefinido-indemma/History.md → components/chaijs/chai/1.9.1/test/auth/.gitkeep} +0 -0
- /data/{vendor/components/component-bind → components/component/bind/0.0.1}/index.js +0 -0
- /data/{vendor/components/component-classes → components/component/classes/1.1.2}/index.js +0 -0
- /data/{vendor/components/component-css → components/component/css/0.0.2}/index.js +0 -0
- /data/{vendor/components/component-delegate → components/component/delegate/0.1.0}/index.js +0 -0
- /data/{vendor/components/component-dialog → components/component/dialog/0.2.0}/dialog.css +0 -0
- /data/{vendor/components/component-dom → components/component/dom/0.7.1}/index.js +0 -0
- /data/{vendor/components/component-domify → components/component/domify/1.0.0}/index.js +0 -0
- /data/{vendor/components/component-emitter → components/component/emitter/1.0.0}/index.js +0 -0
- /data/{vendor/components/component-indexof → components/component/indexof/0.0.1}/index.js +0 -0
- /data/{vendor/components/component-jquery → components/component/jquery/1.9.1}/index.js +0 -0
- /data/{vendor/components/component-matches-selector → components/component/matches-selector/0.1.2}/index.js +0 -0
- /data/{vendor/components/component-overlay → components/component/overlay/0.1.1}/index.js +0 -0
- /data/{vendor/components/component-overlay → components/component/overlay/0.1.1}/overlay.css +0 -0
- /data/{vendor/components/component-overlay → components/component/overlay/0.1.1}/template.js +0 -0
- /data/{vendor/components/component-query → components/component/query/0.0.1}/index.js +0 -0
- /data/{vendor/components/component-sort → components/component/sort/0.0.3}/index.js +0 -0
- /data/{vendor/components/component-trim → components/component/trim/0.0.1}/index.js +0 -0
- /data/{vendor/components/component-type → components/component/type/1.0.0}/index.js +0 -0
- /data/{vendor/components/component-value → components/component/value/1.1.0}/index.js +0 -0
- /data/{vendor/components/components-modernizr → components/components/modernizr/2.6.2}/modernizr.js +0 -0
- /data/{vendor/components/indefinido-advisable → components/indefinido/advisable/master}/index.js +0 -0
- /data/{vendor/components/indefinido-advisable → components/indefinido/advisable/master}/lib/advisable.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/.gitignore +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/.ruby-gemset +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/.ruby-version +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/Gemfile +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/Guardfile +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/Readme.md +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-assertion-error/component.json +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/component.json +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/assertion.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/core/assertions.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/interface/assert.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/interface/expect.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/interface/should.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/utils/addChainableMethod.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/utils/addMethod.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/utils/addProperty.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/utils/eql.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/utils/flag.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/utils/getActual.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/utils/getEnumerableProperties.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/utils/getMessage.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/utils/getName.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/utils/getPathValue.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/utils/getProperties.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/utils/index.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/utils/objDisplay.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/utils/overwriteMethod.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/utils/overwriteProperty.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/utils/test.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/utils/transferFlags.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai/utils/type.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/chaijs-chai/lib/chai.js +0 -0
- /data/{vendor → components/indefinido/indemma/master}/components/component-bind/component.json +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/component-bind/index.js +0 -0
- /data/{vendor → components/indefinido/indemma/master}/components/component-jquery/component.json +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/component-jquery/index.js +0 -0
- /data/{vendor → components/indefinido/indemma/master}/components/component-type/component.json +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/component-type/index.js +0 -0
- /data/{vendor → components/indefinido/indemma/master}/components/indefinido-advisable/component.json +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/indefinido-advisable/index.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/indefinido-advisable/lib/advisable.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/indefinido-observable/component.json +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/indefinido-observable/components/cjohansen-sinon/sinon.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/indefinido-observable/index.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/indefinido-observable/lib/adapters/rivets.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/indefinido-observable/lib/observable.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/indefinido-observable/vendor/shims/accessors-legacy.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/indefinido-observable/vendor/shims/accessors.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/indefinido-observable/vendor/shims/array.indexOf.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/indefinido-observable/vendor/shims/object.create.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/kapit-observe-utils/component.json +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/paulmillr-es6-shim/component.json +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/paulmillr-es6-shim/es6-shim.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/pluma-assimilate/component.json +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/components/pluma-assimilate/dist/assimilate.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/index.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/karma.conf.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/lib/extensions/rivets.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/lib/record/errors.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/lib/record/maid.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/lib/record/persistable.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/lib/record/queryable.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/lib/record/resource.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/lib/record/storable.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/lib/record/translationable.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/lib/record/validations/associated.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/lib/record/validations/confirmation.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/lib/record/validations/cpf.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/lib/record/validations/presence.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/lib/record/validations/remote.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/lib/record/validations/type.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/lib/record/validations/validatorable.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/lib/record.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/package.json +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/spec/record/persistable_spec.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/spec/record/queryable_spec.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/spec/record/resource_spec.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/spec/record/rest_spec.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/spec/record/restfulable_spec.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/spec/record/storable_spec.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/spec/record/translationable.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/spec/record/validatable_spec.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/spec/record/validations/associated_spec.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/spec/record/validations/confirmation_spec.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/spec/record/validations/presence_spec.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/spec/record/validations/remote_spec.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/spec/record/validations/type_spec.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/spec/record_spec.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/spec/spec_helper.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/spec/support/value_objects/phone.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/lib/extensions/rivets.coffee +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/lib/record/errors.coffee +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/lib/record/maid.coffee +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/lib/record/storable.coffee +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/lib/record/translationable.coffee +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/lib/record/validations/associated.coffee +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/lib/record/validations/confirmation.coffee +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/lib/record/validations/cpf.coffee +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/lib/record/validations/presence.coffee +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/lib/record/validations/remote.coffee +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/lib/record/validations/type.coffee +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/lib/record/validations/validatorable.coffee +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/lib/record.coffee +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/spec/record/persistable_spec.coffee +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/spec/record/queryable_spec.coffee +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/spec/record/resource_spec.coffee +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/spec/record/rest_spec.coffee +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/spec/record/restfulable_spec.coffee +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/spec/record/storable_spec.coffee +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/spec/record/translationable.coffee +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/spec/record/validatable_spec.coffee +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/spec/record/validations/associated_spec.coffee +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/spec/record/validations/confirmation_spec.coffee +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/spec/record/validations/presence_spec.coffee +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/spec/record/validations/remote_spec.coffee +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/spec/record/validations/type_spec.coffee +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/spec/record_spec.coffee +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/spec/spec_helper.coffee +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/src/spec/support/value_objects/phone.coffee +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/vendor/object/mixin.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/vendor/owl/pluralize.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/vendor/sinon.js +0 -0
- /data/{vendor/components/indefinido-indemma → components/indefinido/indemma/master}/vendor/stampit.js +0 -0
- /data/{vendor/components/mikeric-rivets → components/mikeric/rivets/v0.5.12}/dist/rivets.js +0 -0
- /data/{vendor/components/pluma-assimilate → components/pluma/assimilate/0.3.0}/dist/assimilate.js +0 -0
- /data/{vendor/components/segmentio-extend → components/segmentio/extend/1.0.0}/index.js +0 -0
@@ -124,12 +124,11 @@ describe('model', function() {
|
|
124
124
|
return association = person().friends;
|
125
125
|
});
|
126
126
|
it('should have query methods', function() {
|
127
|
-
association.should.have.property('
|
128
|
-
association.should.have.property('find');
|
127
|
+
association.should.have.property('all');
|
129
128
|
association.should.have.property('each');
|
130
129
|
return association.should.have.property('reload');
|
131
130
|
});
|
132
|
-
return describe('#
|
131
|
+
return describe('#all', function() {
|
133
132
|
return it('should auto observe nested associations attributes');
|
134
133
|
});
|
135
134
|
});
|
@@ -20,8 +20,11 @@ describe('scopable', function() {
|
|
20
20
|
});
|
21
21
|
return describe('model', function() {
|
22
22
|
return describe('#(options)', function() {
|
23
|
+
var person;
|
24
|
+
|
25
|
+
person = null;
|
23
26
|
beforeEach(function() {
|
24
|
-
return
|
27
|
+
return person = model.call({
|
25
28
|
$hetero: true,
|
26
29
|
$by_type: [],
|
27
30
|
$by_name: String,
|
@@ -29,14 +32,14 @@ describe('scopable', function() {
|
|
29
32
|
});
|
30
33
|
});
|
31
34
|
it('should add scope methods to model', function() {
|
32
|
-
return
|
35
|
+
return person.none.should.be["function"];
|
33
36
|
});
|
34
37
|
it('should generate scope methods based on model definition', function() {
|
35
|
-
return
|
38
|
+
return person.hetero.should.be["function"];
|
36
39
|
});
|
37
40
|
describe('#none', function() {
|
38
41
|
return it('should return empty response on fetch calls', function(done) {
|
39
|
-
return
|
42
|
+
return person.none().fetch(null, function(people) {
|
40
43
|
people.length.should.be.empty;
|
41
44
|
return done();
|
42
45
|
});
|
@@ -45,22 +48,28 @@ describe('scopable', function() {
|
|
45
48
|
describe('scope', function() {
|
46
49
|
return describe('#(name, type)', function() {
|
47
50
|
return it('should add scope methods to model', function() {
|
48
|
-
|
49
|
-
return
|
51
|
+
person.scope('bissexual', Boolean);
|
52
|
+
return person.bissexual.should.be["function"];
|
50
53
|
});
|
51
54
|
});
|
52
55
|
});
|
53
56
|
return describe('#{generated_scope}', function() {
|
57
|
+
var deferred;
|
58
|
+
|
59
|
+
deferred = null;
|
54
60
|
beforeEach(function() {
|
55
|
-
|
56
|
-
sinon.stub(jQuery, "ajax").returns(
|
57
|
-
return
|
61
|
+
deferred = jQuery.Deferred();
|
62
|
+
sinon.stub(jQuery, "ajax").returns(deferred);
|
63
|
+
return person.scope.clear();
|
58
64
|
});
|
59
65
|
afterEach(function() {
|
60
66
|
return jQuery.ajax.restore();
|
61
67
|
});
|
62
|
-
describe('#
|
63
|
-
|
68
|
+
describe('#all', function() {
|
69
|
+
var promises;
|
70
|
+
|
71
|
+
deferred = promises = person = null;
|
72
|
+
return it('should return models when promise is resolved', function(done) {
|
64
73
|
var fetched;
|
65
74
|
|
66
75
|
fetched = function(people) {
|
@@ -68,8 +77,8 @@ describe('scopable', function() {
|
|
68
77
|
people[0].name.should.be.string;
|
69
78
|
return done();
|
70
79
|
};
|
71
|
-
|
72
|
-
|
80
|
+
person.every(fetched);
|
81
|
+
deferred.resolveWith(person, [
|
73
82
|
[
|
74
83
|
{
|
75
84
|
name: 'Arthur'
|
@@ -83,22 +92,22 @@ describe('scopable', function() {
|
|
83
92
|
});
|
84
93
|
describe('when string', function() {
|
85
94
|
it('should acumulate data in scope object', function() {
|
86
|
-
|
87
|
-
return
|
95
|
+
person.by_name();
|
96
|
+
return person.scope.data.by_name.should.be.a('string');
|
88
97
|
});
|
89
98
|
return it('should override data throught parameters', function() {
|
90
|
-
|
91
|
-
return
|
99
|
+
person.by_name('Ford');
|
100
|
+
return person.scope.data.by_name.should.be.eq('Ford');
|
92
101
|
});
|
93
102
|
});
|
94
103
|
describe('when array', function() {
|
95
104
|
it('should acumulate data in scope object', function() {
|
96
|
-
|
97
|
-
return
|
105
|
+
person.by_type();
|
106
|
+
return person.scope.data.by_type.should.be.a('array');
|
98
107
|
});
|
99
108
|
it('should override data throught parameters', function() {
|
100
|
-
|
101
|
-
return
|
109
|
+
person.by_type(1, 2, 3);
|
110
|
+
return person.scope.data.by_type.should.contain(1, 2, 3);
|
102
111
|
});
|
103
112
|
it('should use default value');
|
104
113
|
it('should allow scope chaining');
|
@@ -106,42 +115,45 @@ describe('scopable', function() {
|
|
106
115
|
it('should build correct url', function() {
|
107
116
|
var settings;
|
108
117
|
|
109
|
-
|
118
|
+
person.by_type(1, 3, 4).fetch();
|
110
119
|
settings = jQuery.ajax.firstCall.args[0];
|
111
120
|
settings.should.have.property('data');
|
112
121
|
settings.data.should.have.property('by_type');
|
113
122
|
return settings.data.by_type.should.include(1, 3, 4);
|
114
123
|
});
|
115
124
|
return it('should make call', function() {
|
116
|
-
|
125
|
+
person.by_type(1, 3, 4).fetch();
|
117
126
|
return jQuery.ajax.callCount.should.be.eq(1);
|
118
127
|
});
|
119
128
|
});
|
120
129
|
});
|
121
130
|
describe('when boolean', function() {
|
122
131
|
it('should acumulate data in scope object', function() {
|
123
|
-
|
124
|
-
return
|
132
|
+
person.hetero();
|
133
|
+
return person.scope.data.hetero.should.be.eq(true);
|
125
134
|
});
|
126
135
|
it('should override data throught parameters', function() {
|
127
|
-
|
128
|
-
return
|
136
|
+
person.hetero(false);
|
137
|
+
return person.scope.data.hetero.should.be.eq(false);
|
129
138
|
});
|
130
139
|
it('should allow scope chaining');
|
131
140
|
return it('should make ajax call', function() {
|
132
|
-
|
141
|
+
person.hetero().fetch();
|
133
142
|
return jQuery.ajax.callCount.should.be.eq(1);
|
134
143
|
});
|
135
144
|
});
|
136
145
|
return describe('#{generated_association}', function() {
|
137
146
|
describe('of type belongs_to', function() {
|
147
|
+
var towel;
|
148
|
+
|
149
|
+
towel = null;
|
138
150
|
beforeEach(function() {
|
139
|
-
|
151
|
+
person = model.call({
|
140
152
|
$hetero: true,
|
141
153
|
$by_type: [],
|
142
154
|
resource: 'person'
|
143
155
|
});
|
144
|
-
return
|
156
|
+
return towel = model.call({
|
145
157
|
resource: 'towel',
|
146
158
|
material: 'cotton',
|
147
159
|
belongs_to: 'person'
|
@@ -151,7 +163,7 @@ describe('scopable', function() {
|
|
151
163
|
return it('can be called on association', function() {
|
152
164
|
var soft_towel;
|
153
165
|
|
154
|
-
soft_towel =
|
166
|
+
soft_towel = towel({
|
155
167
|
material: 'silicon microfiber'
|
156
168
|
});
|
157
169
|
soft_towel.build_person();
|
@@ -160,79 +172,37 @@ describe('scopable', function() {
|
|
160
172
|
});
|
161
173
|
});
|
162
174
|
return describe('of type has_many', function() {
|
175
|
+
var arthur, towel;
|
176
|
+
|
177
|
+
arthur = towel = null;
|
163
178
|
beforeEach(function() {
|
164
|
-
|
179
|
+
person = model.call({
|
165
180
|
$hetero: true,
|
166
181
|
$by_type: [],
|
167
182
|
resource: 'person',
|
168
183
|
has_many: 'towels'
|
169
184
|
});
|
170
|
-
|
185
|
+
towel = model.call({
|
171
186
|
$by_material: [],
|
172
187
|
resource: 'towel',
|
173
188
|
material: 'cotton',
|
174
189
|
belongs_to: 'person'
|
175
190
|
});
|
176
|
-
|
191
|
+
return arthur = person({
|
177
192
|
name: 'Arthur'
|
178
193
|
});
|
179
|
-
return this.person.scope.clear();
|
180
194
|
});
|
181
195
|
return describe('#{generated_scope}', function() {
|
182
196
|
it('can be called on association', function() {
|
183
|
-
return expect(
|
197
|
+
return expect(arthur.towels).to.respondTo('by_material');
|
184
198
|
});
|
185
|
-
it('should be serializable into paramenters', function() {
|
199
|
+
return it('should be serializable into paramenters', function() {
|
186
200
|
var query_string;
|
187
201
|
|
188
|
-
|
189
|
-
query_string = decodeURIComponent(jQuery.param(
|
202
|
+
arthur.towels.by_material('cotton', 'microfiber');
|
203
|
+
query_string = decodeURIComponent(jQuery.param(arthur.towels.scope.data));
|
190
204
|
return query_string.should.be.eq('by_material[]=cotton&by_material[]=microfiber');
|
191
205
|
});
|
192
|
-
return describe('#every', function() {
|
193
|
-
it('should empty association when no models are returned', function(done) {
|
194
|
-
var fetched,
|
195
|
-
_this = this;
|
196
|
-
|
197
|
-
fetched = function(towels) {
|
198
|
-
towels.should.be.array;
|
199
|
-
towels.should.be.empty;
|
200
|
-
_this.arthur.towels.should.have.length(0);
|
201
|
-
this.should.have.length(0) ;
|
202
|
-
return done();
|
203
|
-
};
|
204
|
-
this.arthur.towels.every(fetched);
|
205
|
-
this.request.resolveWith(this.arthur.towels, [[]]);
|
206
|
-
return jQuery.ajax.callCount.should.be.eq(1);
|
207
|
-
});
|
208
|
-
return it('should update resources when already exists in association', function(done) {
|
209
|
-
var aditions, fetched,
|
210
|
-
_this = this;
|
211
|
-
|
212
|
-
aditions = this.arthur.towels.add({
|
213
|
-
_id: 1,
|
214
|
-
material: 'colan'
|
215
|
-
});
|
216
|
-
fetched = function(towels) {
|
217
|
-
towels.should.be.array;
|
218
|
-
towels.should.have.length(1);
|
219
|
-
towels[0].material.should.be.eq('cotton');
|
220
|
-
aditions[0].material.should.be.eq('cotton');
|
221
|
-
_this.arthur.towels[0].material.should.be.eq('cotton');
|
222
|
-
return done();
|
223
|
-
};
|
224
|
-
this.arthur.towels.every(fetched);
|
225
|
-
this.request.resolveWith(this.arthur.towels, [
|
226
|
-
[
|
227
|
-
{
|
228
|
-
_id: 1,
|
229
|
-
material: 'cotton'
|
230
|
-
}
|
231
|
-
]
|
232
|
-
]);
|
233
|
-
return jQuery.ajax.callCount.should.be.eq(1);
|
234
|
-
});
|
235
|
-
});
|
236
206
|
});
|
237
207
|
});
|
238
208
|
});
|
@@ -6,25 +6,26 @@ require('indemma/lib/record/validatable');
|
|
6
6
|
|
7
7
|
describe('model #() validates_cpf_format', function() {
|
8
8
|
return describe('basic usage', function() {
|
9
|
-
var model;
|
9
|
+
var model, person;
|
10
10
|
|
11
11
|
model = root.model;
|
12
|
+
person = null;
|
12
13
|
beforeEach(function() {
|
13
|
-
return
|
14
|
+
return person = model.call({
|
14
15
|
resource: 'person',
|
15
16
|
cpf: String,
|
16
17
|
validates_cpf_format: 'cpf'
|
17
18
|
});
|
18
19
|
});
|
19
20
|
afterEach(function() {
|
20
|
-
return
|
21
|
+
return person != null ? person.validators.length = 0 : void 0;
|
21
22
|
});
|
22
23
|
return describe('#validate', function() {
|
23
24
|
return it('should add error to record when fields is in invalid format', function() {
|
24
25
|
var arthur;
|
25
26
|
|
26
|
-
arthur =
|
27
|
-
cpf: '871.
|
27
|
+
arthur = person({
|
28
|
+
cpf: '871.943.417-00'
|
28
29
|
});
|
29
30
|
arthur.valid;
|
30
31
|
return arthur.errors.messages.should.have.deep.property('cpf', "O campo cpf não está válido.");
|
@@ -32,16 +32,10 @@ plural = # has_many ## TODO embeds_many
|
|
32
32
|
push : ->
|
33
33
|
console.warn "#{@resource}.push is deprecated and will be removed, please use add instead"
|
34
34
|
Array.prototype.push.apply @, arguments
|
35
|
-
arguments[0]
|
36
35
|
|
37
36
|
length : 0
|
38
37
|
json : (methods, omissions) -> record.json(methods, omissions) for record in @
|
39
38
|
|
40
|
-
find : (id) -> return resource for resource in @ when resource._id is id
|
41
|
-
|
42
|
-
# TODO better support searching
|
43
|
-
filter : Array.prototype.filter || _?.filter
|
44
|
-
|
45
39
|
|
46
40
|
singular = # belongs_to, has_one ## TODO embeds_one, embedded_in
|
47
41
|
# @ = record
|
@@ -9,7 +9,8 @@ queryable =
|
|
9
9
|
find: (key) ->
|
10
10
|
throw new TypeError "InvalidFind: resource.find was called with a falsey value" unless key
|
11
11
|
@storage.store key
|
12
|
-
every: ->
|
12
|
+
every: ->
|
13
|
+
@storage.values()
|
13
14
|
where: ->
|
14
15
|
throw new Error 'queryable.where: Not implemented yet'
|
15
16
|
|
@@ -25,7 +25,6 @@ resource = stampit
|
|
25
25
|
@
|
26
26
|
|
27
27
|
# TODO Think of a better name, and move to a composable stampit item
|
28
|
-
# TODO Externalize route generatio so we can reuse in other files
|
29
28
|
descriptors =
|
30
29
|
route:
|
31
30
|
get: ->
|
@@ -34,9 +33,9 @@ descriptors =
|
|
34
33
|
|
35
34
|
route = '/'
|
36
35
|
route += "#{@parent.route}/#{@parent._id}/" if @parent?
|
37
|
-
|
36
|
+
route += @resource.scope + '/' if @resource.scope?
|
38
37
|
|
39
|
-
|
38
|
+
route += if @resource.singular then @resource.name else model.pluralize @resource.name
|
40
39
|
|
41
40
|
@route = route
|
42
41
|
|
@@ -7,9 +7,7 @@ module.exports =
|
|
7
7
|
post : (data) -> request.call @, 'post' , @route, data
|
8
8
|
delete: (data) -> request.call @, 'delete', (if @_id then "#{@route}/#{@_id}" else @route), data
|
9
9
|
|
10
|
-
|
11
|
-
# TODO move to serialization module
|
12
|
-
data_for = (data) ->
|
10
|
+
request = (method, url, data) ->
|
13
11
|
param_name = @resource.param_name || @resource.toString()
|
14
12
|
|
15
13
|
# TODO optmize this serialization lookup
|
@@ -21,10 +19,6 @@ data_for = (data) ->
|
|
21
19
|
delete data[param_name]['id']
|
22
20
|
delete data[param_name]['_id']
|
23
21
|
|
24
|
-
data
|
25
|
-
|
26
|
-
request = (method, url, data) ->
|
27
|
-
data = data_for.call @, data
|
28
22
|
|
29
23
|
$.ajax
|
30
24
|
url : url
|
@@ -63,13 +63,7 @@ restful =
|
|
63
63
|
get: (action, data = {}) ->
|
64
64
|
# TODO better way to override route
|
65
65
|
old_route = @route
|
66
|
-
|
67
|
-
# TODO extract route generation concern
|
68
|
-
default_route = ''
|
69
|
-
default_route += @resource.scope + '/' if @resource.scope?
|
70
|
-
default_route += if @resource.singular then @resource.name else model.pluralize @resource.name
|
71
|
-
|
72
|
-
# TODO think why this code is here
|
66
|
+
default_route = "/#{model.pluralize @resource.name}"
|
73
67
|
@route = default_route unless default_route == @route
|
74
68
|
|
75
69
|
if action
|
@@ -184,19 +178,6 @@ restful =
|
|
184
178
|
@[association_name] = @["build_#{association_name}"] association_attributes if association_attributes
|
185
179
|
|
186
180
|
|
187
|
-
# Nested attributes
|
188
|
-
# TODO implement setter on belongs_to association and move this
|
189
|
-
# code there
|
190
|
-
for association_name in model[@resource.toString()].belongs_to
|
191
|
-
association_attributes = attributes[association_name]?.json?() ? attributes[association_name]
|
192
|
-
|
193
|
-
# TODO copy attributes object and don't change it inside the
|
194
|
-
# assignment method
|
195
|
-
delete attributes[association_name]
|
196
|
-
delete attributes[association_name + "_attributes"]
|
197
|
-
@[association_name] = @["build_#{association_name}"] association_attributes if association_attributes
|
198
|
-
|
199
|
-
|
200
181
|
# Assign remaining attributes
|
201
182
|
# TODO see if it is a best practice not overriding unchanged attributes
|
202
183
|
# TODO rename attributes for properties
|
@@ -342,7 +323,7 @@ restful =
|
|
342
323
|
# TODO move this to serializable module
|
343
324
|
# TODO figure out why sometimes is rendering a circular referenced json
|
344
325
|
# TODO rename to toJSON
|
345
|
-
json: (
|
326
|
+
json: (methods = {}) ->
|
346
327
|
json = {}
|
347
328
|
|
348
329
|
definition = model[@resource.toString()]
|
@@ -375,7 +356,7 @@ restful =
|
|
375
356
|
|
376
357
|
# TODO move nested attributes to model definition and
|
377
358
|
# implement toJSON there
|
378
|
-
json["#{name}_attributes"] = value.json
|
359
|
+
json["#{name}_attributes"] = value.json methods[name]
|
379
360
|
|
380
361
|
# Serialize complex type values
|
381
362
|
else if value.toJSON? || value.json?
|
@@ -385,9 +366,9 @@ restful =
|
|
385
366
|
|
386
367
|
# TODO rename json to toJSON
|
387
368
|
if value.json?
|
388
|
-
json[name] = value.json
|
369
|
+
json[name] = value.json methods[name]
|
389
370
|
else
|
390
|
-
json[name] = value.toJSON
|
371
|
+
json[name] = value.toJSON methods[name]
|
391
372
|
|
392
373
|
# It is a complex type value without serializtion support so
|
393
374
|
# we just ignore it
|
@@ -400,16 +381,9 @@ restful =
|
|
400
381
|
# Serialize primitive type values
|
401
382
|
json[name] = value
|
402
383
|
|
403
|
-
# Remove observable
|
384
|
+
# Remove observable methods and dom node properties
|
404
385
|
json = observable.unobserve json
|
405
386
|
|
406
|
-
for name, value of options.methods ? {}
|
407
|
-
method = @[name]
|
408
|
-
if typeof method == 'function'
|
409
|
-
json[name] = method()
|
410
|
-
else
|
411
|
-
json[name] = method
|
412
|
-
|
413
387
|
# TODO Store reserved words in a array
|
414
388
|
# TODO Use _.omit function
|
415
389
|
# TODO Use object.defineProperty to not need to delete this properties
|
@@ -442,7 +416,7 @@ restful =
|
|
442
416
|
json
|
443
417
|
|
444
418
|
|
445
|
-
# TODO
|
419
|
+
# TODO put deprecation warning on json method
|
446
420
|
# TODO rename json method to toJSON
|
447
421
|
restful.toJSON = restful.json
|
448
422
|
|
@@ -470,4 +444,4 @@ model.associable && model.associable.mix (singular_association, plural_associat
|
|
470
444
|
|
471
445
|
plural_association.post = ->
|
472
446
|
@route ||= "#{@parent.route}/#{@parent._id}/#{model.pluralize @resource.name}" if @parent?
|
473
|
-
rest.post.apply @, arguments
|
447
|
+
rest.post.apply @, arguments
|
@@ -108,7 +108,6 @@ scopable =
|
|
108
108
|
@scope.fetch.call @, data, done, fail
|
109
109
|
|
110
110
|
# TODO optmize this iterations or add support for stampit on associable and merge factories
|
111
|
-
# TODO rename this method to forward extensions to association, and store extensions on has_many definitions
|
112
111
|
# @ = record instance
|
113
112
|
forward_scopes_to_associations: ->
|
114
113
|
factory = model[@resource.name]
|
@@ -130,24 +129,34 @@ scopable =
|
|
130
129
|
for scope in associated_factory.scope.declared
|
131
130
|
association.scope scope, associated_factory["$#{scope}"]
|
132
131
|
|
132
|
+
for associated_resource in factory.has_one
|
133
|
+
# TODO change this warn message into a exception when
|
134
|
+
# associations are renamable
|
135
|
+
unless model[associated_resource]
|
136
|
+
console.warn("Associated factory not found for associated resource: #{associated_resource}")
|
137
|
+
continue
|
138
|
+
|
139
|
+
for scope in model[associated_resource].scope.declared
|
140
|
+
@[associated_resource][scope] = factory[scope]
|
141
|
+
|
133
142
|
# TODO improve associable inner workings to stampit objects
|
134
|
-
|
135
|
-
|
136
|
-
|
143
|
+
if factory.belongs_to.length
|
144
|
+
generate_forwarder = (associated_resource) ->
|
145
|
+
associated_factory = model[associated_resource]
|
137
146
|
|
138
|
-
|
139
|
-
|
140
|
-
|
147
|
+
# TODO change this warn message into a exception when
|
148
|
+
# associations are renamable
|
149
|
+
return console.warn("Associated factory not found for associated resource: #{associated_resource}") unless associated_factory
|
141
150
|
|
142
|
-
|
151
|
+
declared_scopes = associated_factory.scope.declared
|
143
152
|
|
144
|
-
|
145
|
-
|
146
|
-
|
153
|
+
->
|
154
|
+
for scope in declared_scopes
|
155
|
+
@[associated_resource][scope] = associated_factory[scope]
|
147
156
|
|
148
|
-
|
149
|
-
|
150
|
-
|
157
|
+
for associated_resource in factory.belongs_to
|
158
|
+
forwarder = generate_forwarder associated_resource
|
159
|
+
@after "build_#{associated_resource}", forwarder
|
151
160
|
|
152
161
|
true
|
153
162
|
# @ = model instance
|
@@ -244,14 +253,12 @@ if model.associable
|
|
244
253
|
# TODO implement setter on this association and let user to set
|
245
254
|
reload.done (records, status) ->
|
246
255
|
|
247
|
-
#
|
248
|
-
|
249
|
-
|
250
|
-
# it to an empty array
|
251
|
-
Array.prototype.splice.call @, 0 if @length
|
252
|
-
|
253
|
-
return true
|
256
|
+
# Clear current stored cache on this association
|
257
|
+
# it to an empty array
|
258
|
+
Array.prototype.splice.call @, 0
|
254
259
|
|
260
|
+
# return if no records were found by the server
|
261
|
+
return unless records.length
|
255
262
|
|
256
263
|
singular_resource = model.singularize @resource
|
257
264
|
|
@@ -265,17 +272,8 @@ if model.associable
|
|
265
272
|
record["#{association_name}_attributes"] = record[association_name]
|
266
273
|
delete record[association_name]
|
267
274
|
|
268
|
-
# Update found records
|
269
|
-
# TODO create update method
|
270
|
-
create = []
|
271
|
-
for record, index in records
|
272
|
-
if target = @find record._id
|
273
|
-
target.assign_attributes record
|
274
|
-
else
|
275
|
-
create.push record
|
276
|
-
|
277
275
|
# Load new records on this association
|
278
|
-
@add.apply @,
|
276
|
+
@add.apply @, records
|
279
277
|
|
280
278
|
# Override the response records object with added to association records
|
281
279
|
records.splice 0
|
@@ -292,4 +290,5 @@ if model.associable
|
|
292
290
|
|
293
291
|
# TODO cache models
|
294
292
|
@get().done (records) =>
|
295
|
-
|
293
|
+
for record in @
|
294
|
+
callback record
|
@@ -173,18 +173,7 @@ extensions =
|
|
173
173
|
@validation.fail failed
|
174
174
|
|
175
175
|
# TODO store this callback
|
176
|
-
@validation.done (record) ->
|
177
|
-
# Disable dirty checking to prevent validation believe that
|
178
|
-
# the model values has changed
|
179
|
-
old_dirty = record.dirty
|
180
|
-
record.dirty = null
|
181
|
-
|
182
|
-
record.validated ||= true
|
183
|
-
|
184
|
-
# Restore dirty state
|
185
|
-
record.dirty = old_dirty
|
186
|
-
|
187
|
-
record
|
176
|
+
@validation.done (record) -> record.validated ||= true
|
188
177
|
|
189
178
|
|
190
179
|
# Validators management
|
@@ -121,11 +121,10 @@ describe 'model', ->
|
|
121
121
|
beforeEach -> association = person().friends
|
122
122
|
|
123
123
|
it 'should have query methods', ->
|
124
|
-
association.should.have.property '
|
125
|
-
association.should.have.property 'find'
|
124
|
+
association.should.have.property 'all'
|
126
125
|
association.should.have.property 'each'
|
127
126
|
association.should.have.property 'reload'
|
128
127
|
|
129
|
-
describe '#
|
128
|
+
describe '#all', ->
|
130
129
|
|
131
130
|
it 'should auto observe nested associations attributes'
|