ende 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (108) hide show
  1. checksums.yaml +4 -4
  2. data/component.json +1 -1
  3. data/lib/assets/javascripts/aura/extensions/devise.js.coffee +7 -4
  4. data/lib/assets/javascripts/aura/extensions/routes.js.coffee +16 -8
  5. data/lib/assets/javascripts/aura/extensions/widget/lifecycleable.js.coffee +10 -5
  6. data/lib/assets/javascripts/widgets/authenticator/main.js.coffee +4 -8
  7. data/lib/assets/javascripts/widgets/authenticator/presenter.js.coffee +4 -4
  8. data/lib/assets/javascripts/widgets/authenticator/states/default.html +1 -1
  9. data/lib/assets/javascripts/widgets/tray/main.js.coffee +26 -0
  10. data/lib/ende/version.rb +1 -1
  11. data/lib/tasks/component.thor +1 -1
  12. data/vendor/assets/javascripts/ende/build.js +10008 -8202
  13. data/vendor/components/KapIT-observe-utils/component.json +16 -0
  14. data/vendor/components/KapIT-observe-utils/lib/observe-utils.js +780 -0
  15. data/vendor/components/chaijs-assertion-error/component.json +18 -0
  16. data/vendor/components/chaijs-assertion-error/index.js +110 -0
  17. data/vendor/components/chaijs-chai/component.json +47 -0
  18. data/vendor/components/chaijs-chai/index.js +1 -0
  19. data/vendor/components/chaijs-chai/lib/chai/assertion.js +130 -0
  20. data/vendor/components/chaijs-chai/lib/chai/core/assertions.js +1270 -0
  21. data/vendor/components/chaijs-chai/lib/chai/interface/assert.js +1080 -0
  22. data/vendor/components/chaijs-chai/lib/chai/interface/expect.js +12 -0
  23. data/vendor/components/chaijs-chai/lib/chai/interface/should.js +76 -0
  24. data/vendor/components/chaijs-chai/lib/chai/utils/addChainableMethod.js +94 -0
  25. data/vendor/components/chaijs-chai/lib/chai/utils/addMethod.js +37 -0
  26. data/vendor/components/chaijs-chai/lib/chai/utils/addProperty.js +40 -0
  27. data/vendor/components/chaijs-chai/lib/chai/utils/flag.js +32 -0
  28. data/vendor/components/chaijs-chai/lib/chai/utils/getActual.js +19 -0
  29. data/vendor/components/chaijs-chai/lib/chai/utils/getEnumerableProperties.js +25 -0
  30. data/vendor/components/chaijs-chai/lib/chai/utils/getMessage.js +49 -0
  31. data/vendor/components/chaijs-chai/lib/chai/utils/getName.js +20 -0
  32. data/vendor/components/chaijs-chai/lib/chai/utils/getPathValue.js +102 -0
  33. data/vendor/components/chaijs-chai/lib/chai/utils/getProperties.js +35 -0
  34. data/vendor/components/chaijs-chai/lib/chai/utils/index.js +108 -0
  35. data/vendor/components/chaijs-chai/lib/chai/utils/inspect.js +320 -0
  36. data/vendor/components/chaijs-chai/lib/chai/utils/objDisplay.js +48 -0
  37. data/vendor/components/chaijs-chai/lib/chai/utils/overwriteMethod.js +51 -0
  38. data/vendor/components/chaijs-chai/lib/chai/utils/overwriteProperty.js +54 -0
  39. data/vendor/components/chaijs-chai/lib/chai/utils/test.js +26 -0
  40. data/vendor/components/chaijs-chai/lib/chai/utils/transferFlags.js +44 -0
  41. data/vendor/components/chaijs-chai/lib/chai/utils/type.js +45 -0
  42. data/vendor/components/chaijs-chai/lib/chai.js +80 -0
  43. data/vendor/components/chaijs-deep-eql/component.json +18 -0
  44. data/vendor/components/chaijs-deep-eql/lib/eql.js +257 -0
  45. data/vendor/components/chaijs-type-detect/component.json +16 -0
  46. data/vendor/components/chaijs-type-detect/lib/type.js +142 -0
  47. data/vendor/components/component-bind/component.json +14 -0
  48. data/vendor/components/component-bind/index.js +24 -0
  49. data/vendor/components/component-delegate/component.json +19 -0
  50. data/vendor/components/component-delegate/index.js +42 -0
  51. data/vendor/components/component-event/component.json +13 -0
  52. data/vendor/components/component-event/index.js +40 -0
  53. data/vendor/components/component-jquery/component.json +14 -0
  54. data/vendor/components/component-jquery/index.js +9601 -0
  55. data/vendor/components/component-link-delegate/component.json +23 -0
  56. data/vendor/components/component-link-delegate/index.js +60 -0
  57. data/vendor/components/component-matches-selector/component.json +20 -0
  58. data/vendor/components/component-matches-selector/index.js +45 -0
  59. data/vendor/components/component-query/component.json +21 -0
  60. data/vendor/components/component-query/index.js +21 -0
  61. data/vendor/components/component-type/component.json +18 -0
  62. data/vendor/components/component-type/index.js +32 -0
  63. data/vendor/components/component-url/component.json +17 -0
  64. data/vendor/components/component-url/index.js +63 -0
  65. data/vendor/components/components-modernizr/component.json +18 -0
  66. data/vendor/components/components-modernizr/modernizr.js +1393 -0
  67. data/vendor/components/discore-closest/component.json +14 -0
  68. data/vendor/components/discore-closest/index.js +18 -0
  69. data/vendor/components/indefinido-advisable/component.json +21 -0
  70. data/vendor/components/indefinido-advisable/index.js +1 -0
  71. data/vendor/components/indefinido-advisable/lib/advisable.js +60 -0
  72. data/vendor/components/indefinido-indemma/component.json +40 -0
  73. data/vendor/components/indefinido-indemma/index.js +1 -0
  74. data/vendor/components/indefinido-indemma/lib/extensions/rivets.js +23 -0
  75. data/vendor/components/indefinido-indemma/lib/record/associable.js +217 -0
  76. data/vendor/components/indefinido-indemma/lib/record/maid.js +24 -0
  77. data/vendor/components/indefinido-indemma/lib/record/resource.js +104 -0
  78. data/vendor/components/indefinido-indemma/lib/record/rest.js +36 -0
  79. data/vendor/components/indefinido-indemma/lib/record/restfulable.js +326 -0
  80. data/vendor/components/indefinido-indemma/lib/record/scopable.js +279 -0
  81. data/vendor/components/indefinido-indemma/lib/record/translationable.js +19 -0
  82. data/vendor/components/indefinido-indemma/lib/record/validatable.js +216 -0
  83. data/vendor/components/indefinido-indemma/lib/record/validations/associated.js +30 -0
  84. data/vendor/components/indefinido-indemma/lib/record/validations/confirmation.js +19 -0
  85. data/vendor/components/indefinido-indemma/lib/record/validations/cpf.js +60 -0
  86. data/vendor/components/indefinido-indemma/lib/record/validations/presence.js +19 -0
  87. data/vendor/components/indefinido-indemma/lib/record/validations/remote.js +71 -0
  88. data/vendor/components/indefinido-indemma/lib/record.js +167 -0
  89. data/vendor/components/indefinido-indemma/vendor/sinon.js +4290 -0
  90. data/vendor/components/indefinido-indemma/vendor/stampit.js +392 -0
  91. data/vendor/components/indefinido-observable/component.json +25 -0
  92. data/vendor/components/indefinido-observable/components/cjohansen-sinon/sinon.js +4290 -0
  93. data/vendor/components/indefinido-observable/index.js +1 -0
  94. data/vendor/components/indefinido-observable/lib/adapters/rivets.js +26 -0
  95. data/vendor/components/indefinido-observable/lib/observable.js +320 -0
  96. data/vendor/components/indefinido-observable/vendor/shims/accessors-legacy.js +92 -0
  97. data/vendor/components/indefinido-observable/vendor/shims/accessors.js +173 -0
  98. data/vendor/components/indefinido-observable/vendor/shims/array.indexOf.js +8 -0
  99. data/vendor/components/indefinido-observable/vendor/shims/object.create.js +77 -0
  100. data/vendor/components/mikeric-rivets/component.json +15 -0
  101. data/vendor/components/mikeric-rivets/dist/rivets.js +1239 -0
  102. data/vendor/components/paulmillr-es6-shim/component.json +17 -0
  103. data/vendor/components/paulmillr-es6-shim/es6-shim.js +985 -0
  104. data/vendor/components/pluma-assimilate/component.json +25 -0
  105. data/vendor/components/pluma-assimilate/dist/assimilate.js +87 -0
  106. data/vendor/components/segmentio-extend/component.json +13 -0
  107. data/vendor/components/segmentio-extend/index.js +15 -0
  108. metadata +98 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 67175a38bbf95b8a59dec5180128fd9abb123ee5
4
- data.tar.gz: 7efc8d8c9dcf9e72a2d490c13791c9638ed468d1
3
+ metadata.gz: c0cf3f5dd5befd5a734932d109f270db9c6bfe9f
4
+ data.tar.gz: 399523b42c51a8bc83cd83562763563ea593f0e6
5
5
  SHA512:
6
- metadata.gz: 4d217f7da63f480a04dbc5715df12e6844fe04e32997715a119668ef589a44267fe93254f05b369a0edc91d09e07f02e6e0e157c93503fe76e5f5457bba06974
7
- data.tar.gz: 3f14d88edd2f7b41f4e8d403b32e05c74a525b9dbbed5a4624f642b5331c0ce1162f10d0609f89ad96079abc750bb500707df45a4c0febe6c031a322d8fcd620
6
+ metadata.gz: 24f55c7958fce14f3d3f089e673d2d950446988232e391775e41dd5ccd1ade140d22981f8a7dfdc589ba1745380dc415dff042e6f6e0c483ef10739a1c7dc24b
7
+ data.tar.gz: a88e41c9acc0faa041ed947d7e49100496d213e1058a0222668ed60e1a2c5e024e8a3a9782205c510b479840e3fd927801c759f96e21c2eafd88cdc4e4bf3986
data/component.json CHANGED
@@ -13,7 +13,7 @@
13
13
  "component/type": "*",
14
14
  "component/bind": "*",
15
15
  "component/jquery": "*",
16
- "component/link-delegate": "*",
16
+ "components/modernizr": "*",
17
17
  "indefinido/indemma": "*",
18
18
  "indefinido/observable": "*",
19
19
  "indefinido/advisable": "*"
@@ -162,7 +162,7 @@ define 'aura/extensions/devise', () ->
162
162
 
163
163
  # Extension definition
164
164
  name: 'devise'
165
- version: '0.2.1'
165
+ version: '0.3.0'
166
166
  initialize: (application) ->
167
167
 
168
168
  core = application.core
@@ -192,7 +192,9 @@ define 'aura/extensions/devise', () ->
192
192
  sandbox.session = session
193
193
 
194
194
  define_routes: (router) ->
195
- router.route '/users/sessions', 'session.new'
195
+ # TODO pass authenticable resource as a parameter to extension
196
+ router.define '/users/sign_in' , 'session.new'
197
+ router.define '/users/sign_out', 'session.destroy'
196
198
 
197
199
  define_resources: (model) ->
198
200
 
@@ -213,10 +215,11 @@ define 'aura/extensions/devise', () ->
213
215
  email: String
214
216
 
215
217
  afterAppStart: (application) ->
216
- @define_resources application.core.models
218
+ {router, models} = application.core
219
+ @define_resources models
217
220
 
218
221
  # TODO move to an external module
219
- @define_routes application if application.router?
222
+ @define_routes router if router?
220
223
 
221
224
  # Restore session if not already
222
225
  # TODO Restore only when application is ready
@@ -1,21 +1,29 @@
1
- define 'aura/extensions/routes', ['application/routes'], (routes) ->
1
+ define 'aura/extensions/routes', (routes) ->
2
2
 
3
3
  'use strict'
4
4
 
5
- router = new require('lennon')()
5
+ # TODO Remove .call null
6
+ # TODO Remove .call null
7
+ loader.require.call null, 'modernizr'
8
+ loader.require.call null, 'ened/vendor/assets/javascripts/lennon/lennon.js'
9
+ router = null
6
10
 
7
11
  (application) ->
8
12
  core = application.core
9
- logger = application.logger
10
13
  mediator = core.mediator
11
14
  _ = core.util._
15
+ router = new Lennon
16
+ # TODO implement logger api for lennon or change lennon library
17
+ # logger: application.logger
18
+ publishEvent: (name, params) ->
19
+ # TODO better method parsing
20
+ params.method = "get"
21
+ mediator.emit name, params
12
22
 
13
- application.router = router
14
- application.route = (params) -> router.apply router, params
23
+ application.core.router = router
15
24
 
16
25
  version: '0.1.0'
17
26
 
18
- initialize: (application) ->
19
-
20
-
21
27
  afterAppStart: (application) ->
28
+ router.process()
29
+
@@ -4,6 +4,7 @@ define 'aura/extensions/widget/lifecycleable', ->
4
4
 
5
5
  # TODO Remove jquery and use core dependencies
6
6
  jQuery = require 'jquery'
7
+ core = null
7
8
 
8
9
  lifecycleable =
9
10
  injection: (definition) ->
@@ -13,11 +14,11 @@ define 'aura/extensions/widget/lifecycleable', ->
13
14
  # not only if type is object
14
15
  for subwidget_name, suboptions of options
15
16
  # TODO if isWidget subwidget_name
16
- if $.type(suboptions) == 'object'
17
+ if $.type(suboptions) == 'object' and not suboptions instanceof jQuery
17
18
 
18
19
  for name, suboption of suboptions
19
20
 
20
- if $.type(suboption) == 'object'
21
+ if $.type(suboption) == 'object' and not suboption instanceof jQuery
21
22
 
22
23
  for subname, subsuboption of suboption
23
24
  options["#{subwidget_name}#{@capitalize name}#{@capitalize subname}"] = subsuboption
@@ -60,6 +61,8 @@ define 'aura/extensions/widget/lifecycleable', ->
60
61
  @sandbox.on 'aura.sandbox.stop', (sandbox) =>
61
62
  @stopped() if @sandbox.ref == sandbox.ref
62
63
 
64
+ inject: (name, options) -> core.inject name, options
65
+
63
66
  stopped: ->
64
67
  @$el.remove()
65
68
 
@@ -87,10 +90,12 @@ define 'aura/extensions/widget/lifecycleable', ->
87
90
  injections = core.util._.map widgets, lifecycleable.injection, lifecycleable
88
91
  return core.start injections
89
92
 
90
- else if not name
91
- throw new TypeError "app.core.inject: No widget name provided" unless name?
93
+ if not name
94
+ throw new TypeError "app.core.inject: No widget name provided"
95
+
96
+ options.name = name
92
97
 
93
- core.start = lifecycleable.injection options
98
+ core.start [lifecycleable.injection name: name, options: options]
94
99
 
95
100
  # Add support for element removal after stoping widget
96
101
  # TODO replace Base.extend inheritance to stampit composition
@@ -20,9 +20,9 @@ define ['./states/index', './presenter'], (templates, presenter) ->
20
20
  sandbox.logger.log "initialized!"
21
21
 
22
22
  base =
23
- status: null
23
+ status: 'idle'
24
24
  classes: =>
25
- "#{@state} #{@status} authenticator"
25
+ "widget #{@state} #{base.status} authenticator"
26
26
  toggle_state: (event) =>
27
27
  @state = if @state == 'default' then 'passwords' else 'default'
28
28
  false
@@ -32,8 +32,7 @@ define ['./states/index', './presenter'], (templates, presenter) ->
32
32
  message: null
33
33
  email: null
34
34
  password: null
35
- # TODO copiar do modacad
36
- # button_label: 'Entrar'
35
+ button_label: 'Authenticate!'
37
36
 
38
37
  # Authentication state
39
38
  authenticate: (event) ->
@@ -53,8 +52,7 @@ define ['./states/index', './presenter'], (templates, presenter) ->
53
52
  email: null
54
53
  message: null
55
54
 
56
- # TODO copiar do modacad
57
- # button_label: 'Entrar'
55
+ button_label: 'Recuperar senha'
58
56
 
59
57
  # Recovery state
60
58
  recover: (event, models) ->
@@ -64,13 +62,11 @@ define ['./states/index', './presenter'], (templates, presenter) ->
64
62
  recovered: (password) ->
65
63
  base.status = 'success'
66
64
 
67
-
68
65
  # Bind and unbind events depending on state
69
66
  sandbox.on 'user.signed_in' , authenticator.authenticated
70
67
  sandbox.on 'session.creation_unauthorized' , authenticator.unauthorized
71
68
  sandbox.on 'user.password_recovered' , recoverer.recovered
72
69
 
73
-
74
70
  # Will also initialize sandbox!
75
71
  @$el.attr 'data-class', 'base.classes < base.status'
76
72
  @presentation = presenter authenticator, recoverer, base
@@ -13,14 +13,14 @@ define ->
13
13
  configurable: true
14
14
  get: -> authenticator.message
15
15
  set: (message) -> authenticator.message = message
16
- classes:
17
- configurable: true
18
- value: ->
19
- "widget authenticator #{authenticator.status}"
20
16
  email:
21
17
  configurable: true
22
18
  set: (email) -> authenticator.email = email
23
19
  get: -> authenticator.email
20
+ button_label:
21
+ configurable: true
22
+ set: (button_label) -> authenticator.button_label = button_label
23
+ get: -> authenticator.button_label
24
24
  password:
25
25
  configurable: true
26
26
  set: (password) -> authenticator.password = password
@@ -1,7 +1,7 @@
1
1
  <div class="message" data-html="authenticator.message"> </div>
2
2
  <input type="email" data-value="authenticator.email" placeholder="Login" />
3
3
  <input type="password" data-value="authenticator.password" placeholder="Password" />
4
- <button data-on-click="authenticator.authenticate">
4
+ <button data-on-click="authenticator.authenticate" data-html="authenticator.button_label">
5
5
  Authenticate!
6
6
  </button>
7
7
  <a data-on-click="base.toggle_state">Recuperar Senha</a>
@@ -0,0 +1,26 @@
1
+ define ->
2
+
3
+ 'use strict'
4
+
5
+ type: 'Base'
6
+
7
+ initialize: (options) ->
8
+ # TODO access omit method throuhgh underscore
9
+ widget_options = _.omit options, 'el', 'ref', '_ref', 'name', 'require', 'baseUrl'
10
+
11
+ # TODO remove jquery dependency
12
+ for name, suboptions of widget_options when $.type(suboptions) is "object"
13
+ @add suboptions.name || name, suboptions
14
+
15
+ @$el.addClass 'tray widget'
16
+
17
+ # TODO find a way to build the id based on content
18
+ @$el.attr 'id', options.identifier if options.identifier?
19
+
20
+ add: (name, options) ->
21
+
22
+ # TODO add widgets as childrens of the tray widget sandbox
23
+ element = jQuery '<div class="widget"></div>'
24
+ options.el = element
25
+ @$el.append element
26
+ @inject name, options
data/lib/ende/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Ende
2
- VERSION = "0.1.5"
2
+ VERSION = "0.1.6"
3
3
  end
@@ -57,7 +57,7 @@ COMPONENT
57
57
  end
58
58
 
59
59
  desc "build [PATH]", "Build components to PATH, defaulted to ./vendor/assets/components"
60
- def build path="vendor/assets/components"
60
+ def build path="vendor/assets/javascripts/ende"
61
61
  run "component build --out #{path}"
62
62
  end
63
63
  end