ende 0.5.1 → 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. checksums.yaml +4 -4
  2. data/component.json +2 -2
  3. data/components/indefinido/indemma/master/component.json +27 -17
  4. data/components/indefinido/indemma/master/lib/record/associable.js +74 -75
  5. data/components/indefinido/indemma/master/lib/record/dirtyable.js +40 -0
  6. data/components/indefinido/indemma/master/lib/record/queryable.js +2 -2
  7. data/components/indefinido/indemma/master/lib/record/resource.js +1 -1
  8. data/components/indefinido/indemma/master/lib/record/rest.js +7 -2
  9. data/components/indefinido/indemma/master/lib/record/restfulable.js +37 -10
  10. data/components/indefinido/indemma/master/lib/record/scopable.js +20 -47
  11. data/components/indefinido/indemma/master/lib/record/storable.js +11 -0
  12. data/components/indefinido/indemma/master/lib/record/validatable.js +195 -1068
  13. data/components/indefinido/indemma/master/lib/record.js +1 -1
  14. data/components/indefinido/indemma/master/vendor/stampit.js +568 -242
  15. data/components/indefinido/observable/es6-modules/component.json +39 -0
  16. data/components/indefinido/{indemma/master/components/indefinido-observable → observable/es6-modules}/lib/adapters/rivets.js +3 -1
  17. data/components/indefinido/observable/es6-modules/lib/legacy/notifierable.js +145 -0
  18. data/components/indefinido/observable/es6-modules/lib/legacy/schedulerable.js +114 -0
  19. data/components/indefinido/observable/es6-modules/lib/lookup.js +38 -0
  20. data/components/indefinido/observable/es6-modules/lib/observable/keypath_observer.js +38 -0
  21. data/components/indefinido/observable/es6-modules/lib/observable/observation.js +45 -0
  22. data/components/indefinido/observable/es6-modules/lib/observable/selection.js +57 -0
  23. data/components/indefinido/observable/es6-modules/lib/observable/self_observer.js +38 -0
  24. data/components/indefinido/observable/es6-modules/lib/observable.js +90 -0
  25. data/components/indefinido/observable/es6-modules/lib/platform.js +12 -0
  26. data/components/indefinido/observable/es6-modules/vendor/observe-js/observe.js +1631 -0
  27. data/components/indefinido/{indemma/master/components/indefinido-observable → observable/es6-modules}/vendor/shims/accessors.js +85 -10
  28. data/lib/assets/javascripts/aura/extensions/rivets.js.coffee +1 -1
  29. data/lib/ende/version.rb +1 -1
  30. data/vendor/assets/components/ende_build.js +18379 -26828
  31. metadata +20 -128
  32. data/components/indefinido/indemma/master/.gitignore +0 -17
  33. data/components/indefinido/indemma/master/.ruby-gemset +0 -1
  34. data/components/indefinido/indemma/master/.ruby-version +0 -1
  35. data/components/indefinido/indemma/master/Gemfile +0 -13
  36. data/components/indefinido/indemma/master/Guardfile +0 -39
  37. data/components/indefinido/indemma/master/History.md +0 -0
  38. data/components/indefinido/indemma/master/Readme.md +0 -447
  39. data/components/indefinido/indemma/master/build/build.js +0 -26288
  40. data/components/indefinido/indemma/master/build/development.js +0 -22200
  41. data/components/indefinido/indemma/master/build/release.js +0 -22139
  42. data/components/indefinido/indemma/master/build/test.js +0 -22200
  43. data/components/indefinido/indemma/master/components/chaijs-assertion-error/component.json +0 -18
  44. data/components/indefinido/indemma/master/components/chaijs-assertion-error/index.js +0 -110
  45. data/components/indefinido/indemma/master/components/chaijs-chai/component.json +0 -47
  46. data/components/indefinido/indemma/master/components/chaijs-chai/index.js +0 -1
  47. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/assertion.js +0 -130
  48. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/core/assertions.js +0 -1270
  49. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/interface/assert.js +0 -1080
  50. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/interface/expect.js +0 -12
  51. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/interface/should.js +0 -76
  52. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/addChainableMethod.js +0 -94
  53. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/addMethod.js +0 -37
  54. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/addProperty.js +0 -40
  55. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/eql.js +0 -129
  56. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/flag.js +0 -32
  57. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/getActual.js +0 -19
  58. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/getEnumerableProperties.js +0 -25
  59. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/getMessage.js +0 -49
  60. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/getName.js +0 -20
  61. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/getPathValue.js +0 -102
  62. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/getProperties.js +0 -35
  63. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/index.js +0 -108
  64. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/inspect.js +0 -320
  65. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/objDisplay.js +0 -48
  66. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/overwriteMethod.js +0 -51
  67. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/overwriteProperty.js +0 -54
  68. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/test.js +0 -26
  69. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/transferFlags.js +0 -44
  70. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/type.js +0 -45
  71. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai.js +0 -80
  72. data/components/indefinido/indemma/master/components/component-bind/component.json +0 -14
  73. data/components/indefinido/indemma/master/components/component-bind/index.js +0 -24
  74. data/components/indefinido/indemma/master/components/component-jquery/component.json +0 -14
  75. data/components/indefinido/indemma/master/components/component-jquery/index.js +0 -9601
  76. data/components/indefinido/indemma/master/components/component-type/component.json +0 -18
  77. data/components/indefinido/indemma/master/components/component-type/index.js +0 -32
  78. data/components/indefinido/indemma/master/components/indefinido-advisable/component.json +0 -21
  79. data/components/indefinido/indemma/master/components/indefinido-advisable/index.js +0 -1
  80. data/components/indefinido/indemma/master/components/indefinido-advisable/lib/advisable.js +0 -60
  81. data/components/indefinido/indemma/master/components/indefinido-observable/component.json +0 -25
  82. data/components/indefinido/indemma/master/components/indefinido-observable/components/cjohansen-sinon/sinon.js +0 -4290
  83. data/components/indefinido/indemma/master/components/indefinido-observable/lib/observable.js +0 -323
  84. data/components/indefinido/indemma/master/components/kapit-observe-utils/component.json +0 -13
  85. data/components/indefinido/indemma/master/components/paulmillr-es6-shim/component.json +0 -17
  86. data/components/indefinido/indemma/master/components/paulmillr-es6-shim/es6-shim.js +0 -996
  87. data/components/indefinido/indemma/master/components/pluma-assimilate/component.json +0 -25
  88. data/components/indefinido/indemma/master/components/pluma-assimilate/dist/assimilate.js +0 -127
  89. data/components/indefinido/indemma/master/karma.conf.js +0 -76
  90. data/components/indefinido/indemma/master/package.json +0 -9
  91. data/components/indefinido/indemma/master/spec/record/associable_spec.js +0 -137
  92. data/components/indefinido/indemma/master/spec/record/persistable_spec.js +0 -36
  93. data/components/indefinido/indemma/master/spec/record/queryable_spec.js +0 -33
  94. data/components/indefinido/indemma/master/spec/record/resource_spec.js +0 -93
  95. data/components/indefinido/indemma/master/spec/record/rest_spec.js +0 -32
  96. data/components/indefinido/indemma/master/spec/record/restfulable_spec.js +0 -300
  97. data/components/indefinido/indemma/master/spec/record/scopable_spec.js +0 -212
  98. data/components/indefinido/indemma/master/spec/record/storable_spec.js +0 -53
  99. data/components/indefinido/indemma/master/spec/record/translationable.js +0 -28
  100. data/components/indefinido/indemma/master/spec/record/validatable_spec.js +0 -111
  101. data/components/indefinido/indemma/master/spec/record/validations/associated_spec.js +0 -43
  102. data/components/indefinido/indemma/master/spec/record/validations/confirmation_spec.js +0 -36
  103. data/components/indefinido/indemma/master/spec/record/validations/cpf_spec.js +0 -35
  104. data/components/indefinido/indemma/master/spec/record/validations/presence_spec.js +0 -28
  105. data/components/indefinido/indemma/master/spec/record/validations/remote_spec.js +0 -87
  106. data/components/indefinido/indemma/master/spec/record/validations/type_spec.js +0 -48
  107. data/components/indefinido/indemma/master/spec/record_spec.js +0 -37
  108. data/components/indefinido/indemma/master/spec/spec_helper.js +0 -11
  109. data/components/indefinido/indemma/master/spec/support/value_objects/phone.js +0 -45
  110. data/components/indefinido/indemma/master/src/lib/extensions/rivets.coffee +0 -17
  111. data/components/indefinido/indemma/master/src/lib/record/associable.coffee +0 -380
  112. data/components/indefinido/indemma/master/src/lib/record/errors.coffee +0 -20
  113. data/components/indefinido/indemma/master/src/lib/record/maid.coffee +0 -16
  114. data/components/indefinido/indemma/master/src/lib/record/persistable.coffee +0 -32
  115. data/components/indefinido/indemma/master/src/lib/record/queryable.coffee +0 -30
  116. data/components/indefinido/indemma/master/src/lib/record/resource.coffee +0 -106
  117. data/components/indefinido/indemma/master/src/lib/record/rest.coffee +0 -28
  118. data/components/indefinido/indemma/master/src/lib/record/restfulable.coffee +0 -447
  119. data/components/indefinido/indemma/master/src/lib/record/scopable.coffee +0 -294
  120. data/components/indefinido/indemma/master/src/lib/record/storable.coffee +0 -46
  121. data/components/indefinido/indemma/master/src/lib/record/translationable.coffee +0 -18
  122. data/components/indefinido/indemma/master/src/lib/record/validatable.coffee +0 -207
  123. data/components/indefinido/indemma/master/src/lib/record/validations/associated.coffee +0 -30
  124. data/components/indefinido/indemma/master/src/lib/record/validations/confirmation.coffee +0 -17
  125. data/components/indefinido/indemma/master/src/lib/record/validations/cpf.coffee +0 -57
  126. data/components/indefinido/indemma/master/src/lib/record/validations/presence.coffee +0 -16
  127. data/components/indefinido/indemma/master/src/lib/record/validations/remote.coffee +0 -61
  128. data/components/indefinido/indemma/master/src/lib/record/validations/type.coffee +0 -31
  129. data/components/indefinido/indemma/master/src/lib/record/validations/validatorable.coffee +0 -5
  130. data/components/indefinido/indemma/master/src/lib/record.coffee +0 -138
  131. data/components/indefinido/indemma/master/src/spec/record/associable_spec.coffee +0 -130
  132. data/components/indefinido/indemma/master/src/spec/record/persistable_spec.coffee +0 -30
  133. data/components/indefinido/indemma/master/src/spec/record/queryable_spec.coffee +0 -27
  134. data/components/indefinido/indemma/master/src/spec/record/resource_spec.coffee +0 -69
  135. data/components/indefinido/indemma/master/src/spec/record/rest_spec.coffee +0 -22
  136. data/components/indefinido/indemma/master/src/spec/record/restfulable_spec.coffee +0 -215
  137. data/components/indefinido/indemma/master/src/spec/record/scopable_spec.coffee +0 -191
  138. data/components/indefinido/indemma/master/src/spec/record/storable_spec.coffee +0 -40
  139. data/components/indefinido/indemma/master/src/spec/record/translationable.coffee +0 -19
  140. data/components/indefinido/indemma/master/src/spec/record/validatable_spec.coffee +0 -100
  141. data/components/indefinido/indemma/master/src/spec/record/validations/associated_spec.coffee +0 -35
  142. data/components/indefinido/indemma/master/src/spec/record/validations/confirmation_spec.coffee +0 -25
  143. data/components/indefinido/indemma/master/src/spec/record/validations/cpf_spec.coffee +0 -28
  144. data/components/indefinido/indemma/master/src/spec/record/validations/presence_spec.coffee +0 -24
  145. data/components/indefinido/indemma/master/src/spec/record/validations/remote_spec.coffee +0 -74
  146. data/components/indefinido/indemma/master/src/spec/record/validations/type_spec.coffee +0 -33
  147. data/components/indefinido/indemma/master/src/spec/record_spec.coffee +0 -23
  148. data/components/indefinido/indemma/master/src/spec/spec_helper.coffee +0 -9
  149. data/components/indefinido/indemma/master/src/spec/support/value_objects/phone.coffee +0 -30
  150. data/components/indefinido/indemma/master/vendor/object/mixin.js +0 -196
  151. data/components/indefinido/indemma/master/vendor/sinon.js +0 -4290
  152. /data/components/indefinido/{indemma/master/components/indefinido-observable → observable/es6-modules}/index.js +0 -0
  153. /data/components/indefinido/{indemma/master/components/indefinido-observable → observable/es6-modules}/vendor/shims/accessors-legacy.js +0 -0
  154. /data/components/indefinido/{indemma/master/components/indefinido-observable → observable/es6-modules}/vendor/shims/array.indexOf.js +0 -0
  155. /data/components/indefinido/{indemma/master/components/indefinido-observable → observable/es6-modules}/vendor/shims/object.create.js +0 -0
@@ -1,25 +0,0 @@
1
- {
2
- "name": "assimilate",
3
- "version": "0.3.0",
4
- "license": "MIT",
5
- "repo": "pluma/assimilate",
6
- "description": "Extends objects.",
7
- "keywords": [
8
- "extend",
9
- "inherit",
10
- "mixin"
11
- ],
12
- "main": "./dist/assimilate.js",
13
- "dependencies": {},
14
- "development": {},
15
- "scripts": [
16
- "dist/assimilate.js"
17
- ],
18
- "styles": [],
19
- "ignore": [
20
- "**/.*",
21
- "build",
22
- "components",
23
- "node_modules"
24
- ]
25
- }
@@ -1,127 +0,0 @@
1
- /*! assimilate 0.3.0 Copyright (c) 2013 Alan Plum. MIT licensed. */
2
- var slice = Array.prototype.slice;
3
-
4
- function bind(fn, self) {
5
- var args = slice.call(arguments, 2);
6
- if (typeof Function.prototype.bind === 'function') {
7
- return Function.prototype.bind.apply(fn, [self].concat(args));
8
- }
9
- return function() {
10
- return fn.apply(self, args.concat(slice.call(arguments, 0)));
11
- };
12
- }
13
-
14
- function simpleCopy(target, name, source) {
15
- target[name] = source[name];
16
- }
17
-
18
- function properCopy(target, name, source) {
19
- var descriptor = Object.getOwnPropertyDescriptor(source, name);
20
- Object.defineProperty(target, name, descriptor);
21
- }
22
-
23
- function ownProperties(obj) {
24
- return Object.getOwnPropertyNames(obj);
25
- }
26
-
27
- function allKeys(obj) {
28
- var keys = [];
29
- for (var name in obj) {
30
- keys.push(name);
31
- }
32
- return keys;
33
- }
34
-
35
- function ownKeys(obj) {
36
- var keys = [];
37
- for (var name in obj) {
38
- if (obj.hasOwnProperty(name)) {
39
- keys.push(name);
40
- }
41
- }
42
- return keys;
43
- }
44
-
45
- function assimilateWithStrategy(target) {
46
- var strategy = this,
47
- sources = slice.call(arguments, 1),
48
- i, source, names, j, name;
49
-
50
- if (target === undefined || target === null) {
51
- target = {};
52
- }
53
-
54
- for (i = 0; i < sources.length; i++) {
55
- source = sources[i];
56
- names = strategy.keysFn(source);
57
- for (j = 0; j < names.length; j++) {
58
- name = names[j];
59
- strategy.copyFn(target, name, source);
60
- }
61
- }
62
-
63
- return target;
64
- }
65
-
66
- var strategies = {
67
- DEFAULT: {
68
- keysFn: ownKeys,
69
- copyFn: simpleCopy
70
- },
71
- PROPER: {
72
- keysFn: ownProperties,
73
- copyFn: properCopy
74
- },
75
- INHERITED: {
76
- keysFn: allKeys,
77
- copyFn: simpleCopy
78
- },
79
- DEEP: {
80
- keysFn: ownKeys,
81
- copyFn: function recursiveCopy(target, name, source) {
82
- var val = source[name];
83
- var old = target[name];
84
- if (typeof val === 'object' && typeof old === 'object') {
85
- assimilateWithStrategy.call(strategies.DEEP, old, val);
86
- } else {
87
- simpleCopy(target, name, source);
88
- }
89
- }
90
- },
91
- STRICT: {
92
- keysFn: ownKeys,
93
- copyFn: function strictCopy(target, name, source) {
94
- if (source[name] !== undefined) {
95
- simpleCopy(target, name, source);
96
- }
97
- }
98
- },
99
- FALLBACK: {
100
- keysFn: function fallbackCopy(target, name, source) {
101
- if (target[name] === undefined) {
102
- simpleCopy(target, name, source);
103
- }
104
- },
105
- copyFn: simpleCopy
106
- }
107
- };
108
-
109
- var assimilate = bind(assimilateWithStrategy, strategies.DEFAULT);
110
- assimilate.strategies = strategies;
111
- assimilate.withStrategy = function withStrategy(strategy) {
112
- if (typeof strategy === 'string') {
113
- strategy = strategies[strategy.toUpperCase()];
114
- }
115
- if (!strategy) {
116
- throw new Error('Unknwon or invalid strategy:' + strategy);
117
- }
118
- if (typeof strategy.copyFn !== 'function') {
119
- throw new Error('Strategy missing copy function:' + strategy);
120
- }
121
- if (typeof strategy.keysFn !== 'function') {
122
- throw new Error('Strategy missing keys function:' + strategy);
123
- }
124
- return bind(assimilateWithStrategy, strategy);
125
- };
126
-
127
- module.exports = assimilate;
@@ -1,76 +0,0 @@
1
- // Karma configuration
2
-
3
- module.exports = function(config) {
4
- config.set({
5
-
6
- // base path, that will be used to resolve files and exclude
7
- basePath: '',
8
-
9
-
10
- // frameworks to use
11
- frameworks: ['mocha'],
12
-
13
-
14
- // list of files / patterns to load in the browser
15
- files: [
16
- 'vendor/sinon.js',
17
- 'build/test.js',
18
- 'spec/support/**/*.js',
19
- 'spec/spec_helper.js',
20
- 'spec/**/*.js'
21
- ],
22
-
23
- // list of files to excudle
24
- exclude: [
25
- 'spec/coverage/**/*.js'
26
- ],
27
-
28
- client: {
29
- mocha: {
30
- ui: 'bdd'
31
- }
32
- },
33
-
34
-
35
- // test results reporter to use
36
- // possible values: 'dots', 'progress', 'junit', 'growl', 'coverage'
37
- reporters: ['progress'],
38
-
39
-
40
- // web server port
41
- port: 9876,
42
-
43
-
44
- // enable / disable colors in the output (reporters and logs)
45
- colors: true,
46
-
47
-
48
- // level of logging
49
- // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
50
- logLevel: config.LOG_INFO,
51
-
52
-
53
- // enable / disable watching file and executing tests whenever any file changes
54
- autoWatch: true,
55
-
56
-
57
- // Start these browsers, currently available:
58
- // - Chrome
59
- // - ChromeCanary
60
- // - Firefox
61
- // - Opera (has to be installed with `npm install karma-opera-launcher`)
62
- // - Safari (only Mac; has to be installed with `npm install karma-safari-launcher`)
63
- // - PhantomJS
64
- // - IE (only Windows; has to be installed with `npm install karma-ie-launcher`)
65
- browsers: ['Chrome'],
66
-
67
-
68
- // If browser does not capture in given timeout [ms], kill it
69
- captureTimeout: 60000,
70
-
71
-
72
- // Continuous Integration mode
73
- // if true, it capture browsers, run tests and exit
74
- singleRun: false
75
- });
76
- };
@@ -1,9 +0,0 @@
1
- {
2
- "name": "indemma",
3
- "version": "0.1.7",
4
- "devDependencies": {
5
- "mocha": "*",
6
- "karma": "~0.10",
7
- "karma-mocha": "~0.1"
8
- }
9
- }
@@ -1,137 +0,0 @@
1
- var root;
2
-
3
- root = typeof exports !== "undefined" && exports !== null ? exports : window;
4
-
5
- require('indemma/lib/record/associable');
6
-
7
- describe('record', function() {
8
- var record;
9
-
10
- record = root.record;
11
- return it('should create a record');
12
- });
13
-
14
- describe('model', function() {
15
- var arthur, corporation, model, person, radio;
16
-
17
- model = root.model;
18
- arthur = radio = null;
19
- person = corporation = null;
20
- beforeEach(function() {
21
- var ford, friend;
22
-
23
- corporation = model.call({
24
- resource: 'corporation'
25
- });
26
- friend = model.call({
27
- resource: 'friends'
28
- });
29
- person = model.call({
30
- resource: 'person',
31
- has_many: 'friends',
32
- belongs_to: 'corporation'
33
- });
34
- radio = corporation({
35
- _id: 1,
36
- name: 'Local Radio'
37
- });
38
- ford = friend({
39
- _id: 2,
40
- name: 'Ford Perfect'
41
- });
42
- return arthur = person({
43
- _id: 3,
44
- name: 'Arthur Philip Dent'
45
- });
46
- });
47
- describe('has_one', function() {
48
- return it('should add a has_one property with the associations descriptions', function() {
49
- return $.type(person.has_one).should.be.eq('array');
50
- });
51
- });
52
- describe('belongs_to', function() {
53
- it('should add a belongs_to property with the associations descriptions', function() {
54
- return $.type(person.belongs_to).should.be.eq('array');
55
- });
56
- describe("#associated_id", function() {
57
- it('should return an partial resource when acessing associated', function() {
58
- arthur.corporation_id = radio._id;
59
- arthur.should.have.property('corporation');
60
- arthur.corporation.should.be.object;
61
- arthur.corporation.should.have.property('resource');
62
- return arthur.corporation.should.have.property('_id', radio._id);
63
- });
64
- return xit('should fetch the resource when accessing associated and resource not present', function(done) {
65
- radio = corporation({
66
- _id: 1,
67
- name: 'Local Radio'
68
- });
69
- arthur.corporation_id = radio._id;
70
- arthur.corporation.should.be.object;
71
- arthur.corporation.should.have.property('resource', radio.resource);
72
- arthur.corporation._id.should.be(null);
73
- arthur.corporation.locking.should.be.object;
74
- return arthur.corporation.locking.done(function(corporation) {
75
- corporation.should.have.property('_id', radio.id);
76
- return corporation.should.have.property('name', radio.name);
77
- });
78
- });
79
- });
80
- describe("#associated", function() {
81
- return it('should update associated id and record when associated record changes', function() {
82
- radio = corporation({
83
- _id: 1,
84
- name: 'Local Radio',
85
- sustained: true
86
- });
87
- expect(arthur.corporation).to.be.undefined;
88
- arthur.corporation = radio;
89
- arthur.should.to.have.property('corporation', radio);
90
- return arthur.should.to.have.property('corporation_id', radio._id);
91
- });
92
- });
93
- return describe("#build_associated", function() {
94
- return it('should add builded object to association named attribute', function() {
95
- arthur = person({
96
- name: 'Arthur Dent'
97
- });
98
- corporation = arthur.build_corporation();
99
- arthur.should.have.property('corporation');
100
- return expect(corporation).to.be.ok;
101
- });
102
- });
103
- });
104
- return describe('has_many', function() {
105
- it('should add a has_many property with the associations descriptions', function() {
106
- return $.type(person.has_many).should.be.eq('array');
107
- });
108
- it('should return a record factory with associations stored', function() {
109
- var has_many;
110
-
111
- person.has_many.should.be.array;
112
- has_many = Array.prototype.splice.call(person.has_many, 0);
113
- return has_many.should.contain('friends');
114
- });
115
- return describe('#()', function() {
116
- it('should return a record with an association object', function() {
117
- return person().should.have.property('friends');
118
- });
119
- return describe('{generated_association}', function() {
120
- var association;
121
-
122
- association = null;
123
- beforeEach(function() {
124
- return association = person().friends;
125
- });
126
- it('should have query methods', function() {
127
- association.should.have.property('all');
128
- association.should.have.property('each');
129
- return association.should.have.property('reload');
130
- });
131
- return describe('#all', function() {
132
- return it('should auto observe nested associations attributes');
133
- });
134
- });
135
- });
136
- });
137
- });
@@ -1,36 +0,0 @@
1
- var persistable, root;
2
-
3
- root = typeof exports !== "undefined" && exports !== null ? exports : window;
4
-
5
- persistable = require('indemma/lib/record/persistable');
6
-
7
- describe('persistable', function() {
8
- return describe('model', function() {
9
- it('should set the persistable key', function() {
10
- return model.should.have.property('persistable', true);
11
- });
12
- return describe('#find', function() {
13
- beforeEach(function() {
14
- this.person = model.call({
15
- resource: 'person',
16
- has_many: 'friends',
17
- belongs_to: 'corporation'
18
- });
19
- return this.arthur = this.person({
20
- _id: '1',
21
- name: 'Arthur Philip Dent'
22
- });
23
- });
24
- return it('should call try to store a record after saving', function(done) {
25
- var _this = this;
26
-
27
- sinon.stub(this.person.storage, 'store').returns(true);
28
- this.arthur.save(function() {
29
- expect(_this.person.storage.store.calledOnce).to.be["true"];
30
- return done();
31
- });
32
- return this.person.storage.store.restore();
33
- });
34
- });
35
- });
36
- });
@@ -1,33 +0,0 @@
1
- var queryable, root;
2
-
3
- root = typeof exports !== "undefined" && exports !== null ? exports : window;
4
-
5
- queryable = require('indemma/lib/record/queryable');
6
-
7
- describe('queryable', function() {
8
- return describe('model', function() {
9
- beforeEach(function() {
10
- return this.person = model.call({
11
- resource: 'person'
12
- });
13
- });
14
- it('should set the queryable key', function() {
15
- return model.should.have.property('queryable', true);
16
- });
17
- it('should create a storage', function() {
18
- return this.person.should.have.property('storage');
19
- });
20
- return describe('#find', function() {
21
- beforeEach(function() {
22
- this.arthur = this.person({
23
- _id: '1',
24
- name: 'Arthur Philip Dent'
25
- });
26
- return this.arthur.save();
27
- });
28
- return it('should retrieve a record by key', function() {
29
- return this.person.find('1').should.have.property('name', this.arthur.name);
30
- });
31
- });
32
- });
33
- });
@@ -1,93 +0,0 @@
1
- var jQuery, model, record, root;
2
-
3
- require('indemma/lib/record/restfulable');
4
-
5
- require('indemma/lib/record/resource');
6
-
7
- root = typeof exports !== "undefined" && exports !== null ? exports : window;
8
-
9
- model = root.model;
10
-
11
- record = root.record;
12
-
13
- jQuery = require('component-jquery');
14
-
15
- describe('resource', function() {
16
- describe('with scope option', function() {
17
- var person, towel;
18
-
19
- person = towel = null;
20
- beforeEach(function() {
21
- person = model.call({
22
- resource: 'person'
23
- });
24
- return towel = model.call({
25
- resource: {
26
- name: 'towel',
27
- scope: 'users'
28
- }
29
- });
30
- });
31
- return it('should be prefixed with scope', function() {
32
- towel.route.should.be.eq('/users/towels');
33
- towel({}).route.should.be.eq('/users/towels');
34
- return towel({
35
- id: 1
36
- }).route.should.be.eq('/users/towels');
37
- });
38
- });
39
- describe('with singular resource', function() {
40
- var towel;
41
-
42
- towel = null;
43
- beforeEach(function() {
44
- var context, deferred, promises;
45
-
46
- towel = model.call({
47
- resource: {
48
- name: 'towel',
49
- singular: true
50
- }
51
- });
52
- deferred = jQuery.Deferred();
53
- context = towel({
54
- name: 'Arthur Philip Dent'
55
- });
56
- context.lock = JSON.stringify(context.json());
57
- deferred.resolveWith(context, [
58
- {
59
- _id: 1,
60
- name: 'Arthur Philip Dent'
61
- }
62
- ]);
63
- sinon.stub(jQuery, "ajax").returns(deferred);
64
- return promises = towel.create({
65
- name: 'Arthur Philip Dent'
66
- }, {
67
- name: 'Ford'
68
- });
69
- });
70
- afterEach(function() {
71
- return jQuery.ajax.restore();
72
- });
73
- return it('the route should be in singular form', function() {
74
- towel.route.should.be.eq('/towel');
75
- towel({}).route.should.be.eq('/towel');
76
- return towel({
77
- id: 1
78
- }).route.should.be.eq('/towel');
79
- });
80
- });
81
- describe('when included', function() {
82
- return xit('sets the resource loaded flag on model', function() {});
83
- });
84
- return describe('model', function() {
85
- it('add methods to model object');
86
- describe('#pluralize', function() {
87
- return xit('transforms word into plural form');
88
- });
89
- return describe('#singularize', function() {
90
- return xit('transforms word into singular form');
91
- });
92
- });
93
- });
@@ -1,32 +0,0 @@
1
- var jQuery, rest, root;
2
-
3
- require('indemma/lib/record/resource');
4
-
5
- root = typeof exports !== "undefined" && exports !== null ? exports : window;
6
-
7
- rest = require('indemma/lib/record/rest');
8
-
9
- jQuery = require('component-jquery');
10
-
11
- describe('rest', function() {
12
- var object;
13
-
14
- object = null;
15
- beforeEach(function() {
16
- object = Object.create(rest);
17
- object.route = "users";
18
- return object.resource = "user";
19
- });
20
- beforeEach(function() {
21
- return sinon.stub(jQuery, "ajax").returns(jQuery.Deferred());
22
- });
23
- afterEach(function() {
24
- return jQuery.ajax.restore();
25
- });
26
- return describe('#delete', function() {
27
- return it('should make ajax call', function() {
28
- object["delete"]();
29
- return jQuery.ajax.called.should.be["true"];
30
- });
31
- });
32
- });