hash_to_xml 1.0.0

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.
Files changed (2) hide show
  1. data/lib/hash_to_xml.rb +18 -0
  2. metadata +58 -0
@@ -0,0 +1,18 @@
1
+ # encoding: utf-8
2
+ require 'rubygems'
3
+ require 'nokogiri'
4
+ class Hash
5
+ def to_xml
6
+ @to_xml_doc = ::Nokogiri::XML( '<root />' )
7
+ def recurse( parent, hash )
8
+ hash.each_pair { | key, value |
9
+ node = Nokogiri::XML::Node.new key, @to_xml_doc
10
+ value.instance_of?( Hash ) ? node = recurse( node, value ) : node.content = value
11
+ parent << node
12
+ }
13
+ return parent
14
+ end
15
+ recurse( @to_xml_doc.root, self )
16
+ return @to_xml_doc.to_xml
17
+ end
18
+ end # hash
metadata ADDED
@@ -0,0 +1,58 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: hash_to_xml
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Christian Andreas Westgaard
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-03-14 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: nokogiri
16
+ requirement: &19817380 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *19817380
25
+ description: Add method to_xml on ruby Hash class. The method returns a xml string.
26
+ email: comlock@gmail.com
27
+ executables: []
28
+ extensions: []
29
+ extra_rdoc_files: []
30
+ files:
31
+ - lib/hash_to_xml.rb
32
+ homepage: http://rubygems.org/gems/hash_to_xml
33
+ licenses:
34
+ - GPL-2
35
+ post_install_message:
36
+ rdoc_options: []
37
+ require_paths:
38
+ - lib
39
+ required_ruby_version: !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ! '>='
43
+ - !ruby/object:Gem::Version
44
+ version: '0'
45
+ required_rubygems_version: !ruby/object:Gem::Requirement
46
+ none: false
47
+ requirements:
48
+ - - ! '>='
49
+ - !ruby/object:Gem::Version
50
+ version: '0'
51
+ requirements:
52
+ - nokogiri
53
+ rubyforge_project:
54
+ rubygems_version: 1.8.11
55
+ signing_key:
56
+ specification_version: 3
57
+ summary: hash.to_xml
58
+ test_files: []