to_xml 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
+