to_xml 0.1.1

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.
@@ -0,0 +1,4 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in to_xml.gemspec
4
+ gemspec
@@ -0,0 +1,2 @@
1
+ require 'bundler'
2
+ Bundler::GemHelper.install_tasks
@@ -0,0 +1,35 @@
1
+ require 'to_xml/version'
2
+
3
+ class Object
4
+ def self.xml_type
5
+ name.gsub(/([a-z])([A-Z])/,'\1-\2').downcase
6
+ end
7
+ def xml_type
8
+ self.class.xml_type
9
+ end
10
+ def to_xml( name = nil )
11
+ name ? %{<#{name} type="#{xml_type}">#{self.to_s}</#{name}>} : self.to_s
12
+ end
13
+ def to_xml!( *args )
14
+ %{<?xml version="1.0" encoding="UTF-8"?>\n} + to_xml( *args )
15
+ end
16
+ end
17
+
18
+ class Integer
19
+ def self.xml_type
20
+ "integer"
21
+ end
22
+ end
23
+
24
+ class Array
25
+ def to_xml( array_name = :array, item_name = :item )
26
+ %|<#{array_name} size="#{self.size}">|+map{|n|n.to_xml( :item )}.join+"</#{array_name}>"
27
+ end
28
+ end
29
+
30
+ class Hash
31
+ def to_xml( name = nil )
32
+ data = to_a.map{|k,v|v.to_xml(k)}.join
33
+ name ? "<#{name}>#{data}</#{name}>" : data
34
+ end
35
+ end
@@ -0,0 +1,3 @@
1
+ module ToXml
2
+ VERSION = "0.1.1"
3
+ end
@@ -0,0 +1,24 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "to_xml/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "to_xml"
7
+ s.version = ToXml::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ["Clive Crous"]
10
+ s.email = ["clive@crous.co.za"]
11
+ s.homepage = "http://www.darkarts.co.za/to_xml"
12
+ s.summary = %q{AnyObject.to_xml - useful for adding XML support to APIs}
13
+ s.description = %q{AnyObject.to_xml - useful for adding XML support to APIs}
14
+
15
+ s.rubyforge_project = "to_xml"
16
+
17
+ s.add_development_dependency "bundler", ">= 1.0.0"
18
+ s.add_development_dependency "rake", ">= 0.8.7"
19
+
20
+ s.files = `git ls-files`.split("\n")
21
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
22
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
23
+ s.require_paths = ["lib"]
24
+ end
metadata ADDED
@@ -0,0 +1,101 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: to_xml
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 1
8
+ - 1
9
+ version: 0.1.1
10
+ platform: ruby
11
+ authors:
12
+ - Clive Crous
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2011-01-24 00:00:00 +02:00
18
+ default_executable:
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: bundler
22
+ requirement: &id001 !ruby/object:Gem::Requirement
23
+ none: false
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ segments:
28
+ - 1
29
+ - 0
30
+ - 0
31
+ version: 1.0.0
32
+ type: :development
33
+ prerelease: false
34
+ version_requirements: *id001
35
+ - !ruby/object:Gem::Dependency
36
+ name: rake
37
+ requirement: &id002 !ruby/object:Gem::Requirement
38
+ none: false
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ segments:
43
+ - 0
44
+ - 8
45
+ - 7
46
+ version: 0.8.7
47
+ type: :development
48
+ prerelease: false
49
+ version_requirements: *id002
50
+ description: AnyObject.to_xml - useful for adding XML support to APIs
51
+ email:
52
+ - clive@crous.co.za
53
+ executables: []
54
+
55
+ extensions: []
56
+
57
+ extra_rdoc_files: []
58
+
59
+ files:
60
+ - .gitignore
61
+ - Gemfile
62
+ - Rakefile
63
+ - lib/to_xml.rb
64
+ - lib/to_xml/version.rb
65
+ - to_xml.gemspec
66
+ has_rdoc: true
67
+ homepage: http://www.darkarts.co.za/to_xml
68
+ licenses: []
69
+
70
+ post_install_message:
71
+ rdoc_options: []
72
+
73
+ require_paths:
74
+ - lib
75
+ required_ruby_version: !ruby/object:Gem::Requirement
76
+ none: false
77
+ requirements:
78
+ - - ">="
79
+ - !ruby/object:Gem::Version
80
+ hash: -48030317
81
+ segments:
82
+ - 0
83
+ version: "0"
84
+ required_rubygems_version: !ruby/object:Gem::Requirement
85
+ none: false
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ hash: -48030317
90
+ segments:
91
+ - 0
92
+ version: "0"
93
+ requirements: []
94
+
95
+ rubyforge_project: to_xml
96
+ rubygems_version: 1.3.7
97
+ signing_key:
98
+ specification_version: 3
99
+ summary: AnyObject.to_xml - useful for adding XML support to APIs
100
+ test_files: []
101
+