ende 0.5.1 → 0.5.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/component.json +2 -2
- data/components/indefinido/indemma/master/component.json +27 -17
- data/components/indefinido/indemma/master/lib/record/associable.js +74 -75
- data/components/indefinido/indemma/master/lib/record/dirtyable.js +40 -0
- data/components/indefinido/indemma/master/lib/record/queryable.js +2 -2
- data/components/indefinido/indemma/master/lib/record/resource.js +1 -1
- data/components/indefinido/indemma/master/lib/record/rest.js +7 -2
- data/components/indefinido/indemma/master/lib/record/restfulable.js +37 -10
- data/components/indefinido/indemma/master/lib/record/scopable.js +20 -47
- data/components/indefinido/indemma/master/lib/record/storable.js +11 -0
- data/components/indefinido/indemma/master/lib/record/validatable.js +195 -1068
- data/components/indefinido/indemma/master/lib/record.js +1 -1
- data/components/indefinido/indemma/master/vendor/stampit.js +568 -242
- data/components/indefinido/observable/es6-modules/component.json +39 -0
- data/components/indefinido/{indemma/master/components/indefinido-observable → observable/es6-modules}/lib/adapters/rivets.js +3 -1
- data/components/indefinido/observable/es6-modules/lib/legacy/notifierable.js +145 -0
- data/components/indefinido/observable/es6-modules/lib/legacy/schedulerable.js +114 -0
- data/components/indefinido/observable/es6-modules/lib/lookup.js +38 -0
- data/components/indefinido/observable/es6-modules/lib/observable/keypath_observer.js +38 -0
- data/components/indefinido/observable/es6-modules/lib/observable/observation.js +45 -0
- data/components/indefinido/observable/es6-modules/lib/observable/selection.js +57 -0
- data/components/indefinido/observable/es6-modules/lib/observable/self_observer.js +38 -0
- data/components/indefinido/observable/es6-modules/lib/observable.js +90 -0
- data/components/indefinido/observable/es6-modules/lib/platform.js +12 -0
- data/components/indefinido/observable/es6-modules/vendor/observe-js/observe.js +1631 -0
- data/components/indefinido/{indemma/master/components/indefinido-observable → observable/es6-modules}/vendor/shims/accessors.js +85 -10
- data/lib/assets/javascripts/aura/extensions/rivets.js.coffee +1 -1
- data/lib/ende/version.rb +1 -1
- data/vendor/assets/components/ende_build.js +18379 -26828
- metadata +20 -128
- data/components/indefinido/indemma/master/.gitignore +0 -17
- data/components/indefinido/indemma/master/.ruby-gemset +0 -1
- data/components/indefinido/indemma/master/.ruby-version +0 -1
- data/components/indefinido/indemma/master/Gemfile +0 -13
- data/components/indefinido/indemma/master/Guardfile +0 -39
- data/components/indefinido/indemma/master/History.md +0 -0
- data/components/indefinido/indemma/master/Readme.md +0 -447
- data/components/indefinido/indemma/master/build/build.js +0 -26288
- data/components/indefinido/indemma/master/build/development.js +0 -22200
- data/components/indefinido/indemma/master/build/release.js +0 -22139
- data/components/indefinido/indemma/master/build/test.js +0 -22200
- data/components/indefinido/indemma/master/components/chaijs-assertion-error/component.json +0 -18
- data/components/indefinido/indemma/master/components/chaijs-assertion-error/index.js +0 -110
- data/components/indefinido/indemma/master/components/chaijs-chai/component.json +0 -47
- data/components/indefinido/indemma/master/components/chaijs-chai/index.js +0 -1
- data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/assertion.js +0 -130
- data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/core/assertions.js +0 -1270
- data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/interface/assert.js +0 -1080
- data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/interface/expect.js +0 -12
- data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/interface/should.js +0 -76
- data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/addChainableMethod.js +0 -94
- data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/addMethod.js +0 -37
- data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/addProperty.js +0 -40
- data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/eql.js +0 -129
- data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/flag.js +0 -32
- data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/getActual.js +0 -19
- data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/getEnumerableProperties.js +0 -25
- data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/getMessage.js +0 -49
- data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/getName.js +0 -20
- data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/getPathValue.js +0 -102
- data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/getProperties.js +0 -35
- data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/index.js +0 -108
- data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/inspect.js +0 -320
- data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/objDisplay.js +0 -48
- data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/overwriteMethod.js +0 -51
- data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/overwriteProperty.js +0 -54
- data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/test.js +0 -26
- data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/transferFlags.js +0 -44
- data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/type.js +0 -45
- data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai.js +0 -80
- data/components/indefinido/indemma/master/components/component-bind/component.json +0 -14
- data/components/indefinido/indemma/master/components/component-bind/index.js +0 -24
- data/components/indefinido/indemma/master/components/component-jquery/component.json +0 -14
- data/components/indefinido/indemma/master/components/component-jquery/index.js +0 -9601
- data/components/indefinido/indemma/master/components/component-type/component.json +0 -18
- data/components/indefinido/indemma/master/components/component-type/index.js +0 -32
- data/components/indefinido/indemma/master/components/indefinido-advisable/component.json +0 -21
- data/components/indefinido/indemma/master/components/indefinido-advisable/index.js +0 -1
- data/components/indefinido/indemma/master/components/indefinido-advisable/lib/advisable.js +0 -60
- data/components/indefinido/indemma/master/components/indefinido-observable/component.json +0 -25
- data/components/indefinido/indemma/master/components/indefinido-observable/components/cjohansen-sinon/sinon.js +0 -4290
- data/components/indefinido/indemma/master/components/indefinido-observable/lib/observable.js +0 -323
- data/components/indefinido/indemma/master/components/kapit-observe-utils/component.json +0 -13
- data/components/indefinido/indemma/master/components/paulmillr-es6-shim/component.json +0 -17
- data/components/indefinido/indemma/master/components/paulmillr-es6-shim/es6-shim.js +0 -996
- data/components/indefinido/indemma/master/components/pluma-assimilate/component.json +0 -25
- data/components/indefinido/indemma/master/components/pluma-assimilate/dist/assimilate.js +0 -127
- data/components/indefinido/indemma/master/karma.conf.js +0 -76
- data/components/indefinido/indemma/master/package.json +0 -9
- data/components/indefinido/indemma/master/spec/record/associable_spec.js +0 -137
- data/components/indefinido/indemma/master/spec/record/persistable_spec.js +0 -36
- data/components/indefinido/indemma/master/spec/record/queryable_spec.js +0 -33
- data/components/indefinido/indemma/master/spec/record/resource_spec.js +0 -93
- data/components/indefinido/indemma/master/spec/record/rest_spec.js +0 -32
- data/components/indefinido/indemma/master/spec/record/restfulable_spec.js +0 -300
- data/components/indefinido/indemma/master/spec/record/scopable_spec.js +0 -212
- data/components/indefinido/indemma/master/spec/record/storable_spec.js +0 -53
- data/components/indefinido/indemma/master/spec/record/translationable.js +0 -28
- data/components/indefinido/indemma/master/spec/record/validatable_spec.js +0 -111
- data/components/indefinido/indemma/master/spec/record/validations/associated_spec.js +0 -43
- data/components/indefinido/indemma/master/spec/record/validations/confirmation_spec.js +0 -36
- data/components/indefinido/indemma/master/spec/record/validations/cpf_spec.js +0 -35
- data/components/indefinido/indemma/master/spec/record/validations/presence_spec.js +0 -28
- data/components/indefinido/indemma/master/spec/record/validations/remote_spec.js +0 -87
- data/components/indefinido/indemma/master/spec/record/validations/type_spec.js +0 -48
- data/components/indefinido/indemma/master/spec/record_spec.js +0 -37
- data/components/indefinido/indemma/master/spec/spec_helper.js +0 -11
- data/components/indefinido/indemma/master/spec/support/value_objects/phone.js +0 -45
- data/components/indefinido/indemma/master/src/lib/extensions/rivets.coffee +0 -17
- data/components/indefinido/indemma/master/src/lib/record/associable.coffee +0 -380
- data/components/indefinido/indemma/master/src/lib/record/errors.coffee +0 -20
- data/components/indefinido/indemma/master/src/lib/record/maid.coffee +0 -16
- data/components/indefinido/indemma/master/src/lib/record/persistable.coffee +0 -32
- data/components/indefinido/indemma/master/src/lib/record/queryable.coffee +0 -30
- data/components/indefinido/indemma/master/src/lib/record/resource.coffee +0 -106
- data/components/indefinido/indemma/master/src/lib/record/rest.coffee +0 -28
- data/components/indefinido/indemma/master/src/lib/record/restfulable.coffee +0 -447
- data/components/indefinido/indemma/master/src/lib/record/scopable.coffee +0 -294
- data/components/indefinido/indemma/master/src/lib/record/storable.coffee +0 -46
- data/components/indefinido/indemma/master/src/lib/record/translationable.coffee +0 -18
- data/components/indefinido/indemma/master/src/lib/record/validatable.coffee +0 -207
- data/components/indefinido/indemma/master/src/lib/record/validations/associated.coffee +0 -30
- data/components/indefinido/indemma/master/src/lib/record/validations/confirmation.coffee +0 -17
- data/components/indefinido/indemma/master/src/lib/record/validations/cpf.coffee +0 -57
- data/components/indefinido/indemma/master/src/lib/record/validations/presence.coffee +0 -16
- data/components/indefinido/indemma/master/src/lib/record/validations/remote.coffee +0 -61
- data/components/indefinido/indemma/master/src/lib/record/validations/type.coffee +0 -31
- data/components/indefinido/indemma/master/src/lib/record/validations/validatorable.coffee +0 -5
- data/components/indefinido/indemma/master/src/lib/record.coffee +0 -138
- data/components/indefinido/indemma/master/src/spec/record/associable_spec.coffee +0 -130
- data/components/indefinido/indemma/master/src/spec/record/persistable_spec.coffee +0 -30
- data/components/indefinido/indemma/master/src/spec/record/queryable_spec.coffee +0 -27
- data/components/indefinido/indemma/master/src/spec/record/resource_spec.coffee +0 -69
- data/components/indefinido/indemma/master/src/spec/record/rest_spec.coffee +0 -22
- data/components/indefinido/indemma/master/src/spec/record/restfulable_spec.coffee +0 -215
- data/components/indefinido/indemma/master/src/spec/record/scopable_spec.coffee +0 -191
- data/components/indefinido/indemma/master/src/spec/record/storable_spec.coffee +0 -40
- data/components/indefinido/indemma/master/src/spec/record/translationable.coffee +0 -19
- data/components/indefinido/indemma/master/src/spec/record/validatable_spec.coffee +0 -100
- data/components/indefinido/indemma/master/src/spec/record/validations/associated_spec.coffee +0 -35
- data/components/indefinido/indemma/master/src/spec/record/validations/confirmation_spec.coffee +0 -25
- data/components/indefinido/indemma/master/src/spec/record/validations/cpf_spec.coffee +0 -28
- data/components/indefinido/indemma/master/src/spec/record/validations/presence_spec.coffee +0 -24
- data/components/indefinido/indemma/master/src/spec/record/validations/remote_spec.coffee +0 -74
- data/components/indefinido/indemma/master/src/spec/record/validations/type_spec.coffee +0 -33
- data/components/indefinido/indemma/master/src/spec/record_spec.coffee +0 -23
- data/components/indefinido/indemma/master/src/spec/spec_helper.coffee +0 -9
- data/components/indefinido/indemma/master/src/spec/support/value_objects/phone.coffee +0 -30
- data/components/indefinido/indemma/master/vendor/object/mixin.js +0 -196
- data/components/indefinido/indemma/master/vendor/sinon.js +0 -4290
- /data/components/indefinido/{indemma/master/components/indefinido-observable → observable/es6-modules}/index.js +0 -0
- /data/components/indefinido/{indemma/master/components/indefinido-observable → observable/es6-modules}/vendor/shims/accessors-legacy.js +0 -0
- /data/components/indefinido/{indemma/master/components/indefinido-observable → observable/es6-modules}/vendor/shims/array.indexOf.js +0 -0
- /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,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
|
-
});
|