ende 0.4.12 → 0.4.13

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,4 +1,4 @@
1
- var $, data_for, request;
1
+ var $, request;
2
2
 
3
3
  $ = require('jquery');
4
4
 
@@ -17,7 +17,7 @@ module.exports = {
17
17
  }
18
18
  };
19
19
 
20
- data_for = function(data) {
20
+ request = function(method, url, data) {
21
21
  var param_name;
22
22
 
23
23
  param_name = this.resource.param_name || this.resource.toString();
@@ -29,11 +29,6 @@ data_for = function(data) {
29
29
  delete data[param_name]['id'];
30
30
  delete data[param_name]['_id'];
31
31
  }
32
- return data;
33
- };
34
-
35
- request = function(method, url, data) {
36
- data = data_for.call(this, data);
37
32
  return $.ajax({
38
33
  url: url,
39
34
  data: data,
@@ -1,224 +1,209 @@
1
- var errorsable, extensions, initializers, manager, messages, observable, root, stampit, type;
2
-
3
- require('./translationable');
4
-
5
- root = typeof exports !== "undefined" && exports !== null ? exports : this;
6
-
7
- stampit = require('../../vendor/stampit');
8
-
9
- observable = require('observable').mixin;
10
-
11
- type = require('type');
12
-
13
- messages = {
14
- blank: function(attribute_name) {
15
- attribute_name = this.human_attribute_name(attribute_name);
16
- return "O campo " + attribute_name + " não pode ficar em branco.";
17
- },
18
- cpf: function(attribute_name) {
19
- attribute_name = this.human_attribute_name(attribute_name);
20
- return "O campo " + attribute_name + " não está válido.";
21
- },
22
- confirmation: function(attribute_name) {
23
- var confirmation_attribute_name;
24
-
25
- confirmation_attribute_name = this.human_attribute_name(attribute_name);
26
- attribute_name = this.human_attribute_name(attribute_name.replace('_confirmation', ''));
27
- return "O campo " + attribute_name + " não está de acordo com o campo " + confirmation_attribute_name + ".";
28
- },
29
- associated: function(attribute_name) {
30
- attribute_name = this.human_attribute_name(attribute_name);
31
- return "O registro associado " + attribute_name + " não é válido.";
32
- },
33
- server: function(attribute_name, options) {
34
- if (attribute_name === 'base') {
35
- return options.server_message;
36
- } else {
37
- attribute_name = this.human_attribute_name(attribute_name);
38
- return "" + attribute_name + " " + options.server_message + ".";
39
- }
40
- },
41
- type: function(attribute_name, options) {
42
- attribute_name = this.human_attribute_name(attribute_name);
43
- return "O campo " + attribute_name + " não está válido.";
44
- }
45
- };
46
-
47
- errorsable = stampit({
48
- add: function(attribute_name, message_key, options) {
49
- var translator;
50
-
51
- this.push([attribute_name, message_key, options]);
52
- this.messages[attribute_name] = '';
53
- translator = messages[message_key];
54
- if (translator != null) {
55
- return this.messages[attribute_name] += translator.call(this.model, attribute_name, options);
56
- } else {
57
- return this.messages[attribute_name] += message_key;
58
- }
59
- },
60
- clear: function() {
61
- var attribute_name, _results;
1
+ (function() {
2
+ var errorsable, extensions, initializers, manager, messages, observable, root, stampit, type;
62
3
 
63
- if (this.length) {
64
- this.length = 0;
65
- _results = [];
66
- for (attribute_name in this.messages) {
67
- _results.push(this.messages[attribute_name] = null);
4
+ require('./translationable');
5
+
6
+ root = typeof exports !== "undefined" && exports !== null ? exports : this;
7
+
8
+ stampit = require('../../vendor/stampit');
9
+
10
+ observable = require('observable').mixin;
11
+
12
+ type = require('type');
13
+
14
+ messages = {
15
+ blank: function(attribute_name) {
16
+ attribute_name = this.human_attribute_name(attribute_name);
17
+ return "O campo " + attribute_name + " não pode ficar em branco.";
18
+ },
19
+ cpf: function(attribute_name) {
20
+ attribute_name = this.human_attribute_name(attribute_name);
21
+ return "O campo " + attribute_name + " não está válido.";
22
+ },
23
+ confirmation: function(attribute_name) {
24
+ var confirmation_attribute_name;
25
+ confirmation_attribute_name = this.human_attribute_name(attribute_name);
26
+ attribute_name = this.human_attribute_name(attribute_name.replace('_confirmation', ''));
27
+ return "O campo " + attribute_name + " não está de acordo com o campo " + confirmation_attribute_name + ".";
28
+ },
29
+ associated: function(attribute_name) {
30
+ attribute_name = this.human_attribute_name(attribute_name);
31
+ return "O registro associado " + attribute_name + " não é válido.";
32
+ },
33
+ server: function(attribute_name, options) {
34
+ if (attribute_name === 'base') {
35
+ return options.server_message;
36
+ } else {
37
+ attribute_name = this.human_attribute_name(attribute_name);
38
+ return "" + attribute_name + " " + options.server_message + ".";
68
39
  }
69
- return _results;
40
+ },
41
+ type: function(attribute_name, options) {
42
+ attribute_name = this.human_attribute_name(attribute_name);
43
+ return "O campo " + attribute_name + " não está válido.";
70
44
  }
71
- },
72
- push: Array.prototype.push,
73
- splice: Array.prototype.splice,
74
- indexOf: Array.prototype.indexOf
75
- }, {
76
- model: null,
77
- messages: null,
78
- length: 0
79
- }, function() {
80
- this.messages = {};
81
- return this;
82
- });
83
-
84
- initializers = {
85
- define_triggers: function() {
86
- this.errors = errorsable({
87
- model: model[this.resource]
88
- });
89
- this.before('save', function() {
90
- if (this.save) {
91
- return this.validate();
92
- }
93
- });
94
- this.validated = false;
95
- this.subscribe('dirty', function(value) {
96
- return value && (this.validated = false);
97
- });
98
- return Object.defineProperty(this, 'valid', {
99
- get: function() {
100
- this.validate();
101
- if (this.validation.state() === 'resolved') {
102
- return !this.errors.length;
103
- } else {
104
- return null;
105
- }
106
- },
107
- set: function() {
108
- throw new TypeError("You can't set the value for the valid property.");
109
- },
110
- enumerable: false
111
- });
112
- },
113
- create_validators: function(definitions) {
114
- var definition, name, validator, validator_options, _ref, _results;
115
-
116
- this.validators = [];
117
- _ref = manager.validators;
118
- _results = [];
119
- for (name in _ref) {
120
- validator = _ref[name];
121
- definition = definitions[validator.definition_key];
122
- if (definition) {
123
- if (type(definition) !== 'array') {
124
- definition = [definition];
125
- }
126
- _results.push((function() {
127
- var _i, _len, _results1;
128
-
129
- _results1 = [];
130
- for (_i = 0, _len = definition.length; _i < _len; _i++) {
131
- validator_options = definition[_i];
132
- if (type(validator_options) !== 'object') {
133
- validator_options = {
134
- attribute_name: validator_options
135
- };
136
- }
137
- validator_options.model = this;
138
- this.validators.push(validator(validator_options));
139
- _results1.push(delete definitions[validator.definition_key]);
140
- }
141
- return _results1;
142
- }).call(this));
45
+ };
46
+
47
+ errorsable = stampit({
48
+ add: function(attribute_name, message_key, options) {
49
+ var translator;
50
+ this.push([attribute_name, message_key, options]);
51
+ this.messages[attribute_name] = '';
52
+ translator = messages[message_key];
53
+ if (translator != null) {
54
+ return this.messages[attribute_name] += translator.call(this.model, attribute_name, options);
143
55
  } else {
144
- _results.push(void 0);
56
+ return this.messages[attribute_name] += message_key;
145
57
  }
146
- }
147
- return _results;
148
- }
149
- };
150
-
151
- extensions = {
152
- model: {
153
- validators: null
154
- },
155
- record: {
156
- validate_attribute: function(attribute, doned, failed) {
157
- var results, validation, validator, _i, _len, _ref;
158
-
159
- this.errors.messages[attribute] = null;
160
- results = [this, attribute];
161
- _ref = model[this.resource.toString()].validators;
162
- for (_i = 0, _len = _ref.length; _i < _len; _i++) {
163
- validator = _ref[_i];
164
- if (validator.attribute_name === attribute) {
165
- results.push(validator.validate_each(this, validator.attribute_name, this[validator.attribute_name]));
166
- }
58
+ },
59
+ clear: function() {
60
+ var attribute_name, _results;
61
+ if (this.length) {
62
+ this.length = 0;
63
+ _results = [];
64
+ for (attribute_name in this.messages) {
65
+ _results.push(this.messages[attribute_name] = null);
66
+ }
67
+ return _results;
167
68
  }
168
- validation = jQuery.when.apply(jQuery, results);
169
- validation.done(doned);
170
- validation.fail(failed);
171
- return validation;
172
69
  },
173
- validate: function(doned, failed) {
174
- var results, validator, _i, _len, _ref;
175
-
176
- if (this.validated && !this.dirty) {
177
- return this.validation;
70
+ push: Array.prototype.push,
71
+ splice: Array.prototype.splice,
72
+ indexOf: Array.prototype.indexOf
73
+ }, {
74
+ model: null,
75
+ messages: null,
76
+ length: 0
77
+ }, function() {
78
+ this.messages = {};
79
+ return this;
80
+ });
81
+
82
+ initializers = {
83
+ define_triggers: function() {
84
+ this.errors = errorsable({
85
+ model: model[this.resource]
86
+ });
87
+ this.before('save', function() {
88
+ if (this.save) return this.validate();
89
+ });
90
+ this.validated = false;
91
+ this.subscribe('dirty', function(value) {
92
+ return value && (this.validated = false);
93
+ });
94
+ return Object.defineProperty(this, 'valid', {
95
+ get: function() {
96
+ this.validate();
97
+ if (this.validation.state() === 'resolved') {
98
+ return !this.errors.length;
99
+ } else {
100
+ return null;
101
+ }
102
+ },
103
+ set: function() {
104
+ throw new TypeError("You can't set the value for the valid property.");
105
+ },
106
+ enumerable: false
107
+ });
108
+ },
109
+ create_validators: function(definitions) {
110
+ var definition, name, validator, validator_options, _ref, _results;
111
+ this.validators = [];
112
+ _ref = manager.validators;
113
+ _results = [];
114
+ for (name in _ref) {
115
+ validator = _ref[name];
116
+ definition = definitions[validator.definition_key];
117
+ if (definition) {
118
+ if (type(definition) !== 'array') definition = [definition];
119
+ _results.push((function() {
120
+ var _i, _len, _results2;
121
+ _results2 = [];
122
+ for (_i = 0, _len = definition.length; _i < _len; _i++) {
123
+ validator_options = definition[_i];
124
+ if (type(validator_options) !== 'object') {
125
+ validator_options = {
126
+ attribute_name: validator_options
127
+ };
128
+ }
129
+ validator_options.model = this;
130
+ this.validators.push(validator(validator_options));
131
+ _results2.push(delete definitions[validator.definition_key]);
132
+ }
133
+ return _results2;
134
+ }).call(this));
135
+ } else {
136
+ _results.push(void 0);
137
+ }
178
138
  }
179
- this.errors.clear();
180
- results = [this];
181
- _ref = model[this.resource.toString()].validators;
182
- for (_i = 0, _len = _ref.length; _i < _len; _i++) {
183
- validator = _ref[_i];
184
- results.push(validator.validate_each(this, validator.attribute_name, this[validator.attribute_name]));
139
+ return _results;
140
+ }
141
+ };
142
+
143
+ extensions = {
144
+ model: {
145
+ validators: null
146
+ },
147
+ record: {
148
+ validate_attribute: function(attribute, doned, failed) {
149
+ var results, validation, validator, _i, _len, _ref;
150
+ this.errors.messages[attribute] = null;
151
+ results = [this, attribute];
152
+ _ref = model[this.resource.toString()].validators;
153
+ for (_i = 0, _len = _ref.length; _i < _len; _i++) {
154
+ validator = _ref[_i];
155
+ if (validator.attribute_name === attribute) {
156
+ results.push(validator.validate_each(this, validator.attribute_name, this[validator.attribute_name]));
157
+ }
158
+ }
159
+ validation = jQuery.when.apply(jQuery, results);
160
+ validation.done(doned);
161
+ validation.fail(failed);
162
+ return validation;
163
+ },
164
+ validate: function(doned, failed) {
165
+ var results, validator, _i, _len, _ref;
166
+ if (this.validated && !this.dirty) return this.validation;
167
+ this.errors.clear();
168
+ results = [this];
169
+ _ref = model[this.resource.toString()].validators;
170
+ for (_i = 0, _len = _ref.length; _i < _len; _i++) {
171
+ validator = _ref[_i];
172
+ results.push(validator.validate_each(this, validator.attribute_name, this[validator.attribute_name]));
173
+ }
174
+ this.validation = jQuery.when.apply(jQuery, results);
175
+ this.validation.done(doned);
176
+ this.validation.fail(failed);
177
+ return this.validation.done(function(record) {
178
+ return record.validated || (record.validated = true);
179
+ });
185
180
  }
186
- this.validation = jQuery.when.apply(jQuery, results);
187
- this.validation.done(doned);
188
- this.validation.fail(failed);
189
- return this.validation.done(function(record) {
190
- var old_dirty;
191
-
192
- old_dirty = record.dirty;
193
- record.dirty = null;
194
- record.validated || (record.validated = true);
195
- record.dirty = old_dirty;
196
- return record;
197
- });
198
181
  }
199
- }
200
- };
182
+ };
183
+
184
+ manager = {
185
+ validators: {}
186
+ };
201
187
 
202
- manager = {
203
- validators: {}
204
- };
188
+ model.mix(function(modelable) {
189
+ jQuery.extend(modelable, extensions.model);
190
+ jQuery.extend(modelable.record, extensions.record);
191
+ modelable.after_mix.unshift(initializers.create_validators);
192
+ modelable.record.after_initialize.push(initializers.define_triggers);
193
+ return model.validators = manager.validators;
194
+ });
205
195
 
206
- model.mix(function(modelable) {
207
- jQuery.extend(modelable, extensions.model);
208
- jQuery.extend(modelable.record, extensions.record);
209
- modelable.after_mix.unshift(initializers.create_validators);
210
- modelable.record.after_initialize.push(initializers.define_triggers);
211
- return model.validators = manager.validators;
212
- });
196
+ manager.validators.confirmation = require('./validations/confirmation');
213
197
 
214
- manager.validators.confirmation = require('./validations/confirmation');
198
+ manager.validators.associated = require('./validations/associated');
215
199
 
216
- manager.validators.associated = require('./validations/associated');
200
+ manager.validators.presence = require('./validations/presence');
217
201
 
218
- manager.validators.presence = require('./validations/presence');
202
+ manager.validators.remote = require('./validations/remote');
219
203
 
220
- manager.validators.remote = require('./validations/remote');
204
+ manager.validators.type = require('./validations/type');
221
205
 
222
- manager.validators.type = require('./validations/type');
206
+ manager.validators.cpf = require('./validations/cpf');
223
207
 
224
- manager.validators.cpf = require('./validations/cpf');
208
+ }).call(this);
209
+ ;
@@ -7,9 +7,7 @@ module.exports =
7
7
  post : (data) -> request.call @, 'post' , @route, data
8
8
  delete: (data) -> request.call @, 'delete', (if @_id then "#{@route}/#{@_id}" else @route), data
9
9
 
10
-
11
- # TODO move to serialization module
12
- data_for = (data) ->
10
+ request = (method, url, data) ->
13
11
  param_name = @resource.param_name || @resource.toString()
14
12
 
15
13
  # TODO optmize this serialization lookup
@@ -21,10 +19,6 @@ data_for = (data) ->
21
19
  delete data[param_name]['id']
22
20
  delete data[param_name]['_id']
23
21
 
24
- data
25
-
26
- request = (method, url, data) ->
27
- data = data_for.call @, data
28
22
 
29
23
  $.ajax
30
24
  url : url
@@ -173,18 +173,7 @@ extensions =
173
173
  @validation.fail failed
174
174
 
175
175
  # TODO store this callback
176
- @validation.done (record) ->
177
- # Disable dirty checking to prevent validation believe that
178
- # the model values has changed
179
- old_dirty = record.dirty
180
- record.dirty = null
181
-
182
- record.validated ||= true
183
-
184
- # Restore dirty state
185
- record.dirty = old_dirty
186
-
187
- record
176
+ @validation.done (record) -> record.validated ||= true
188
177
 
189
178
 
190
179
  # Validators management
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.12
4
+ version: 0.4.13
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-03-13 00:00:00.000000000 Z
11
+ date: 2014-03-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -67,6 +67,7 @@ files:
67
67
  - README.md
68
68
  - Rakefile
69
69
  - WTFP-LICENSE
70
+ - build/build.css
70
71
  - component.json
71
72
  - ende.gemspec
72
73
  - lib/assets/.gitkeep
@@ -446,7 +447,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
446
447
  version: '0'
447
448
  requirements: []
448
449
  rubyforge_project:
449
- rubygems_version: 2.0.3
450
+ rubygems_version: 2.1.11
450
451
  signing_key:
451
452
  specification_version: 4
452
453
  summary: Endë (core, middle) a web application engine for rails with aurajs.