ende 0.5.20 → 0.5.21

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 (203) hide show
  1. checksums.yaml +4 -4
  2. data/component.json +1 -1
  3. data/components/indefinido/indemma/master/.gitignore +17 -0
  4. data/components/indefinido/indemma/master/.ruby-gemset +1 -0
  5. data/components/indefinido/indemma/master/.ruby-version +1 -0
  6. data/components/indefinido/indemma/master/Gemfile +12 -0
  7. data/components/indefinido/indemma/master/Guardfile +39 -0
  8. data/components/indefinido/indemma/master/History.md +0 -0
  9. data/components/indefinido/indemma/master/Readme.md +445 -0
  10. data/components/indefinido/indemma/master/build/development.js +26123 -0
  11. data/components/indefinido/indemma/master/build/release.js +16741 -0
  12. data/components/indefinido/indemma/master/build/test.js +26123 -0
  13. data/components/indefinido/indemma/master/component.json +1 -1
  14. data/components/indefinido/indemma/master/components/chaijs/assertion-error/1.0.0/component.json +18 -0
  15. data/components/indefinido/indemma/master/components/chaijs/assertion-error/1.0.0/index.js +110 -0
  16. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/.gitignore +22 -0
  17. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/.mailmap +1 -0
  18. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/.npmignore +14 -0
  19. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/.travis.yml +14 -0
  20. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/CONTRIBUTING.md +173 -0
  21. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/History.md +895 -0
  22. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/Makefile +93 -0
  23. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/README.md +99 -0
  24. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/ReleaseNotes.md +482 -0
  25. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/bower.json +27 -0
  26. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/chai.js +4782 -0
  27. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/component.json +50 -0
  28. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/index.js +1 -0
  29. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/karma.conf.js +28 -0
  30. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/karma.sauce.js +41 -0
  31. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/assertion.js +130 -0
  32. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/config.js +50 -0
  33. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/core/assertions.js +1314 -0
  34. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/interface/assert.js +1056 -0
  35. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/interface/expect.js +12 -0
  36. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/interface/should.js +78 -0
  37. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/utils/addChainableMethod.js +111 -0
  38. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/utils/addMethod.js +43 -0
  39. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/utils/addProperty.js +40 -0
  40. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/utils/flag.js +32 -0
  41. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/utils/getActual.js +18 -0
  42. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/utils/getEnumerableProperties.js +25 -0
  43. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/utils/getMessage.js +49 -0
  44. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/utils/getName.js +20 -0
  45. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/utils/getPathValue.js +102 -0
  46. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/utils/getProperties.js +35 -0
  47. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/utils/index.js +114 -0
  48. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/utils/inspect.js +320 -0
  49. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/utils/objDisplay.js +49 -0
  50. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/utils/overwriteChainableMethod.js +53 -0
  51. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/utils/overwriteMethod.js +51 -0
  52. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/utils/overwriteProperty.js +54 -0
  53. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/utils/test.js +26 -0
  54. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/utils/transferFlags.js +44 -0
  55. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai/utils/type.js +45 -0
  56. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/lib/chai.js +87 -0
  57. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/package.json +42 -0
  58. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/sauce.browsers.js +128 -0
  59. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/support/sauce/sauce_connect_block.sh +7 -0
  60. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/support/sauce/sauce_connect_setup.sh +53 -0
  61. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/test/assert.js +638 -0
  62. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/test/auth/.gitkeep +0 -0
  63. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/test/bootstrap/index.js +22 -0
  64. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/test/bootstrap/karma.js +22 -0
  65. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/test/configuration.js +133 -0
  66. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/test/display/errors.js +14 -0
  67. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/test/display/message.js +47 -0
  68. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/test/expect.js +814 -0
  69. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/test/globalShould.js +15 -0
  70. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/test/plugins.js +24 -0
  71. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/test/should.js +744 -0
  72. data/components/indefinido/indemma/master/components/chaijs/chai/1.9.1/test/utilities.js +309 -0
  73. data/components/indefinido/indemma/master/components/chaijs/deep-eql/0.1.3/component.json +20 -0
  74. data/components/indefinido/indemma/master/components/chaijs/deep-eql/0.1.3/lib/eql.js +257 -0
  75. data/components/indefinido/indemma/master/components/chaijs/type-detect/0.1.1/component.json +18 -0
  76. data/components/indefinido/indemma/master/components/chaijs/type-detect/0.1.1/lib/type.js +142 -0
  77. data/components/indefinido/indemma/master/components/component/bind/1.0.0/component.json +14 -0
  78. data/components/indefinido/indemma/master/components/component/bind/1.0.0/index.js +23 -0
  79. data/components/indefinido/indemma/master/components/component/jquery/1.0.0/component.json +10 -0
  80. data/components/indefinido/indemma/master/components/component/jquery/1.0.0/index.js +10308 -0
  81. data/components/indefinido/indemma/master/components/component/type/1.0.0/component.json +20 -0
  82. data/components/indefinido/indemma/master/components/component/type/1.0.0/index.js +32 -0
  83. data/components/indefinido/indemma/master/components/indefinido/advisable/master/component.json +21 -0
  84. data/components/indefinido/indemma/master/components/indefinido/advisable/master/index.js +1 -0
  85. data/components/indefinido/indemma/master/components/indefinido/advisable/master/lib/advisable.js +60 -0
  86. data/components/indefinido/indemma/master/components/indefinido/observable/es6-modules/component.json +39 -0
  87. data/components/indefinido/indemma/master/components/indefinido/observable/es6-modules/index.js +1 -0
  88. data/components/indefinido/indemma/master/components/indefinido/observable/es6-modules/lib/adapters/rivets.js +40 -0
  89. data/components/indefinido/indemma/master/components/indefinido/observable/es6-modules/lib/legacy/notifierable.js +145 -0
  90. data/components/indefinido/indemma/master/components/indefinido/observable/es6-modules/lib/legacy/schedulerable.js +147 -0
  91. data/components/indefinido/indemma/master/components/indefinido/observable/es6-modules/lib/lookup.js +38 -0
  92. data/components/indefinido/indemma/master/components/indefinido/observable/es6-modules/lib/observable/keypath_observer.js +38 -0
  93. data/components/indefinido/indemma/master/components/indefinido/observable/es6-modules/lib/observable/observation.js +45 -0
  94. data/components/indefinido/indemma/master/components/indefinido/observable/es6-modules/lib/observable/selection.js +57 -0
  95. data/components/indefinido/indemma/master/components/indefinido/observable/es6-modules/lib/observable/self_observer.js +38 -0
  96. data/components/indefinido/indemma/master/components/indefinido/observable/es6-modules/lib/observable.js +97 -0
  97. data/components/indefinido/indemma/master/components/indefinido/observable/es6-modules/lib/platform.js +12 -0
  98. data/components/indefinido/indemma/master/components/indefinido/observable/es6-modules/vendor/observe-js/observe.js +1631 -0
  99. data/components/indefinido/indemma/master/components/indefinido/observable/es6-modules/vendor/shims/accessors-legacy.js +92 -0
  100. data/components/indefinido/indemma/master/components/indefinido/observable/es6-modules/vendor/shims/accessors.js +248 -0
  101. data/components/indefinido/indemma/master/components/indefinido/observable/es6-modules/vendor/shims/array.indexOf.js +8 -0
  102. data/components/indefinido/indemma/master/components/indefinido/observable/es6-modules/vendor/shims/object.create.js +77 -0
  103. data/components/indefinido/indemma/master/components/pluma/assimilate/0.4.0/component.json +25 -0
  104. data/components/indefinido/indemma/master/components/pluma/assimilate/0.4.0/dist/assimilate.js +127 -0
  105. data/components/indefinido/indemma/master/karma.conf.js +75 -0
  106. data/components/indefinido/indemma/master/lib/record/associable.js +4 -2
  107. data/components/indefinido/indemma/master/lib/record/dirtyable.js +1 -1
  108. data/components/indefinido/indemma/master/package.json +9 -0
  109. data/components/indefinido/indemma/master/spec/record/associable_spec.js +211 -0
  110. data/components/indefinido/indemma/master/spec/record/dirtyable_spec.js +57 -0
  111. data/components/indefinido/indemma/master/spec/record/maid_spec.js +40 -0
  112. data/components/indefinido/indemma/master/spec/record/persistable_spec.js +46 -0
  113. data/components/indefinido/indemma/master/spec/record/queryable_spec.js +39 -0
  114. data/components/indefinido/indemma/master/spec/record/resource_spec.js +93 -0
  115. data/components/indefinido/indemma/master/spec/record/rest_spec.js +32 -0
  116. data/components/indefinido/indemma/master/spec/record/restfulable_spec.js +346 -0
  117. data/components/indefinido/indemma/master/spec/record/scopable_spec.js +242 -0
  118. data/components/indefinido/indemma/master/spec/record/storable_spec.js +44 -0
  119. data/components/indefinido/indemma/master/spec/record/translationable.js +28 -0
  120. data/components/indefinido/indemma/master/spec/record/validatable_spec.js +142 -0
  121. data/components/indefinido/indemma/master/spec/record/validations/associated_spec.js +43 -0
  122. data/components/indefinido/indemma/master/spec/record/validations/confirmation_spec.js +36 -0
  123. data/components/indefinido/indemma/master/spec/record/validations/cpf_spec.js +34 -0
  124. data/components/indefinido/indemma/master/spec/record/validations/presence_spec.js +28 -0
  125. data/components/indefinido/indemma/master/spec/record/validations/remote_spec.js +87 -0
  126. data/components/indefinido/indemma/master/spec/record/validations/type_spec.js +48 -0
  127. data/components/indefinido/indemma/master/spec/record_spec.js +49 -0
  128. data/components/indefinido/indemma/master/spec/spec_helper.js +15 -0
  129. data/components/indefinido/indemma/master/spec/support/value_objects/phone.js +45 -0
  130. data/components/indefinido/indemma/master/src/lib/extensions/rivets.coffee +17 -0
  131. data/components/indefinido/indemma/master/src/lib/record/associable.coffee +419 -0
  132. data/components/indefinido/indemma/master/src/lib/record/dirtyable.coffee +47 -0
  133. data/components/indefinido/indemma/master/src/lib/record/errors.coffee +20 -0
  134. data/components/indefinido/indemma/master/src/lib/record/maid.coffee +16 -0
  135. data/components/indefinido/indemma/master/src/lib/record/persistable.coffee +34 -0
  136. data/components/indefinido/indemma/master/src/lib/record/queryable.coffee +29 -0
  137. data/components/indefinido/indemma/master/src/lib/record/resource.coffee +107 -0
  138. data/components/indefinido/indemma/master/src/lib/record/rest.coffee +34 -0
  139. data/components/indefinido/indemma/master/src/lib/record/restfulable.coffee +487 -0
  140. data/components/indefinido/indemma/master/src/lib/record/scopable.coffee +279 -0
  141. data/components/indefinido/indemma/master/src/lib/record/storable.coffee +49 -0
  142. data/components/indefinido/indemma/master/src/lib/record/translationable.coffee +18 -0
  143. data/components/indefinido/indemma/master/src/lib/record/validatable.coffee +241 -0
  144. data/components/indefinido/indemma/master/src/lib/record/validations/associated.coffee +34 -0
  145. data/components/indefinido/indemma/master/src/lib/record/validations/confirmation.coffee +17 -0
  146. data/components/indefinido/indemma/master/src/lib/record/validations/cpf.coffee +57 -0
  147. data/components/indefinido/indemma/master/src/lib/record/validations/presence.coffee +16 -0
  148. data/components/indefinido/indemma/master/src/lib/record/validations/remote.coffee +61 -0
  149. data/components/indefinido/indemma/master/src/lib/record/validations/type.coffee +31 -0
  150. data/components/indefinido/indemma/master/src/lib/record/validations/validatorable.coffee +5 -0
  151. data/components/indefinido/indemma/master/src/lib/record.coffee +143 -0
  152. data/components/indefinido/indemma/master/src/spec/record/associable_spec.coffee +205 -0
  153. data/components/indefinido/indemma/master/src/spec/record/dirtyable_spec.coffee +47 -0
  154. data/components/indefinido/indemma/master/src/spec/record/maid_spec.coffee +34 -0
  155. data/components/indefinido/indemma/master/src/spec/record/persistable_spec.coffee +39 -0
  156. data/components/indefinido/indemma/master/src/spec/record/queryable_spec.coffee +33 -0
  157. data/components/indefinido/indemma/master/src/spec/record/resource_spec.coffee +69 -0
  158. data/components/indefinido/indemma/master/src/spec/record/rest_spec.coffee +22 -0
  159. data/components/indefinido/indemma/master/src/spec/record/restfulable_spec.coffee +257 -0
  160. data/components/indefinido/indemma/master/src/spec/record/scopable_spec.coffee +227 -0
  161. data/components/indefinido/indemma/master/src/spec/record/storable_spec.coffee +39 -0
  162. data/components/indefinido/indemma/master/src/spec/record/translationable.coffee +19 -0
  163. data/components/indefinido/indemma/master/src/spec/record/validatable_spec.coffee +127 -0
  164. data/components/indefinido/indemma/master/src/spec/record/validations/associated_spec.coffee +35 -0
  165. data/components/indefinido/indemma/master/src/spec/record/validations/confirmation_spec.coffee +25 -0
  166. data/components/indefinido/indemma/master/src/spec/record/validations/cpf_spec.coffee +27 -0
  167. data/components/indefinido/indemma/master/src/spec/record/validations/presence_spec.coffee +24 -0
  168. data/components/indefinido/indemma/master/src/spec/record/validations/remote_spec.coffee +74 -0
  169. data/components/indefinido/indemma/master/src/spec/record/validations/type_spec.coffee +33 -0
  170. data/components/indefinido/indemma/master/src/spec/record_spec.coffee +29 -0
  171. data/components/indefinido/indemma/master/src/spec/spec_helper.coffee +11 -0
  172. data/components/indefinido/indemma/master/src/spec/support/value_objects/phone.coffee +30 -0
  173. data/components/indefinido/indemma/master/vendor/object/mixin.js +196 -0
  174. data/components/indefinido/indemma/master/vendor/spec/sinon/assert.js +199 -0
  175. data/components/indefinido/indemma/master/vendor/spec/sinon/behavior.js +334 -0
  176. data/components/indefinido/indemma/master/vendor/spec/sinon/call.js +205 -0
  177. data/components/indefinido/indemma/master/vendor/spec/sinon/collection.js +155 -0
  178. data/components/indefinido/indemma/master/vendor/spec/sinon/match.js +245 -0
  179. data/components/indefinido/indemma/master/vendor/spec/sinon/mock.js +451 -0
  180. data/components/indefinido/indemma/master/vendor/spec/sinon/sandbox.js +144 -0
  181. data/components/indefinido/indemma/master/vendor/spec/sinon/spy.js +413 -0
  182. data/components/indefinido/indemma/master/vendor/spec/sinon/stub.js +161 -0
  183. data/components/indefinido/indemma/master/vendor/spec/sinon/test.js +77 -0
  184. data/components/indefinido/indemma/master/vendor/spec/sinon/test_case.js +99 -0
  185. data/components/indefinido/indemma/master/vendor/spec/sinon/util/event.js +94 -0
  186. data/components/indefinido/indemma/master/vendor/spec/sinon/util/fake_server.js +212 -0
  187. data/components/indefinido/indemma/master/vendor/spec/sinon/util/fake_server_with_clock.js +83 -0
  188. data/components/indefinido/indemma/master/vendor/spec/sinon/util/fake_timers.js +405 -0
  189. data/components/indefinido/indemma/master/vendor/spec/sinon/util/fake_xdomain_request.js +206 -0
  190. data/components/indefinido/indemma/master/vendor/spec/sinon/util/fake_xml_http_request.js +575 -0
  191. data/components/indefinido/indemma/master/vendor/spec/sinon/util/timers_ie.js +31 -0
  192. data/components/indefinido/indemma/master/vendor/spec/sinon/util/xdr_ie.js +14 -0
  193. data/components/indefinido/indemma/master/vendor/spec/sinon/util/xhr_ie.js +19 -0
  194. data/components/indefinido/indemma/master/vendor/spec/sinon.js +383 -0
  195. data/lib/assets/javascripts/value_objects/phone.js.coffee +3 -1
  196. data/lib/assets/javascripts/widgets/viewer/plugins/scopable.js.coffee +5 -5
  197. data/lib/ende/version.rb +1 -1
  198. data/vendor/assets/components/ende_build.css +4 -4
  199. data/vendor/assets/components/ende_build.js +7974 -7889
  200. metadata +191 -5
  201. data/vendor/assets/component/build.css +0 -112
  202. data/vendor/assets/components/build.css +0 -112
  203. data/vendor/assets/components/indemma_with_none.js +0 -30553
@@ -0,0 +1,383 @@
1
+ /*jslint eqeqeq: false, onevar: false, forin: true, nomen: false, regexp: false, plusplus: false*/
2
+ /*global module, require, __dirname, document*/
3
+ /**
4
+ * Sinon core utilities. For internal use only.
5
+ *
6
+ * @author Christian Johansen (christian@cjohansen.no)
7
+ * @license BSD
8
+ *
9
+ * Copyright (c) 2010-2013 Christian Johansen
10
+ */
11
+ "use strict";
12
+
13
+ var sinon = (function (formatio) {
14
+ var div = typeof document != "undefined" && document.createElement("div");
15
+ var hasOwn = Object.prototype.hasOwnProperty;
16
+
17
+ function isDOMNode(obj) {
18
+ var success = false;
19
+
20
+ try {
21
+ obj.appendChild(div);
22
+ success = div.parentNode == obj;
23
+ } catch (e) {
24
+ return false;
25
+ } finally {
26
+ try {
27
+ obj.removeChild(div);
28
+ } catch (e) {
29
+ // Remove failed, not much we can do about that
30
+ }
31
+ }
32
+
33
+ return success;
34
+ }
35
+
36
+ function isElement(obj) {
37
+ return div && obj && obj.nodeType === 1 && isDOMNode(obj);
38
+ }
39
+
40
+ function isFunction(obj) {
41
+ return typeof obj === "function" || !!(obj && obj.constructor && obj.call && obj.apply);
42
+ }
43
+
44
+ function isReallyNaN(val) {
45
+ return typeof val === 'number' && isNaN(val);
46
+ }
47
+
48
+ function mirrorProperties(target, source) {
49
+ for (var prop in source) {
50
+ if (!hasOwn.call(target, prop)) {
51
+ target[prop] = source[prop];
52
+ }
53
+ }
54
+ }
55
+
56
+ function isRestorable (obj) {
57
+ return typeof obj === "function" && typeof obj.restore === "function" && obj.restore.sinon;
58
+ }
59
+
60
+ var sinon = {
61
+ wrapMethod: function wrapMethod(object, property, method) {
62
+ if (!object) {
63
+ throw new TypeError("Should wrap property of object");
64
+ }
65
+
66
+ if (typeof method != "function") {
67
+ throw new TypeError("Method wrapper should be function");
68
+ }
69
+
70
+ var wrappedMethod = object[property],
71
+ error;
72
+
73
+ if (!isFunction(wrappedMethod)) {
74
+ error = new TypeError("Attempted to wrap " + (typeof wrappedMethod) + " property " +
75
+ property + " as function");
76
+ } else if (wrappedMethod.restore && wrappedMethod.restore.sinon) {
77
+ error = new TypeError("Attempted to wrap " + property + " which is already wrapped");
78
+ } else if (wrappedMethod.calledBefore) {
79
+ var verb = !!wrappedMethod.returns ? "stubbed" : "spied on";
80
+ error = new TypeError("Attempted to wrap " + property + " which is already " + verb);
81
+ }
82
+
83
+ if (error) {
84
+ if (wrappedMethod && wrappedMethod._stack) {
85
+ error.stack += '\n--------------\n' + wrappedMethod._stack;
86
+ }
87
+ throw error;
88
+ }
89
+
90
+ // IE 8 does not support hasOwnProperty on the window object and Firefox has a problem
91
+ // when using hasOwn.call on objects from other frames.
92
+ var owned = object.hasOwnProperty ? object.hasOwnProperty(property) : hasOwn.call(object, property);
93
+ object[property] = method;
94
+ method.displayName = property;
95
+ // Set up a stack trace which can be used later to find what line of
96
+ // code the original method was created on.
97
+ method._stack = (new Error('Stack Trace for original')).stack;
98
+
99
+ method.restore = function () {
100
+ // For prototype properties try to reset by delete first.
101
+ // If this fails (ex: localStorage on mobile safari) then force a reset
102
+ // via direct assignment.
103
+ if (!owned) {
104
+ delete object[property];
105
+ }
106
+ if (object[property] === method) {
107
+ object[property] = wrappedMethod;
108
+ }
109
+ };
110
+
111
+ method.restore.sinon = true;
112
+ mirrorProperties(method, wrappedMethod);
113
+
114
+ return method;
115
+ },
116
+
117
+ extend: function extend(target) {
118
+ for (var i = 1, l = arguments.length; i < l; i += 1) {
119
+ for (var prop in arguments[i]) {
120
+ if (arguments[i].hasOwnProperty(prop)) {
121
+ target[prop] = arguments[i][prop];
122
+ }
123
+
124
+ // DONT ENUM bug, only care about toString
125
+ if (arguments[i].hasOwnProperty("toString") &&
126
+ arguments[i].toString != target.toString) {
127
+ target.toString = arguments[i].toString;
128
+ }
129
+ }
130
+ }
131
+
132
+ return target;
133
+ },
134
+
135
+ create: function create(proto) {
136
+ var F = function () {};
137
+ F.prototype = proto;
138
+ return new F();
139
+ },
140
+
141
+ deepEqual: function deepEqual(a, b) {
142
+ if (sinon.match && sinon.match.isMatcher(a)) {
143
+ return a.test(b);
144
+ }
145
+
146
+ if (typeof a != 'object' || typeof b != 'object') {
147
+ if (isReallyNaN(a) && isReallyNaN(b)) {
148
+ return true;
149
+ } else {
150
+ return a === b;
151
+ }
152
+ }
153
+
154
+ if (isElement(a) || isElement(b)) {
155
+ return a === b;
156
+ }
157
+
158
+ if (a === b) {
159
+ return true;
160
+ }
161
+
162
+ if ((a === null && b !== null) || (a !== null && b === null)) {
163
+ return false;
164
+ }
165
+
166
+ if (a instanceof RegExp && b instanceof RegExp) {
167
+ return (a.source === b.source) && (a.global === b.global) &&
168
+ (a.ignoreCase === b.ignoreCase) && (a.multiline === b.multiline);
169
+ }
170
+
171
+ var aString = Object.prototype.toString.call(a);
172
+ if (aString != Object.prototype.toString.call(b)) {
173
+ return false;
174
+ }
175
+
176
+ if (aString == "[object Date]") {
177
+ return a.valueOf() === b.valueOf();
178
+ }
179
+
180
+ var prop, aLength = 0, bLength = 0;
181
+
182
+ if (aString == "[object Array]" && a.length !== b.length) {
183
+ return false;
184
+ }
185
+
186
+ for (prop in a) {
187
+ aLength += 1;
188
+
189
+ if (!(prop in b)) {
190
+ return false;
191
+ }
192
+
193
+ if (!deepEqual(a[prop], b[prop])) {
194
+ return false;
195
+ }
196
+ }
197
+
198
+ for (prop in b) {
199
+ bLength += 1;
200
+ }
201
+
202
+ return aLength == bLength;
203
+ },
204
+
205
+ functionName: function functionName(func) {
206
+ var name = func.displayName || func.name;
207
+
208
+ // Use function decomposition as a last resort to get function
209
+ // name. Does not rely on function decomposition to work - if it
210
+ // doesn't debugging will be slightly less informative
211
+ // (i.e. toString will say 'spy' rather than 'myFunc').
212
+ if (!name) {
213
+ var matches = func.toString().match(/function ([^\s\(]+)/);
214
+ name = matches && matches[1];
215
+ }
216
+
217
+ return name;
218
+ },
219
+
220
+ functionToString: function toString() {
221
+ if (this.getCall && this.callCount) {
222
+ var thisValue, prop, i = this.callCount;
223
+
224
+ while (i--) {
225
+ thisValue = this.getCall(i).thisValue;
226
+
227
+ for (prop in thisValue) {
228
+ if (thisValue[prop] === this) {
229
+ return prop;
230
+ }
231
+ }
232
+ }
233
+ }
234
+
235
+ return this.displayName || "sinon fake";
236
+ },
237
+
238
+ getConfig: function (custom) {
239
+ var config = {};
240
+ custom = custom || {};
241
+ var defaults = sinon.defaultConfig;
242
+
243
+ for (var prop in defaults) {
244
+ if (defaults.hasOwnProperty(prop)) {
245
+ config[prop] = custom.hasOwnProperty(prop) ? custom[prop] : defaults[prop];
246
+ }
247
+ }
248
+
249
+ return config;
250
+ },
251
+
252
+ format: function (val) {
253
+ return "" + val;
254
+ },
255
+
256
+ defaultConfig: {
257
+ injectIntoThis: true,
258
+ injectInto: null,
259
+ properties: ["spy", "stub", "mock", "clock", "server", "requests"],
260
+ useFakeTimers: true,
261
+ useFakeServer: true
262
+ },
263
+
264
+ timesInWords: function timesInWords(count) {
265
+ return count == 1 && "once" ||
266
+ count == 2 && "twice" ||
267
+ count == 3 && "thrice" ||
268
+ (count || 0) + " times";
269
+ },
270
+
271
+ calledInOrder: function (spies) {
272
+ for (var i = 1, l = spies.length; i < l; i++) {
273
+ if (!spies[i - 1].calledBefore(spies[i]) || !spies[i].called) {
274
+ return false;
275
+ }
276
+ }
277
+
278
+ return true;
279
+ },
280
+
281
+ orderByFirstCall: function (spies) {
282
+ return spies.sort(function (a, b) {
283
+ // uuid, won't ever be equal
284
+ var aCall = a.getCall(0);
285
+ var bCall = b.getCall(0);
286
+ var aId = aCall && aCall.callId || -1;
287
+ var bId = bCall && bCall.callId || -1;
288
+
289
+ return aId < bId ? -1 : 1;
290
+ });
291
+ },
292
+
293
+ log: function () {},
294
+
295
+ logError: function (label, err) {
296
+ var msg = label + " threw exception: ";
297
+ sinon.log(msg + "[" + err.name + "] " + err.message);
298
+ if (err.stack) { sinon.log(err.stack); }
299
+
300
+ setTimeout(function () {
301
+ err.message = msg + err.message;
302
+ throw err;
303
+ }, 0);
304
+ },
305
+
306
+ typeOf: function (value) {
307
+ if (value === null) {
308
+ return "null";
309
+ }
310
+ else if (value === undefined) {
311
+ return "undefined";
312
+ }
313
+ var string = Object.prototype.toString.call(value);
314
+ return string.substring(8, string.length - 1).toLowerCase();
315
+ },
316
+
317
+ createStubInstance: function (constructor) {
318
+ if (typeof constructor !== "function") {
319
+ throw new TypeError("The constructor should be a function.");
320
+ }
321
+ return sinon.stub(sinon.create(constructor.prototype));
322
+ },
323
+
324
+ restore: function (object) {
325
+ if (object !== null && typeof object === "object") {
326
+ for (var prop in object) {
327
+ if (isRestorable(object[prop])) {
328
+ object[prop].restore();
329
+ }
330
+ }
331
+ }
332
+ else if (isRestorable(object)) {
333
+ object.restore();
334
+ }
335
+ }
336
+ };
337
+
338
+ var isNode = typeof module !== "undefined" && module.exports && typeof require == "function";
339
+ var isAMD = typeof define === 'function' && typeof define.amd === 'object' && define.amd;
340
+
341
+ function makePublicAPI(require, exports, module) {
342
+ module.exports = sinon;
343
+ sinon.spy = require("./sinon/spy");
344
+ sinon.spyCall = require("./sinon/call");
345
+ sinon.behavior = require("./sinon/behavior");
346
+ sinon.stub = require("./sinon/stub");
347
+ sinon.mock = require("./sinon/mock");
348
+ sinon.collection = require("./sinon/collection");
349
+ sinon.assert = require("./sinon/assert");
350
+ sinon.sandbox = require("./sinon/sandbox");
351
+ sinon.test = require("./sinon/test");
352
+ sinon.testCase = require("./sinon/test_case");
353
+ sinon.match = require("./sinon/match");
354
+ }
355
+
356
+ if (isAMD) {
357
+ define(makePublicAPI);
358
+ } else if (isNode) {
359
+ try {
360
+ formatio = require("formatio");
361
+ } catch (e) {}
362
+ makePublicAPI(require, exports, module);
363
+ }
364
+
365
+ if (formatio) {
366
+ var formatter = formatio.configure({ quoteStrings: false });
367
+ sinon.format = function () {
368
+ return formatter.ascii.apply(formatter, arguments);
369
+ };
370
+ } else if (isNode) {
371
+ try {
372
+ var util = require("util");
373
+ sinon.format = function (value) {
374
+ return typeof value == "object" && value.toString === Object.prototype.toString ? util.inspect(value) : value;
375
+ };
376
+ } catch (e) {
377
+ /* Node, but no util module - would be very old, but better safe than
378
+ sorry */
379
+ }
380
+ }
381
+
382
+ return sinon;
383
+ }(typeof formatio == "object" && formatio));
@@ -48,5 +48,7 @@ define 'value_objects/phone', ->
48
48
  formatted_number or ''
49
49
 
50
50
  toJSON: ->
51
+ null unless @area_code and @number
52
+
51
53
  area_code: @area_code
52
- number: @number
54
+ number: @number
@@ -39,7 +39,11 @@ define ['stampit/stampit', 'observable'], (stampit, observable) ->
39
39
 
40
40
  scopable = stampit
41
41
  forward_scope_data: (scope_name, data) ->
42
- switch @scope['$' + scope_name].constructor
42
+ scope = @scope['$' + scope_name]
43
+
44
+ throw new TypeError "viewer.scopable: Scope '#{scope_name}' not found for resource '#{@scope.resource}'." unless scope
45
+
46
+ switch scope.constructor
43
47
  when Array
44
48
  data = [data] unless $.type(data) == 'array'
45
49
  @scope[scope_name] data...
@@ -98,7 +102,3 @@ define ['stampit/stampit', 'observable'], (stampit, observable) ->
98
102
 
99
103
 
100
104
  (widget) -> scopable widget: widget
101
-
102
-
103
-
104
-
data/lib/ende/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Ende
2
- VERSION = "0.5.20"
2
+ VERSION = "0.5.21"
3
3
  end
@@ -1,3 +1,4 @@
1
+
1
2
  .overlay {
2
3
  position: absolute;
3
4
  top: 0;
@@ -6,8 +7,6 @@
6
7
  width: 100%;
7
8
  height: 100%;
8
9
  background: rgba(0,0,0,.75);
9
- -webkit-transition: opacity 300ms;
10
- -moz-transition: opacity 300ms;
11
10
  transition: opacity 300ms;
12
11
  z-index: 500;
13
12
  }
@@ -17,6 +16,7 @@
17
16
  opacity: 0;
18
17
  }
19
18
 
19
+
20
20
  #dialog {
21
21
  position: fixed;
22
22
  left: 50%;
@@ -100,7 +100,6 @@
100
100
 
101
101
  #dialog.scale {
102
102
  -webkit-transition: -webkit-transform 300ms;
103
- -moz-transition: -moz-transform 300ms;
104
103
  -webkit-transform: scale(1);
105
104
  -moz-transform: scale(1);
106
105
  }
@@ -108,4 +107,5 @@
108
107
  #dialog.scale.hide {
109
108
  -webkit-transform: scale(0);
110
109
  -moz-transform: scale(0);
111
- }
110
+ }
111
+