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.
Files changed (155) hide show
  1. checksums.yaml +4 -4
  2. data/component.json +2 -2
  3. data/components/indefinido/indemma/master/component.json +27 -17
  4. data/components/indefinido/indemma/master/lib/record/associable.js +74 -75
  5. data/components/indefinido/indemma/master/lib/record/dirtyable.js +40 -0
  6. data/components/indefinido/indemma/master/lib/record/queryable.js +2 -2
  7. data/components/indefinido/indemma/master/lib/record/resource.js +1 -1
  8. data/components/indefinido/indemma/master/lib/record/rest.js +7 -2
  9. data/components/indefinido/indemma/master/lib/record/restfulable.js +37 -10
  10. data/components/indefinido/indemma/master/lib/record/scopable.js +20 -47
  11. data/components/indefinido/indemma/master/lib/record/storable.js +11 -0
  12. data/components/indefinido/indemma/master/lib/record/validatable.js +195 -1068
  13. data/components/indefinido/indemma/master/lib/record.js +1 -1
  14. data/components/indefinido/indemma/master/vendor/stampit.js +568 -242
  15. data/components/indefinido/observable/es6-modules/component.json +39 -0
  16. data/components/indefinido/{indemma/master/components/indefinido-observable → observable/es6-modules}/lib/adapters/rivets.js +3 -1
  17. data/components/indefinido/observable/es6-modules/lib/legacy/notifierable.js +145 -0
  18. data/components/indefinido/observable/es6-modules/lib/legacy/schedulerable.js +114 -0
  19. data/components/indefinido/observable/es6-modules/lib/lookup.js +38 -0
  20. data/components/indefinido/observable/es6-modules/lib/observable/keypath_observer.js +38 -0
  21. data/components/indefinido/observable/es6-modules/lib/observable/observation.js +45 -0
  22. data/components/indefinido/observable/es6-modules/lib/observable/selection.js +57 -0
  23. data/components/indefinido/observable/es6-modules/lib/observable/self_observer.js +38 -0
  24. data/components/indefinido/observable/es6-modules/lib/observable.js +90 -0
  25. data/components/indefinido/observable/es6-modules/lib/platform.js +12 -0
  26. data/components/indefinido/observable/es6-modules/vendor/observe-js/observe.js +1631 -0
  27. data/components/indefinido/{indemma/master/components/indefinido-observable → observable/es6-modules}/vendor/shims/accessors.js +85 -10
  28. data/lib/assets/javascripts/aura/extensions/rivets.js.coffee +1 -1
  29. data/lib/ende/version.rb +1 -1
  30. data/vendor/assets/components/ende_build.js +18379 -26828
  31. metadata +20 -128
  32. data/components/indefinido/indemma/master/.gitignore +0 -17
  33. data/components/indefinido/indemma/master/.ruby-gemset +0 -1
  34. data/components/indefinido/indemma/master/.ruby-version +0 -1
  35. data/components/indefinido/indemma/master/Gemfile +0 -13
  36. data/components/indefinido/indemma/master/Guardfile +0 -39
  37. data/components/indefinido/indemma/master/History.md +0 -0
  38. data/components/indefinido/indemma/master/Readme.md +0 -447
  39. data/components/indefinido/indemma/master/build/build.js +0 -26288
  40. data/components/indefinido/indemma/master/build/development.js +0 -22200
  41. data/components/indefinido/indemma/master/build/release.js +0 -22139
  42. data/components/indefinido/indemma/master/build/test.js +0 -22200
  43. data/components/indefinido/indemma/master/components/chaijs-assertion-error/component.json +0 -18
  44. data/components/indefinido/indemma/master/components/chaijs-assertion-error/index.js +0 -110
  45. data/components/indefinido/indemma/master/components/chaijs-chai/component.json +0 -47
  46. data/components/indefinido/indemma/master/components/chaijs-chai/index.js +0 -1
  47. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/assertion.js +0 -130
  48. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/core/assertions.js +0 -1270
  49. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/interface/assert.js +0 -1080
  50. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/interface/expect.js +0 -12
  51. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/interface/should.js +0 -76
  52. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/addChainableMethod.js +0 -94
  53. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/addMethod.js +0 -37
  54. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/addProperty.js +0 -40
  55. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/eql.js +0 -129
  56. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/flag.js +0 -32
  57. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/getActual.js +0 -19
  58. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/getEnumerableProperties.js +0 -25
  59. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/getMessage.js +0 -49
  60. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/getName.js +0 -20
  61. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/getPathValue.js +0 -102
  62. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/getProperties.js +0 -35
  63. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/index.js +0 -108
  64. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/inspect.js +0 -320
  65. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/objDisplay.js +0 -48
  66. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/overwriteMethod.js +0 -51
  67. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/overwriteProperty.js +0 -54
  68. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/test.js +0 -26
  69. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/transferFlags.js +0 -44
  70. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai/utils/type.js +0 -45
  71. data/components/indefinido/indemma/master/components/chaijs-chai/lib/chai.js +0 -80
  72. data/components/indefinido/indemma/master/components/component-bind/component.json +0 -14
  73. data/components/indefinido/indemma/master/components/component-bind/index.js +0 -24
  74. data/components/indefinido/indemma/master/components/component-jquery/component.json +0 -14
  75. data/components/indefinido/indemma/master/components/component-jquery/index.js +0 -9601
  76. data/components/indefinido/indemma/master/components/component-type/component.json +0 -18
  77. data/components/indefinido/indemma/master/components/component-type/index.js +0 -32
  78. data/components/indefinido/indemma/master/components/indefinido-advisable/component.json +0 -21
  79. data/components/indefinido/indemma/master/components/indefinido-advisable/index.js +0 -1
  80. data/components/indefinido/indemma/master/components/indefinido-advisable/lib/advisable.js +0 -60
  81. data/components/indefinido/indemma/master/components/indefinido-observable/component.json +0 -25
  82. data/components/indefinido/indemma/master/components/indefinido-observable/components/cjohansen-sinon/sinon.js +0 -4290
  83. data/components/indefinido/indemma/master/components/indefinido-observable/lib/observable.js +0 -323
  84. data/components/indefinido/indemma/master/components/kapit-observe-utils/component.json +0 -13
  85. data/components/indefinido/indemma/master/components/paulmillr-es6-shim/component.json +0 -17
  86. data/components/indefinido/indemma/master/components/paulmillr-es6-shim/es6-shim.js +0 -996
  87. data/components/indefinido/indemma/master/components/pluma-assimilate/component.json +0 -25
  88. data/components/indefinido/indemma/master/components/pluma-assimilate/dist/assimilate.js +0 -127
  89. data/components/indefinido/indemma/master/karma.conf.js +0 -76
  90. data/components/indefinido/indemma/master/package.json +0 -9
  91. data/components/indefinido/indemma/master/spec/record/associable_spec.js +0 -137
  92. data/components/indefinido/indemma/master/spec/record/persistable_spec.js +0 -36
  93. data/components/indefinido/indemma/master/spec/record/queryable_spec.js +0 -33
  94. data/components/indefinido/indemma/master/spec/record/resource_spec.js +0 -93
  95. data/components/indefinido/indemma/master/spec/record/rest_spec.js +0 -32
  96. data/components/indefinido/indemma/master/spec/record/restfulable_spec.js +0 -300
  97. data/components/indefinido/indemma/master/spec/record/scopable_spec.js +0 -212
  98. data/components/indefinido/indemma/master/spec/record/storable_spec.js +0 -53
  99. data/components/indefinido/indemma/master/spec/record/translationable.js +0 -28
  100. data/components/indefinido/indemma/master/spec/record/validatable_spec.js +0 -111
  101. data/components/indefinido/indemma/master/spec/record/validations/associated_spec.js +0 -43
  102. data/components/indefinido/indemma/master/spec/record/validations/confirmation_spec.js +0 -36
  103. data/components/indefinido/indemma/master/spec/record/validations/cpf_spec.js +0 -35
  104. data/components/indefinido/indemma/master/spec/record/validations/presence_spec.js +0 -28
  105. data/components/indefinido/indemma/master/spec/record/validations/remote_spec.js +0 -87
  106. data/components/indefinido/indemma/master/spec/record/validations/type_spec.js +0 -48
  107. data/components/indefinido/indemma/master/spec/record_spec.js +0 -37
  108. data/components/indefinido/indemma/master/spec/spec_helper.js +0 -11
  109. data/components/indefinido/indemma/master/spec/support/value_objects/phone.js +0 -45
  110. data/components/indefinido/indemma/master/src/lib/extensions/rivets.coffee +0 -17
  111. data/components/indefinido/indemma/master/src/lib/record/associable.coffee +0 -380
  112. data/components/indefinido/indemma/master/src/lib/record/errors.coffee +0 -20
  113. data/components/indefinido/indemma/master/src/lib/record/maid.coffee +0 -16
  114. data/components/indefinido/indemma/master/src/lib/record/persistable.coffee +0 -32
  115. data/components/indefinido/indemma/master/src/lib/record/queryable.coffee +0 -30
  116. data/components/indefinido/indemma/master/src/lib/record/resource.coffee +0 -106
  117. data/components/indefinido/indemma/master/src/lib/record/rest.coffee +0 -28
  118. data/components/indefinido/indemma/master/src/lib/record/restfulable.coffee +0 -447
  119. data/components/indefinido/indemma/master/src/lib/record/scopable.coffee +0 -294
  120. data/components/indefinido/indemma/master/src/lib/record/storable.coffee +0 -46
  121. data/components/indefinido/indemma/master/src/lib/record/translationable.coffee +0 -18
  122. data/components/indefinido/indemma/master/src/lib/record/validatable.coffee +0 -207
  123. data/components/indefinido/indemma/master/src/lib/record/validations/associated.coffee +0 -30
  124. data/components/indefinido/indemma/master/src/lib/record/validations/confirmation.coffee +0 -17
  125. data/components/indefinido/indemma/master/src/lib/record/validations/cpf.coffee +0 -57
  126. data/components/indefinido/indemma/master/src/lib/record/validations/presence.coffee +0 -16
  127. data/components/indefinido/indemma/master/src/lib/record/validations/remote.coffee +0 -61
  128. data/components/indefinido/indemma/master/src/lib/record/validations/type.coffee +0 -31
  129. data/components/indefinido/indemma/master/src/lib/record/validations/validatorable.coffee +0 -5
  130. data/components/indefinido/indemma/master/src/lib/record.coffee +0 -138
  131. data/components/indefinido/indemma/master/src/spec/record/associable_spec.coffee +0 -130
  132. data/components/indefinido/indemma/master/src/spec/record/persistable_spec.coffee +0 -30
  133. data/components/indefinido/indemma/master/src/spec/record/queryable_spec.coffee +0 -27
  134. data/components/indefinido/indemma/master/src/spec/record/resource_spec.coffee +0 -69
  135. data/components/indefinido/indemma/master/src/spec/record/rest_spec.coffee +0 -22
  136. data/components/indefinido/indemma/master/src/spec/record/restfulable_spec.coffee +0 -215
  137. data/components/indefinido/indemma/master/src/spec/record/scopable_spec.coffee +0 -191
  138. data/components/indefinido/indemma/master/src/spec/record/storable_spec.coffee +0 -40
  139. data/components/indefinido/indemma/master/src/spec/record/translationable.coffee +0 -19
  140. data/components/indefinido/indemma/master/src/spec/record/validatable_spec.coffee +0 -100
  141. data/components/indefinido/indemma/master/src/spec/record/validations/associated_spec.coffee +0 -35
  142. data/components/indefinido/indemma/master/src/spec/record/validations/confirmation_spec.coffee +0 -25
  143. data/components/indefinido/indemma/master/src/spec/record/validations/cpf_spec.coffee +0 -28
  144. data/components/indefinido/indemma/master/src/spec/record/validations/presence_spec.coffee +0 -24
  145. data/components/indefinido/indemma/master/src/spec/record/validations/remote_spec.coffee +0 -74
  146. data/components/indefinido/indemma/master/src/spec/record/validations/type_spec.coffee +0 -33
  147. data/components/indefinido/indemma/master/src/spec/record_spec.coffee +0 -23
  148. data/components/indefinido/indemma/master/src/spec/spec_helper.coffee +0 -9
  149. data/components/indefinido/indemma/master/src/spec/support/value_objects/phone.coffee +0 -30
  150. data/components/indefinido/indemma/master/vendor/object/mixin.js +0 -196
  151. data/components/indefinido/indemma/master/vendor/sinon.js +0 -4290
  152. /data/components/indefinido/{indemma/master/components/indefinido-observable → observable/es6-modules}/index.js +0 -0
  153. /data/components/indefinido/{indemma/master/components/indefinido-observable → observable/es6-modules}/vendor/shims/accessors-legacy.js +0 -0
  154. /data/components/indefinido/{indemma/master/components/indefinido-observable → observable/es6-modules}/vendor/shims/array.indexOf.js +0 -0
  155. /data/components/indefinido/{indemma/master/components/indefinido-observable → observable/es6-modules}/vendor/shims/object.create.js +0 -0
@@ -1,43 +0,0 @@
1
- var root;
2
-
3
- root = typeof exports !== "undefined" && exports !== null ? exports : window;
4
-
5
- require('indemma/lib/record/validatable');
6
-
7
- describe('model ( validates_associated: ... )', function() {
8
- return describe('basic usage', function() {
9
- var address, model, person;
10
-
11
- model = root.model;
12
- person = address = null;
13
- beforeEach(function() {
14
- address = model.call({
15
- resource: 'address',
16
- street: String,
17
- validates_presence_of: 'street'
18
- });
19
- return person = model.call({
20
- resource: 'person',
21
- has_one: 'address',
22
- validates_associated: 'address'
23
- });
24
- });
25
- afterEach(function() {
26
- person.validators.length = 0;
27
- return address.validators.length = 0;
28
- });
29
- return describe('.validate()', function() {
30
- return it('should add error to record when fields does not match', function() {
31
- var arthur;
32
-
33
- arthur = person({});
34
- arthur.build_address({
35
- street: null
36
- });
37
- arthur.valid;
38
- arthur.errors.messages.should.have.deep.property('address', 'O registro associado address não é válido.');
39
- return arthur.address.errors.messages.should.have.deep.property('street', 'O campo street não pode ficar em branco.');
40
- });
41
- });
42
- });
43
- });
@@ -1,36 +0,0 @@
1
- var root;
2
-
3
- root = typeof exports !== "undefined" && exports !== null ? exports : window;
4
-
5
- require('indemma/lib/record/validatable');
6
-
7
- describe('model #() validates_confirmation_of', function() {
8
- return describe('basic usage', function() {
9
- var model, person;
10
-
11
- model = root.model;
12
- person = null;
13
- beforeEach(function() {
14
- return person = model.call({
15
- resource: 'person',
16
- password: String,
17
- validates_confirmation_of: 'password'
18
- });
19
- });
20
- afterEach(function() {
21
- return person.validators.length = 0;
22
- });
23
- return describe('#validate', function() {
24
- return it('should add error to record when fields does not match', function() {
25
- var arthur;
26
-
27
- arthur = person({
28
- password: "domo",
29
- password_confirmation: "kun"
30
- });
31
- arthur.valid;
32
- return arthur.errors.messages.should.have.deep.property('password_confirmation', 'O campo password não está de acordo com o campo password_confirmation.');
33
- });
34
- });
35
- });
36
- });
@@ -1,35 +0,0 @@
1
- var root;
2
-
3
- root = typeof exports !== "undefined" && exports !== null ? exports : window;
4
-
5
- require('indemma/lib/record/validatable');
6
-
7
- describe('model #() validates_cpf_format', function() {
8
- return describe('basic usage', function() {
9
- var model, person;
10
-
11
- model = root.model;
12
- person = null;
13
- beforeEach(function() {
14
- return person = model.call({
15
- resource: 'person',
16
- cpf: String,
17
- validates_cpf_format: 'cpf'
18
- });
19
- });
20
- afterEach(function() {
21
- return person != null ? person.validators.length = 0 : void 0;
22
- });
23
- return describe('#validate', function() {
24
- return it('should add error to record when fields is in invalid format', function() {
25
- var arthur;
26
-
27
- arthur = person({
28
- cpf: '871.943.417-00'
29
- });
30
- arthur.valid;
31
- return arthur.errors.messages.should.have.deep.property('cpf', "O campo cpf não está válido.");
32
- });
33
- });
34
- });
35
- });
@@ -1,28 +0,0 @@
1
- var root;
2
-
3
- root = typeof exports !== "undefined" && exports !== null ? exports : window;
4
-
5
- require('indemma/lib/record/validatable');
6
-
7
- describe('model #() validates presence of', function() {
8
- return describe('basic usage', function() {
9
- var model, person;
10
-
11
- model = root.model;
12
- person = null;
13
- beforeEach(function() {
14
- return person = model.call({
15
- resource: 'person',
16
- name: String,
17
- belongs_to: 'corporation',
18
- validates_presence_of: 'name'
19
- });
20
- });
21
- afterEach(function() {
22
- return person.validators.length = 0;
23
- });
24
- return describe('#validate', function() {
25
- return it('should add error to record when required field is empty (null, undefined or \'\')');
26
- });
27
- });
28
- });
@@ -1,87 +0,0 @@
1
- var root;
2
-
3
- root = typeof exports !== "undefined" && exports !== null ? exports : window;
4
-
5
- require('indemma/lib/record/validatable');
6
-
7
- describe('model #() validates_remotely', function() {
8
- var arthur, model, person, request;
9
-
10
- model = root.model;
11
- request = arthur = person = null;
12
- describe('basic usage', function() {
13
- beforeEach(function() {
14
- person = model.call({
15
- resource: 'person',
16
- name: String,
17
- validates_remotely: 'name'
18
- });
19
- return arthur = person({
20
- name: "Arthur Dent"
21
- });
22
- });
23
- afterEach(function() {
24
- return person != null ? person.validators.length = 0 : void 0;
25
- });
26
- return describe('#validate', function() {
27
- beforeEach(function() {
28
- request = jQuery.Deferred();
29
- return sinon.stub(jQuery, "ajax").returns(request);
30
- });
31
- afterEach(function() {
32
- return jQuery.ajax.restore();
33
- });
34
- it('should send paramenters accordingly', function() {
35
- arthur.validate();
36
- jQuery.ajax.called.should.be["true"];
37
- return jQuery.ajax.calledWithMatch({
38
- url: '/people/validate',
39
- type: 'post',
40
- data: {
41
- person: {
42
- name: 'Arthur Dent'
43
- }
44
- }
45
- }).should.be["true"];
46
- });
47
- return it('should add errors to record when request responds with errors', function() {
48
- arthur.validate();
49
- request.resolveWith(arthur, [
50
- {
51
- name: ['The name should be Marvin!', 'The name should be in lowercase!']
52
- }
53
- ]);
54
- arthur.errors.length.should.be.eq(2);
55
- return arthur.errors.messages.name.should.exist;
56
- });
57
- });
58
- });
59
- return describe('with options usage', function() {
60
- beforeEach(function() {
61
- if (person != null) {
62
- person.validators.length = 0;
63
- }
64
- person = model.call({
65
- resource: 'person',
66
- name: String,
67
- validates_remotely: 'name'
68
- });
69
- return arthur = person({
70
- name: "Arthur Dent"
71
- });
72
- });
73
- return describe('#validate', function() {
74
- beforeEach(function() {
75
- request = jQuery.Deferred();
76
- return sinon.stub(jQuery, "ajax").returns(request);
77
- });
78
- afterEach(function() {
79
- return jQuery.ajax.restore();
80
- });
81
- return it('should make ajax call', function() {
82
- arthur.validate();
83
- return jQuery.ajax.called.should.be["true"];
84
- });
85
- });
86
- });
87
- });
@@ -1,48 +0,0 @@
1
- var root;
2
-
3
- root = typeof exports !== "undefined" && exports !== null ? exports : window;
4
-
5
- require('indemma/lib/record/validatable');
6
-
7
- describe('model #() validates type of', function() {
8
- return describe('basic usage', function() {
9
- var model, person;
10
-
11
- model = root.model;
12
- person = null;
13
- beforeEach(function() {
14
- return person = model.call({
15
- resource: 'person',
16
- name: String,
17
- phone: Phone,
18
- validates_type_of: ['name', 'phone']
19
- });
20
- });
21
- afterEach(function() {
22
- return person.validators.length = 0;
23
- });
24
- return describe('#validate', function() {
25
- it('should use Phone#validate to find out if attribute is valid');
26
- it('should add error to record when phone typed attribute has an non valid phone value', function() {
27
- var arthur;
28
-
29
- arthur = person({
30
- phone: new Phone('batata')
31
- });
32
- arthur.valid.should.be["false"];
33
- arthur.errors.messages.should.have.property('phone');
34
- return expect(arthur.errors.messages.phone).to.match(/não está válido/);
35
- });
36
- return it('should throw error to when phone typed attribute has an non phone value', function() {
37
- var arthur;
38
-
39
- arthur = person({
40
- phone: 'batata'
41
- });
42
- return expect(function() {
43
- return arthur.valid;
44
- }).to["throw"](/invalid attribute value type/i);
45
- });
46
- });
47
- });
48
- });
@@ -1,37 +0,0 @@
1
- var root;
2
-
3
- root = typeof exports !== "undefined" && exports !== null ? exports : window;
4
-
5
- describe('record', function() {
6
- var record;
7
-
8
- record = root.record;
9
- return it('should create a record', function() {
10
- var arthur;
11
-
12
- arthur = record.call({
13
- resource: 'person'
14
- });
15
- return arthur.should.be.object;
16
- });
17
- });
18
-
19
- describe('model', function() {
20
- var model;
21
-
22
- model = root.model;
23
- return describe('#()', function() {
24
- xit('should throw exception if no resource is passed');
25
- return it('should create a record factory', function() {
26
- var john, person;
27
-
28
- person = model.call({
29
- resource: 'person'
30
- });
31
- person.should.be.object;
32
- john = person();
33
- john.should.be.object;
34
- return john.resource.should.have.property('name', 'person');
35
- });
36
- });
37
- });
@@ -1,11 +0,0 @@
1
- var chai, indemma, root;
2
-
3
- root = typeof exports !== "undefined" && exports !== null ? exports : window;
4
-
5
- indemma = require('indemma');
6
-
7
- chai = require('chaijs-chai');
8
-
9
- root.expect = chai.expect;
10
-
11
- root.should = chai.should();
@@ -1,45 +0,0 @@
1
- this.Phone = (function() {
2
- function Phone(area_code, number) {
3
- var _ref;
4
-
5
- this.area_code = area_code;
6
- this.number = number;
7
- if (typeof this.area_code === 'object') {
8
- _ref = this.area_code, this.area_code = _ref.area_code, this.number = _ref.number;
9
- }
10
- if (!this.number) {
11
- this.number = this.area_code;
12
- this.area_code = null;
13
- }
14
- Object.defineProperty(this, 'valid', {
15
- get: this.validate
16
- });
17
- }
18
-
19
- Phone.prototype.validate = function() {
20
- return (this.area_code != null) && (this.number != null);
21
- };
22
-
23
- Phone.prototype.toString = function() {
24
- var formatted_number;
25
-
26
- if (this.number != null) {
27
- formatted_number = this.number.substr(0, 4) + '-' + this.number.substr(4);
28
- }
29
- if (this.area_code != null) {
30
- return "(" + this.area_code + ") " + formatted_number;
31
- } else {
32
- return formatted_number;
33
- }
34
- };
35
-
36
- Phone.prototype.toJSON = function() {
37
- return {
38
- area_code: this.area_code,
39
- number: this.number
40
- };
41
- };
42
-
43
- return Phone;
44
-
45
- })();
@@ -1,17 +0,0 @@
1
- root = exports ? this
2
-
3
- model.rivets = ->
4
-
5
- model_extensions =
6
- record:
7
- tie: (element) ->
8
- lasso = {}
9
- lasso[@resource] = @
10
- rivets.bind element, lasso
11
-
12
- # Always preload data into the template
13
- preloadData: true
14
-
15
- model.mix (modelable) ->
16
- # TODO remove jquery dependency
17
- $.extend true, modelable, model_extensions