roda-component 0.1.30 → 0.1.31

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e84fc4b61b53b676c2f48a96615b441ca644b715
4
- data.tar.gz: 291f31ca6ad671e9e84ab9a217cbd7be37b82cfa
3
+ metadata.gz: a5dc17d663e86a3bdad3b5e764c7f12c954d76d7
4
+ data.tar.gz: 61ae7a1789403fd3921446a95f4578dc0ddb5a23
5
5
  SHA512:
6
- metadata.gz: d3bbb5d71503889c462d32739ee1b5cb5ae6cfeeecc39ed82a873dc4fb60f7af4bea0e08d0549afcc3bddfd83166322afe5a90a091bee5aadf2402efec591251
7
- data.tar.gz: 4ac89ff70f0ebd71bd52d7a2192bca2e7ff9c81eeddaa02070a544f13dc67014f345259fe7c857d2139ab65b9ff4298887517ebb1fe2e77459cc15694b15d5b9
6
+ metadata.gz: 80ff779b9b98eefee690bfde2d748db6f8f447c5a4bc9244c3c86e2e06f90bac8b7705f87456ea19f7de6cc0ea8517adc0a684a07372f87378bc83f4d740363b
7
+ data.tar.gz: 0e8b2f991133cb85091da56996c93ca7b8d3e8a09988fbddd0e8fd867bc27db443f0577604247f216e048a437eafa7bc3182ea786c808db0b05b5a61f7abaa84
@@ -2,7 +2,7 @@ require 'delegate'
2
2
 
3
3
  class Roda
4
4
  class Component
5
- class DOM < SimpleDelegator
5
+ class DOM
6
6
  attr_accessor :dom, :raw_html
7
7
 
8
8
  def initialize html
@@ -14,7 +14,7 @@ class Roda
14
14
  @dom = raw_html.is_a?(String) ? Element[raw_html.dup] : raw_html
15
15
  end
16
16
 
17
- super @dom
17
+ # super @dom
18
18
  end
19
19
 
20
20
  def find string, &block
@@ -59,12 +59,30 @@ class Roda
59
59
  if server?
60
60
  node.inner_html = content
61
61
  else
62
+ content = content.dom if content.is_a? Roda::Component::DOM
62
63
  node.html content
63
64
  end
64
65
 
65
66
  node
66
67
  end
67
68
 
69
+ if RUBY_ENGINE == 'opal'
70
+ def append obj
71
+ obj = obj.dom if obj.is_a? Roda::Component::DOM
72
+ super obj
73
+ end
74
+
75
+ def prepend obj
76
+ obj = obj.dom if obj.is_a? Roda::Component::DOM
77
+ super obj
78
+ end
79
+
80
+ def replace_with obj
81
+ obj = obj.dom if obj.is_a? Roda::Component::DOM
82
+ super obj
83
+ end
84
+ end
85
+
68
86
  def html content = false
69
87
  if !content
70
88
  if server?
@@ -83,14 +101,14 @@ class Roda
83
101
 
84
102
  # This allows you to use all the nokogiri or opal jquery methods if a
85
103
  # global one isn't set
86
- # def method_missing method, *args, &block
87
- # # respond_to?(symbol, include_all=false)
88
- # if dom.respond_to? method, true
89
- # dom.send method, *args, &block
90
- # else
91
- # super
92
- # end
93
- # end
104
+ def method_missing method, *args, &block
105
+ # respond_to?(symbol, include_all=false)
106
+ if dom.respond_to? method, true
107
+ dom.send method, *args, &block
108
+ else
109
+ super
110
+ end
111
+ end
94
112
 
95
113
  private
96
114
 
@@ -62,9 +62,8 @@ class Roda
62
62
  when 'form'
63
63
  warn 'missing form class option' unless form_klass
64
64
 
65
- el = Element.find(selector)
66
-
67
- el.on :submit do |evt|
65
+ Document.on :submit, selector do |evt|
66
+ el = evt.current_target
68
67
  evt.prevent_default
69
68
 
70
69
  params = {}
@@ -178,7 +178,8 @@ class Roda
178
178
  def slice(*keys)
179
179
  Hash.new.tap do |atts|
180
180
  keys.each do |att|
181
- atts[att] = _attributes.send(att)
181
+ atts[att] = send(att)
182
+ # atts[att] = _attributes.send(att)
182
183
  end
183
184
  end
184
185
  end
@@ -276,11 +277,11 @@ class Roda
276
277
  end
277
278
 
278
279
  def self._attr_accessors
279
- @_attr_accessors
280
+ @_attr_accessors ||= []
280
281
  end
281
282
 
282
283
  def self._form
283
- @_form
284
+ @_form || {}
284
285
  end
285
286
 
286
287
  def _form
@@ -1,5 +1,5 @@
1
1
  class Roda
2
2
  class Component
3
- VERSION = "0.1.30"
3
+ VERSION = "0.1.31"
4
4
  end
5
5
  end
@@ -115,10 +115,10 @@ class Roda
115
115
  def component name, options = {}, &block
116
116
  comp = load_component name
117
117
 
118
- action = options.delete(:call) || :display
119
- trigger = options.delete(:trigger) || false
120
- js = options.delete(:js)
121
- args = options.delete(:args)
118
+ action = options.delete(:call) || :display
119
+ trigger = options.delete(:trigger) || false
120
+ js = options.delete(:js)
121
+ args = options.delete(:args)
122
122
 
123
123
  # call action
124
124
  # TODO: make sure the single method parameter isn't a block
@@ -213,6 +213,7 @@ class Roda
213
213
  s.prefix = "/#{scope.component_opts[:assets_route]}"
214
214
 
215
215
  s.append_path Gem::Specification.find_by_name("roda-component").gem_dir + '/lib'
216
+ s.append_path Gem::Specification.find_by_name("ability_list").gem_dir + '/lib'
216
217
 
217
218
  # Append the path to the components folder
218
219
  s.append_path scope.component_opts[:path]
@@ -23,6 +23,7 @@ Gem::Specification.new do |spec|
23
23
  spec.add_runtime_dependency "redis-rack"
24
24
  spec.add_runtime_dependency "rest-client"
25
25
  spec.add_runtime_dependency "faye", '~> 1.1.0'
26
+ spec.add_runtime_dependency "ability_list", '~> 0.0.3'
26
27
  spec.add_runtime_dependency "faye-redis"
27
28
  spec.add_runtime_dependency "redic", "~> 1.1.1"
28
29
  spec.add_development_dependency "bundler", "~> 1.7"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: roda-component
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.30
4
+ version: 0.1.31
5
5
  platform: ruby
6
6
  authors:
7
7
  - cj
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-03 00:00:00.000000000 Z
11
+ date: 2015-02-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: opal
@@ -80,6 +80,20 @@ dependencies:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: 1.1.0
83
+ - !ruby/object:Gem::Dependency
84
+ name: ability_list
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 0.0.3
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 0.0.3
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: faye-redis
85
99
  requirement: !ruby/object:Gem::Requirement