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 +4 -4
- data/lib/roda/component/dom.rb +30 -16
- data/lib/roda/component/version.rb +1 -1
- data/roda-component.gemspec +2 -2
- metadata +6 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c39c23aab38d3e58a29f3ba6219547391dd786f9
|
|
4
|
+
data.tar.gz: a1c09993e3f2bd1ffb9454a9555e0a9c9699ac39
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7605b345bb3b759b63f3cb354343b08c6d4267b1ff20f9bdebfeab163c789479ab43958f33ae826546584ae9adb76c18fd544b4e96c6f14be5687d82103a72a5
|
|
7
|
+
data.tar.gz: 06dc352dd091b618d3621063be4c842711464ff45188409b856d7eccc83f0b81831fa9dab4b1a7772b4719ce155fafba98729b2a4b9c06dfd15dc8d5c818d752
|
data/lib/roda/component/dom.rb
CHANGED
|
@@ -21,14 +21,14 @@ class Roda
|
|
|
21
21
|
if client?
|
|
22
22
|
node = DOM.new dom.find(string)
|
|
23
23
|
elsif server?
|
|
24
|
-
if
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
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
|
|
data/roda-component.gemspec
CHANGED
|
@@ -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.
|
|
22
|
-
spec.add_runtime_dependency "opal-jquery", "~> 0.3.0
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
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
|
|
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.
|
|
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:
|