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 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