ende 0.4.18 → 0.4.19
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/assets/javascripts/aura/extensions/widget/lifecycleable.js.coffee +1 -0
- data/lib/assets/javascripts/aura/extensions/widget/napable.js.coffee +2 -2
- data/lib/assets/javascripts/widgets/viewer/main.js.coffee +5 -6
- data/lib/ende/version.rb +1 -1
- data/vendor/assets/components/ende_build.js +40 -7
- data/vendor/components/indefinido-indemma/build/development.js +3 -3
- data/vendor/components/indefinido-indemma/build/release.js +40 -7
- data/vendor/components/indefinido-indemma/build/test.js +21916 -115
- data/vendor/components/indefinido-indemma/component.json +1 -1
- data/vendor/components/indefinido-indemma/lib/record/associable.js +14 -2
- data/vendor/components/indefinido-indemma/lib/record/restfulable.js +11 -1
- data/vendor/components/indefinido-indemma/lib/record/scopable.js +15 -4
- data/vendor/components/indefinido-indemma/spec/record/associable_spec.js +3 -2
- data/vendor/components/indefinido-indemma/spec/record/scopable_spec.js +83 -53
- data/vendor/components/indefinido-indemma/spec/record/validations/cpf_spec.js +5 -6
- data/vendor/components/indefinido-indemma/src/lib/record/associable.coffee +6 -0
- data/vendor/components/indefinido-indemma/src/lib/record/queryable.coffee +1 -2
- data/vendor/components/indefinido-indemma/src/lib/record/restfulable.coffee +14 -1
- data/vendor/components/indefinido-indemma/src/lib/record/scopable.coffee +18 -8
- data/vendor/components/indefinido-indemma/src/spec/record/associable_spec.coffee +3 -2
- data/vendor/components/indefinido-indemma/src/spec/record/scopable_spec.coffee +76 -43
- data/vendor/components/indefinido-indemma/src/spec/record/validations/cpf_spec.coffee +3 -4
- metadata +2 -2
@@ -20,26 +20,25 @@ describe 'scopable', ->
|
|
20
20
|
describe 'model', ->
|
21
21
|
|
22
22
|
describe '#(options)', ->
|
23
|
-
person = null
|
24
23
|
|
25
24
|
beforeEach ->
|
26
25
|
|
27
|
-
person = model.call
|
26
|
+
@person = model.call
|
28
27
|
$hetero : true
|
29
28
|
$by_type: []
|
30
29
|
$by_name: String
|
31
30
|
resource: 'person'
|
32
31
|
|
33
32
|
it 'should add scope methods to model', ->
|
34
|
-
person.none.should.be.function
|
33
|
+
@person.none.should.be.function
|
35
34
|
|
36
35
|
it 'should generate scope methods based on model definition', ->
|
37
|
-
person.hetero.should.be.function
|
36
|
+
@person.hetero.should.be.function
|
38
37
|
|
39
38
|
describe '#none', ->
|
40
39
|
it 'should return empty response on fetch calls', (done) ->
|
41
40
|
# TODO implement getter for none property!
|
42
|
-
person.none().fetch null, (people) ->
|
41
|
+
@person.none().fetch null, (people) ->
|
43
42
|
people.length.should.be.empty
|
44
43
|
done()
|
45
44
|
|
@@ -49,23 +48,21 @@ describe 'scopable', ->
|
|
49
48
|
describe '#(name, type)', ->
|
50
49
|
|
51
50
|
it 'should add scope methods to model', ->
|
52
|
-
person.scope 'bissexual', Boolean
|
53
|
-
person.bissexual.should.be.function
|
51
|
+
@person.scope 'bissexual', Boolean
|
52
|
+
@person.bissexual.should.be.function
|
54
53
|
|
55
54
|
describe '#{generated_scope}', ->
|
56
|
-
deferred = null
|
57
55
|
|
58
56
|
beforeEach ->
|
59
|
-
|
60
|
-
sinon.stub(jQuery, "ajax").returns
|
61
|
-
person.scope.clear()
|
57
|
+
@request = jQuery.Deferred()
|
58
|
+
sinon.stub(jQuery, "ajax").returns @request
|
59
|
+
@person.scope.clear()
|
62
60
|
|
63
61
|
afterEach -> jQuery.ajax.restore()
|
64
62
|
|
65
|
-
describe '#
|
66
|
-
deferred = promises = person = null
|
63
|
+
describe '#every', ->
|
67
64
|
|
68
|
-
it 'should
|
65
|
+
it 'should fetch models from the server', (done) ->
|
69
66
|
|
70
67
|
# Will be called once for each saved record
|
71
68
|
fetched = (people) ->
|
@@ -73,29 +70,30 @@ describe 'scopable', ->
|
|
73
70
|
people[0].name.should.be.string
|
74
71
|
done()
|
75
72
|
|
76
|
-
person.every fetched
|
73
|
+
@person.every fetched
|
77
74
|
|
78
|
-
|
75
|
+
# TODO rename deferred to @request
|
76
|
+
@request.resolveWith @person, [[{name: 'Arthur'}, {name: 'Ford'}]]
|
79
77
|
jQuery.ajax.callCount.should.be.eq 1
|
80
78
|
|
81
79
|
|
82
80
|
describe 'when string', ->
|
83
81
|
it 'should acumulate data in scope object', ->
|
84
|
-
person.by_name()
|
85
|
-
person.scope.data.by_name.should.be.a 'string'
|
82
|
+
@person.by_name()
|
83
|
+
@person.scope.data.by_name.should.be.a 'string'
|
86
84
|
|
87
85
|
it 'should override data throught parameters', ->
|
88
|
-
person.by_name 'Ford'
|
89
|
-
person.scope.data.by_name.should.be.eq 'Ford'
|
86
|
+
@person.by_name 'Ford'
|
87
|
+
@person.scope.data.by_name.should.be.eq 'Ford'
|
90
88
|
|
91
89
|
describe 'when array', ->
|
92
90
|
it 'should acumulate data in scope object', ->
|
93
|
-
person.by_type()
|
94
|
-
person.scope.data.by_type.should.be.a 'array'
|
91
|
+
@person.by_type()
|
92
|
+
@person.scope.data.by_type.should.be.a 'array'
|
95
93
|
|
96
94
|
it 'should override data throught parameters', ->
|
97
|
-
person.by_type 1, 2, 3
|
98
|
-
person.scope.data.by_type.should.contain 1, 2, 3
|
95
|
+
@person.by_type 1, 2, 3
|
96
|
+
@person.scope.data.by_type.should.contain 1, 2, 3
|
99
97
|
|
100
98
|
it 'should use default value'
|
101
99
|
it 'should allow scope chaining'
|
@@ -103,7 +101,7 @@ describe 'scopable', ->
|
|
103
101
|
describe 'xhr request', ->
|
104
102
|
|
105
103
|
it 'should build correct url', ->
|
106
|
-
person.by_type(1, 3, 4).fetch()
|
104
|
+
@person.by_type(1, 3, 4).fetch()
|
107
105
|
|
108
106
|
settings = jQuery.ajax.firstCall.args[0]
|
109
107
|
|
@@ -112,38 +110,37 @@ describe 'scopable', ->
|
|
112
110
|
settings.data.by_type.should.include 1, 3, 4
|
113
111
|
|
114
112
|
it 'should make call', ->
|
115
|
-
person.by_type(1, 3, 4).fetch()
|
113
|
+
@person.by_type(1, 3, 4).fetch()
|
116
114
|
jQuery.ajax.callCount.should.be.eq 1
|
117
115
|
|
118
116
|
|
119
117
|
describe 'when boolean', ->
|
120
118
|
|
121
119
|
it 'should acumulate data in scope object', ->
|
122
|
-
person.hetero()
|
123
|
-
person.scope.data.hetero.should.be.eq true
|
120
|
+
@person.hetero()
|
121
|
+
@person.scope.data.hetero.should.be.eq true
|
124
122
|
|
125
123
|
it 'should override data throught parameters', ->
|
126
|
-
person.hetero false
|
127
|
-
person.scope.data.hetero.should.be.eq false
|
124
|
+
@person.hetero false
|
125
|
+
@person.scope.data.hetero.should.be.eq false
|
128
126
|
|
129
127
|
it 'should allow scope chaining'
|
130
128
|
|
131
129
|
it 'should make ajax call', ->
|
132
|
-
person.hetero().fetch()
|
130
|
+
@person.hetero().fetch()
|
133
131
|
jQuery.ajax.callCount.should.be.eq 1
|
134
132
|
|
135
133
|
describe '#{generated_association}', ->
|
136
134
|
|
137
135
|
describe 'of type belongs_to', ->
|
138
|
-
towel = null
|
139
136
|
|
140
137
|
beforeEach ->
|
141
|
-
person = model.call
|
138
|
+
@person = model.call
|
142
139
|
$hetero: true
|
143
140
|
$by_type: []
|
144
141
|
resource: 'person'
|
145
142
|
|
146
|
-
towel = model.call
|
143
|
+
@towel = model.call
|
147
144
|
resource: 'towel'
|
148
145
|
material: 'cotton'
|
149
146
|
belongs_to: 'person'
|
@@ -152,7 +149,7 @@ describe 'scopable', ->
|
|
152
149
|
describe '#{generated_scope}', ->
|
153
150
|
|
154
151
|
it 'can be called on association', ->
|
155
|
-
soft_towel = towel
|
152
|
+
soft_towel = @towel
|
156
153
|
material: 'silicon microfiber'
|
157
154
|
|
158
155
|
soft_towel.build_person()
|
@@ -160,32 +157,68 @@ describe 'scopable', ->
|
|
160
157
|
expect(soft_towel.person).to.respondTo 'hetero'
|
161
158
|
|
162
159
|
describe 'of type has_many', ->
|
163
|
-
arthur = towel = null
|
164
160
|
|
165
161
|
beforeEach ->
|
166
|
-
person = model.call
|
162
|
+
@person = model.call
|
167
163
|
$hetero: true
|
168
164
|
$by_type: []
|
169
165
|
resource: 'person'
|
170
166
|
has_many: 'towels'
|
171
167
|
|
172
|
-
towel = model.call
|
168
|
+
@towel = model.call
|
173
169
|
$by_material: []
|
174
170
|
resource: 'towel'
|
175
171
|
material: 'cotton'
|
176
172
|
belongs_to: 'person'
|
177
173
|
|
178
|
-
arthur = person
|
174
|
+
@arthur = @person
|
179
175
|
name: 'Arthur'
|
180
176
|
|
181
|
-
|
177
|
+
@person.scope.clear()
|
182
178
|
|
183
179
|
describe '#{generated_scope}', ->
|
184
180
|
|
185
181
|
it 'can be called on association', ->
|
186
|
-
expect(arthur.towels).to.respondTo 'by_material'
|
182
|
+
expect(@arthur.towels).to.respondTo 'by_material'
|
187
183
|
|
188
184
|
it 'should be serializable into paramenters', ->
|
189
|
-
arthur.towels.by_material 'cotton', 'microfiber'
|
190
|
-
query_string = decodeURIComponent(jQuery.param arthur.towels.scope.data)
|
185
|
+
@arthur.towels.by_material 'cotton', 'microfiber'
|
186
|
+
query_string = decodeURIComponent(jQuery.param @arthur.towels.scope.data)
|
191
187
|
query_string.should.be.eq 'by_material[]=cotton&by_material[]=microfiber'
|
188
|
+
|
189
|
+
describe '#every', ->
|
190
|
+
|
191
|
+
it 'should empty association when no models are returned', (done) ->
|
192
|
+
|
193
|
+
# Will be called once for each saved record
|
194
|
+
fetched = (towels) =>
|
195
|
+
towels.should.be.array
|
196
|
+
towels.should.be.empty
|
197
|
+
@arthur.towels.should.have.length 0
|
198
|
+
` this.should.have.length(0) `
|
199
|
+
done()
|
200
|
+
|
201
|
+
@arthur.towels.every fetched
|
202
|
+
|
203
|
+
@request.resolveWith @arthur.towels, [[]]
|
204
|
+
jQuery.ajax.callCount.should.be.eq 1
|
205
|
+
|
206
|
+
it 'should update resources when already exists in association', (done) ->
|
207
|
+
aditions = @arthur.towels.add _id: 1, material: 'colan'
|
208
|
+
|
209
|
+
# Will be called once for each saved record
|
210
|
+
fetched = (towels) =>
|
211
|
+
towels.should.be.array
|
212
|
+
towels.should.have.length 1
|
213
|
+
towels[0].material.should.be.eq 'cotton'
|
214
|
+
|
215
|
+
# Updated the associated object, instead of
|
216
|
+
# creating a new one
|
217
|
+
aditions[0].material.should.be.eq 'cotton'
|
218
|
+
@arthur.towels[0].material.should.be.eq 'cotton'
|
219
|
+
done()
|
220
|
+
|
221
|
+
@arthur.towels.every fetched
|
222
|
+
|
223
|
+
@request.resolveWith @arthur.towels, [[_id: 1, material: 'cotton']]
|
224
|
+
jQuery.ajax.callCount.should.be.eq 1
|
@@ -6,22 +6,21 @@ describe 'model #() validates_cpf_format', ->
|
|
6
6
|
|
7
7
|
describe 'basic usage', ->
|
8
8
|
model = root.model
|
9
|
-
person = null
|
10
9
|
|
11
10
|
beforeEach ->
|
12
|
-
person = model.call
|
11
|
+
@person = model.call
|
13
12
|
resource : 'person'
|
14
13
|
cpf : String
|
15
14
|
validates_cpf_format: 'cpf'
|
16
15
|
|
17
16
|
afterEach ->
|
18
17
|
# Clear validators from resource
|
19
|
-
person
|
18
|
+
@person.validators.length = 0
|
20
19
|
|
21
20
|
describe '#validate', ->
|
22
21
|
|
23
22
|
it 'should add error to record when fields is in invalid format', ->
|
24
|
-
arthur = person cpf: '871.
|
23
|
+
arthur = @person cpf: '871.95FRANGO-00'
|
25
24
|
arthur.valid
|
26
25
|
|
27
26
|
# TODO figure out why the heck the validators aren't being reset
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ende
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.19
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Heitor Salazar
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-04-
|
11
|
+
date: 2014-04-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|