xml-smart 0.3.5.1 → 0.3.6
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/xml/smart_domattributeset.rb +7 -3
- data/lib/xml/smart_domelement.rb +7 -0
- data/test/EXAMPLE.xml +2 -2
- data/test/tc_basic.rb +7 -0
- data/test/tc_pi.rb +3 -2
- data/test/tc_root.rb +1 -1
- data/test/tc_version.rb +1 -1
- data/xml-smart.gemspec +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c6fe50c915c3a7d81224157afde21def4d21db00
|
|
4
|
+
data.tar.gz: b1a6f82dc3175d7116a3ea227073bf6d34459015
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5beb33b3d760bbc9ae90b49bf254846a6c4ae36f0d27113759a4ca6defc580c04a9d14d9368ec844d0004ea7ee427537b75d947259991d7a96917041f5d2ae06
|
|
7
|
+
data.tar.gz: cedc50fdeea34258c2c0f4ebdae0ba2c79c2d0e82c4841a7b12a34e31f95583452145e22c184f37bb2f2bbec04f3866c652cb4d14a97bb9a83ea0611c118dd4d
|
|
@@ -12,17 +12,21 @@ module XML
|
|
|
12
12
|
|
|
13
13
|
def ===(cls); self.is_a? cls; end
|
|
14
14
|
|
|
15
|
+
def names
|
|
16
|
+
@set.keys
|
|
17
|
+
end
|
|
18
|
+
|
|
15
19
|
def has_attr?(a); @set.has_key?(a) end
|
|
16
20
|
alias :include? :has_attr?
|
|
17
21
|
alias :attr? :has_attr?
|
|
18
22
|
alias :member? :has_attr?
|
|
19
23
|
|
|
20
24
|
def [](name,attr=false)
|
|
21
|
-
return nil unless
|
|
25
|
+
return nil unless has_attr?(name)
|
|
22
26
|
if attr == false
|
|
23
|
-
@element
|
|
27
|
+
@element.attribute(name).value
|
|
24
28
|
else
|
|
25
|
-
Attribute.new(@
|
|
29
|
+
Attribute.new(@element.attribute(name))
|
|
26
30
|
end
|
|
27
31
|
end
|
|
28
32
|
def []=(name,value);
|
data/lib/xml/smart_domelement.rb
CHANGED
|
@@ -108,6 +108,13 @@ module XML
|
|
|
108
108
|
end
|
|
109
109
|
res
|
|
110
110
|
end
|
|
111
|
+
def append(*attrs)
|
|
112
|
+
add(*attrs)
|
|
113
|
+
end
|
|
114
|
+
def prepend(*attrs)
|
|
115
|
+
c = children
|
|
116
|
+
c.empty? ? add(*attrs) : c.first.add_before(*attrs)
|
|
117
|
+
end
|
|
111
118
|
def add_before(*attrs)
|
|
112
119
|
tmp, update = add_helper(attrs)
|
|
113
120
|
res = Dom::smart_helper(@element.add_previous_sibling tmp)
|
data/test/EXAMPLE.xml
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<test xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xml:lang="de">
|
|
2
2
|
<names>
|
|
3
|
-
<name team="0" a="3">2013-
|
|
3
|
+
<name team="0" a="3">2013-07-03 00:34:13 +0200</name>
|
|
4
4
|
<name team="1">Jürgen</name>
|
|
5
5
|
<name team="1">Michel</name>
|
|
6
6
|
<name team="1">Raphi</name>
|
|
@@ -14,4 +14,4 @@
|
|
|
14
14
|
<green taint="true"/>
|
|
15
15
|
</colors>
|
|
16
16
|
<soap:hallo/>
|
|
17
|
-
</test>
|
|
17
|
+
</test>
|
data/test/tc_basic.rb
CHANGED
|
@@ -102,5 +102,12 @@ class TestBasic < MiniTest::Unit::TestCase
|
|
|
102
102
|
node = doc.find("/xmlns:test")[0]
|
|
103
103
|
assert(node.qname.prefix == "")
|
|
104
104
|
assert(node.qname.href == "http://default.org")
|
|
105
|
+
|
|
106
|
+
doc = XML::Smart.open(::File.dirname(__FILE__) + "/EXAMPLE.xml")
|
|
107
|
+
node = doc.root.find("/test/names").first
|
|
108
|
+
node.append("test_node", {"attr" => 12}, "Test2")
|
|
109
|
+
node.prepend("test_node", {"attr" => 12}, "Test3")
|
|
110
|
+
assert(node.children.first.to_s == "Test3")
|
|
111
|
+
assert(node.children.last.to_s == "Test2")
|
|
105
112
|
end
|
|
106
113
|
end
|
data/test/tc_pi.rb
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
require File.expand_path(::File.dirname(__FILE__) + '/../lib/xml/smart')
|
|
2
2
|
require File.expand_path(::File.dirname(__FILE__) + '/smartrunner.rb')
|
|
3
3
|
|
|
4
|
-
class
|
|
5
|
-
def
|
|
4
|
+
class TestPi < MiniTest::Unit::TestCase
|
|
5
|
+
def test_pi
|
|
6
6
|
doc = XML::Smart.open(::File.dirname(__FILE__) + "/EXAMPLE.xml")
|
|
7
7
|
pi = doc.root.add('?tobias', 'dj')
|
|
8
8
|
assert pi.dump == "<?tobias dj?>"
|
|
@@ -16,6 +16,7 @@ class TestAdd < MiniTest::Unit::TestCase
|
|
|
16
16
|
|
|
17
17
|
doc.root.add_before('?xsl-stylesheet', 'a="3" b="7"')
|
|
18
18
|
doc.root.children.delete_all!
|
|
19
|
+
puts doc.to_s
|
|
19
20
|
assert doc.to_s == "<?xml version=\"1.0\"?>\n<?xsl-stylesheet a=\"3\" b=\"7\"?>\n<test xmlns:soap=\"http://schemas.xmlsoap.org/wsdl/soap/\" xml:lang=\"de\">\n <?tobias vj?>\n</test>\n"
|
|
20
21
|
end
|
|
21
22
|
end
|
data/test/tc_root.rb
CHANGED
|
@@ -2,7 +2,7 @@ require File.expand_path(::File.dirname(__FILE__) + '/../lib/xml/smart')
|
|
|
2
2
|
require File.expand_path(::File.dirname(__FILE__) + '/smartrunner.rb')
|
|
3
3
|
|
|
4
4
|
class TestBasic < MiniTest::Unit::TestCase
|
|
5
|
-
def
|
|
5
|
+
def test_root
|
|
6
6
|
doc = XML::Smart.open(::File.dirname(__FILE__) + "/EXAMPLE.xml")
|
|
7
7
|
|
|
8
8
|
node = doc.find("test")
|
data/test/tc_version.rb
CHANGED
|
@@ -2,7 +2,7 @@ require File.expand_path(::File.dirname(__FILE__) + '/../lib/xml/smart')
|
|
|
2
2
|
require File.expand_path(::File.dirname(__FILE__) + '/smartrunner.rb')
|
|
3
3
|
|
|
4
4
|
class TestXSL < MiniTest::Unit::TestCase
|
|
5
|
-
def
|
|
5
|
+
def test_version
|
|
6
6
|
assert XML::Smart::VERSION.is_a? String
|
|
7
7
|
assert XML::Smart::VERSION =~ /\d+\.\d+\.\d+(\.\d+)?/
|
|
8
8
|
end
|
data/xml-smart.gemspec
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: xml-smart
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.3.
|
|
4
|
+
version: 0.3.6
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Juergen eTM Mangler
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2013-
|
|
11
|
+
date: 2013-07-02 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: nokogiri
|