hashtoxml 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -7,7 +7,7 @@ load 'tasks/setup.rb'
7
7
  ensure_in_path 'lib'
8
8
  require 'hashtoxml'
9
9
 
10
- #depend_on 'rexml'
10
+ depend_on 'merb-core'
11
11
 
12
12
  task :default => 'spec:run'
13
13
 
@@ -1,11 +1,13 @@
1
1
  module HashToXml
2
2
  require 'rexml/document'
3
3
  require 'rubygems'
4
+ require 'merb-core/vendor/facets/inflect.rb' if not 'string'.respond_to? :singular
4
5
 
5
6
  def to_xml(options = {})
6
7
  options[:root_name] ||= 'root'
7
8
  options[:include_type] ||= true
8
9
  options[:indent] ||= 2
10
+ options[:element_name] ||= nil
9
11
 
10
12
  if self.is_a? Array
11
13
  options[:root_type] ||= 'array'
@@ -29,7 +31,7 @@ module HashToXml
29
31
  element_type = HashToXml.data_type(value)
30
32
 
31
33
  element_text = REXML::Text.new(value.to_s)
32
- element_name = key.to_s
34
+ element_name = options[:element_name] || key.to_s
33
35
 
34
36
  node = root.add_element(element_name)
35
37
  node.attributes["type"] = element_type
@@ -42,6 +44,7 @@ module HashToXml
42
44
  node << value.hash_to_xml_document(options, doc)
43
45
  elsif value.is_a? Array
44
46
  value.class.send(:include, HashToXml) if not value.respond_to? :to_xml
47
+ options[:element_name] = element_name.singular
45
48
  node = value.to_xml_document(options, node)
46
49
  else
47
50
  node << element_text
data/lib/hashtoxml.rb CHANGED
@@ -7,7 +7,7 @@ unless defined? HashToXml
7
7
  module HashToXml
8
8
 
9
9
  # :stopdoc:
10
- VERSION = '0.0.3'
10
+ VERSION = '0.0.4'
11
11
  LIBPATH = ::File.expand_path(::File.dirname(__FILE__)) + ::File::SEPARATOR
12
12
  PATH = ::File.dirname(LIBPATH) + ::File::SEPARATOR
13
13
  # :startdoc:
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hashtoxml
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Leon Bogaert
@@ -11,8 +11,17 @@ cert_chain: []
11
11
 
12
12
  date: 2008-09-07 00:00:00 +02:00
13
13
  default_executable:
14
- dependencies: []
15
-
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: merb-core
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 0.9.5
24
+ version:
16
25
  description: FIXME (describe your package)
17
26
  email: leon@tim-online.nl
18
27
  executables: