ende 0.5.1 → 0.5.2

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