roda-component 0.1.44 → 0.1.45

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: e50f7bb6290f77be3eb924e2624c619eeb5fbc96
4
- data.tar.gz: 2dfb6ca0a16f789ef3419a7ffb59cec7951c63df
3
+ metadata.gz: c39c23aab38d3e58a29f3ba6219547391dd786f9
4
+ data.tar.gz: a1c09993e3f2bd1ffb9454a9555e0a9c9699ac39
5
5
  SHA512:
6
- metadata.gz: d6f866b81dd1c53b17d4bb6ad8a3b636bd53db7aab7aa68a5801cd1bd08e6f727efed6f89428ac968bf494dc8a5a8edede6abd2bebf50d67fb7694d404d082ad
7
- data.tar.gz: 8524a48e32f6ea44c52d2841b281df3ec51268a6dd7d87f96cec6ba24f9e0e482c0e20e5691c9c27087ef9502fea5cf007afbf7fd08712870b28d4cd5ad947c0
6
+ metadata.gz: 7605b345bb3b759b63f3cb354343b08c6d4267b1ff20f9bdebfeab163c789479ab43958f33ae826546584ae9adb76c18fd544b4e96c6f14be5687d82103a72a5
7
+ data.tar.gz: 06dc352dd091b618d3621063be4c842711464ff45188409b856d7eccc83f0b81831fa9dab4b1a7772b4719ce155fafba98729b2a4b9c06dfd15dc8d5c818d752
@@ -21,14 +21,14 @@ class Roda
21
21
  if client?
22
22
  node = DOM.new dom.find(string)
23
23
  elsif server?
24
- if block
24
+ if block_given?
25
25
  node = DOM.new dom.css(string)
26
26
  else
27
27
  node = DOM.new dom.at(string)
28
28
  end
29
29
  end
30
30
 
31
- if block
31
+ if block_given?
32
32
  node.each do |n|
33
33
  block.call DOM.new n
34
34
  end
@@ -37,7 +37,7 @@ class Roda
37
37
  node
38
38
  end
39
39
 
40
- unless RUBY_ENGINE == 'opal'
40
+ if RUBY_ENGINE == 'ruby'
41
41
  def data key = false, value = false
42
42
  d = Hash[node.xpath("@*[starts-with(name(), 'data-')]").map{|a| [a.name, a.value]}]
43
43
 
@@ -53,6 +53,26 @@ class Roda
53
53
  def val value
54
54
  node.content = value
55
55
  end
56
+
57
+ def add_class classes
58
+ classes = (classes || '').split ' ' unless classes.is_a? Array
59
+ new_classes = ((node.attr('class') || '').split(' ') << classes).uniq.join(' ')
60
+ node['class'] = new_classes
61
+ end
62
+
63
+ def remove_class classes
64
+ classes = (classes || '').split ' ' unless classes.is_a? Array
65
+ (node.attr('class') || '').split(' ').reject { |n| n =~ /active|asc|desc/i }.join(' ')
66
+ end
67
+
68
+ def attr key, value = false
69
+ if value
70
+ value = value.join ' ' if value.is_a? Array
71
+ node[key] = value
72
+ else
73
+ super key
74
+ end
75
+ end
56
76
  end
57
77
 
58
78
  def html= content
@@ -67,19 +87,13 @@ class Roda
67
87
  end
68
88
 
69
89
  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
90
+ # make it supply the jquery element so it will use that as it doesn't
91
+ # know how to handle the DOM element.
92
+ %w(append prepend replace_with after).each do |meth|
93
+ define_method meth do |obj|
94
+ obj = obj.dom if obj.is_a? Roda::Component::DOM
95
+ super obj
96
+ end
83
97
  end
84
98
  end
85
99
 
@@ -1,5 +1,5 @@
1
1
  class Roda
2
2
  class Component
3
- VERSION = "0.1.44"
3
+ VERSION = "0.1.45"
4
4
  end
5
5
  end
@@ -18,8 +18,8 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_runtime_dependency "opal", "~> 0.7.0.beta3"
22
- spec.add_runtime_dependency "opal-jquery", "~> 0.3.0.beta2"
21
+ spec.add_runtime_dependency "opal", "~> 0.7.1"
22
+ spec.add_runtime_dependency "opal-jquery", "~> 0.3.0"
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'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: roda-component
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.44
4
+ version: 0.1.45
5
5
  platform: ruby
6
6
  authors:
7
7
  - cj
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.7.0.beta3
19
+ version: 0.7.1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.7.0.beta3
26
+ version: 0.7.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: opal-jquery
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.3.0.beta2
33
+ version: 0.3.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.3.0.beta2
40
+ version: 0.3.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: redis-rack
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -1063,7 +1063,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1063
1063
  version: '0'
1064
1064
  requirements: []
1065
1065
  rubyforge_project:
1066
- rubygems_version: 2.4.3
1066
+ rubygems_version: 2.4.5
1067
1067
  signing_key:
1068
1068
  specification_version: 4
1069
1069
  summary: ''
@@ -1746,4 +1746,3 @@ test_files:
1746
1746
  - test/dummy/public/form/js/index.js
1747
1747
  - test/dummy/public/form/license.txt
1748
1748
  - test/helper.rb
1749
- has_rdoc: