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.
- 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
|
-
});
|