hrr_rb_relaxed_xml 0.1.0 → 0.1.1

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
  SHA256:
3
- metadata.gz: e982808589429c99bf9aac96fe929d059ba84df2f59244a255c61d8099b8776f
4
- data.tar.gz: 9fcf8ab9c579e52853cee5b2dfc9784e2ce7d75487dc1142e30dbcfa93b2e7f3
3
+ metadata.gz: b8c8633661432b59a4cba504fa05746c96d56eab0e980715dcc991ff0e83b14d
4
+ data.tar.gz: a196b679723aefb614f048524d58785184ac1f9f219ab72f3c9169cb9f6bf1c4
5
5
  SHA512:
6
- metadata.gz: 03a330b02e251177937924a0be0f597775e2c4b1d0c010e8bb059afed6f7d1af0af18330f896d858cdef8e778a89761d5e08256933616e073ae5ddbd2de6bcce
7
- data.tar.gz: dcdd2b86e705a3ef78abd01382648a6cbc073b3f8b9524364603c7e98b81c83e3aa7da27bd2d48117a7b02582b5629bf2b131358a406c5aef50b613c8dfd7050
6
+ metadata.gz: 97d6d2872a9d9ab549e37a755cde9fededa52c5ca29b95e7909584f5d8f8cf9ea6871e947592fd7a855f383f392e0ffcb76a1ba3d06e6727d95dd361cd36769d
7
+ data.tar.gz: 3334c62aafb400b30da5b1c74bd77b00317d16dfebd88067780439719ef312a2bdc45e1d4e16ed18d04feef15fe1790bd19057c3fa1b7270d077d15800598e79
data/README.md CHANGED
@@ -86,11 +86,13 @@ The output of the `#write` method is the below.
86
86
  </root2>
87
87
  ```
88
88
 
89
- With using `#elements`, `#root`, `#add_element`, or `#add` methods, the XML document can be manipulated.
89
+ With using `#elements`, `#clone`, `#deep_clone`, `#root`, `#add_element`, or `#add` methods, the XML document can be manipulated.
90
90
 
91
91
  ```ruby
92
92
  xml_doc.elements.to_a # => [<root1> ... </>, <root2> ... </>]
93
93
 
94
+ xml_doc.deep_clone.elements.to_a # => [<root1> ... </>, <root2> ... </>]
95
+
94
96
  xml_doc.elements[1] # => <root1> ... </>
95
97
  xml_doc.elements['root1'].elements['child1'] # => <child1> ... </>
96
98
  xml_doc.elements['root1'].elements['child1'].root # => <root1> ... </>
@@ -11,8 +11,8 @@ Gem::Specification.new do |spec|
11
11
  spec.authors = ["hirura"]
12
12
  spec.email = ["hirura@gmail.com"]
13
13
 
14
- spec.summary = %q{an REXML-based XML toolkit that can have multiple root elements}
15
- spec.description = %q{an REXML-based XML toolkit that can have multiple root elements}
14
+ spec.summary = %q{An REXML-based XML toolkit that can have multiple root elements}
15
+ spec.description = %q{An REXML-based XML toolkit that can have multiple root elements}
16
16
  spec.homepage = "https://github.com/hirura/hrr_rb_relaxed_xml"
17
17
  spec.license = "MIT"
18
18
 
@@ -5,6 +5,10 @@ require 'rexml/document'
5
5
 
6
6
  module HrrRbRelaxedXML
7
7
  class Document < REXML::Document
8
+ def clone
9
+ self.class.new self
10
+ end
11
+
8
12
  def add child
9
13
  case child
10
14
  when REXML::XMLDecl, REXML::DocType
@@ -18,13 +22,12 @@ module HrrRbRelaxedXML
18
22
  alias :<< :add
19
23
 
20
24
  def add_element element, attrs={}
21
- if element.nil?
25
+ case element
26
+ when nil
22
27
  super
23
28
  else
24
29
  child_e = @elements.add element
25
- attrs.each do |k, v|
26
- child_e.attributes[k] = v
27
- end
30
+ child_e.add_attributes attrs
28
31
  child_e
29
32
  end
30
33
  end
@@ -2,5 +2,5 @@
2
2
  # vim: et ts=2 sw=2
3
3
 
4
4
  module HrrRbRelaxedXML
5
- VERSION = "0.1.0"
5
+ VERSION = "0.1.1"
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hrr_rb_relaxed_xml
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - hirura
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-06-08 00:00:00.000000000 Z
11
+ date: 2019-06-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rexml
@@ -66,7 +66,7 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
- description: an REXML-based XML toolkit that can have multiple root elements
69
+ description: An REXML-based XML toolkit that can have multiple root elements
70
70
  email:
71
71
  - hirura@gmail.com
72
72
  executables: []
@@ -108,5 +108,5 @@ requirements: []
108
108
  rubygems_version: 3.0.3
109
109
  signing_key:
110
110
  specification_version: 4
111
- summary: an REXML-based XML toolkit that can have multiple root elements
111
+ summary: An REXML-based XML toolkit that can have multiple root elements
112
112
  test_files: []