xml-smart 0.3.5.1 → 0.3.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9f3bcbc0ba0635947f62c71b913b9fd4c3a55462
4
- data.tar.gz: 169b6c82c9b68fed866671a0d70591d05c496edb
3
+ metadata.gz: c6fe50c915c3a7d81224157afde21def4d21db00
4
+ data.tar.gz: b1a6f82dc3175d7116a3ea227073bf6d34459015
5
5
  SHA512:
6
- metadata.gz: a330fc1080ba3f13cf522e97f6dbd001c49448ae3158bfdc0f3a48a5c34ee326439b4521073b275b475643fd6f8495815f794a94005033d17ef0968d4b34199b
7
- data.tar.gz: d8e5dff080ef43dababaf781f6ca6d6093e9bafd6c9aa15eff2fdce095c1cf5ff30952b1379a17b9655c1550c524dac730c2ac14fb21b5fa1600eecec1bf07a6
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 @set[name]
25
+ return nil unless has_attr?(name)
22
26
  if attr == false
23
- @element[name]
27
+ @element.attribute(name).value
24
28
  else
25
- Attribute.new(@set[name])
29
+ Attribute.new(@element.attribute(name))
26
30
  end
27
31
  end
28
32
  def []=(name,value);
@@ -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-05-31 17:12:29 +0200</name>
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 TestAdd < MiniTest::Unit::TestCase
5
- def test_add
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 test_criss_cross
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 test_xsl
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
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "xml-smart"
3
- s.version = "0.3.5.1"
3
+ s.version = "0.3.6"
4
4
  s.platform = Gem::Platform::RUBY
5
5
  s.license = "LGPL-3"
6
6
  s.summary = "An xml library that doesn't suck - since 2004."
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.5.1
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-06-24 00:00:00.000000000 Z
11
+ date: 2013-07-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri