sixarm_ruby_ramp 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gemtest +0 -0
- data/CHANGELOG.txt +51 -0
- data/INSTALL.txt +32 -0
- data/LICENSE.txt +12 -0
- data/README.rdoc +240 -0
- data/Rakefile +8 -0
- data/VERSION +1 -0
- data/lib/sixarm_ruby_ramp/array.rb +397 -0
- data/lib/sixarm_ruby_ramp/class.rb +38 -0
- data/lib/sixarm_ruby_ramp/csv.rb +58 -0
- data/lib/sixarm_ruby_ramp/date.rb +55 -0
- data/lib/sixarm_ruby_ramp/enumerable.rb +483 -0
- data/lib/sixarm_ruby_ramp/file.rb +17 -0
- data/lib/sixarm_ruby_ramp/fixnum.rb +34 -0
- data/lib/sixarm_ruby_ramp/hash.rb +238 -0
- data/lib/sixarm_ruby_ramp/integer.rb +26 -0
- data/lib/sixarm_ruby_ramp/io.rb +71 -0
- data/lib/sixarm_ruby_ramp/kernel.rb +84 -0
- data/lib/sixarm_ruby_ramp/math.rb +30 -0
- data/lib/sixarm_ruby_ramp/nil.rb +22 -0
- data/lib/sixarm_ruby_ramp/numeric.rb +44 -0
- data/lib/sixarm_ruby_ramp/object.rb +23 -0
- data/lib/sixarm_ruby_ramp/process.rb +221 -0
- data/lib/sixarm_ruby_ramp/string.rb +230 -0
- data/lib/sixarm_ruby_ramp/symbol.rb +29 -0
- data/lib/sixarm_ruby_ramp/time.rb +61 -0
- data/lib/sixarm_ruby_ramp/xml.rb +204 -0
- data/lib/sixarm_ruby_ramp/yaml.rb +10 -0
- data/lib/sixarm_ruby_ramp.rb +8 -0
- data/test/sixarm_ruby_ramp/io_test.txt +1 -0
- data/test/sixarm_ruby_ramp/xml_test_1.xml +5 -0
- data/test/sixarm_ruby_ramp/xml_test_2.xml +5 -0
- data/test/sixarm_ruby_ramp/xml_test_msword_clean.html +1 -0
- data/test/sixarm_ruby_ramp/xml_test_msword_dirty.html +148 -0
- data/test/sixarm_ruby_ramp_test.rb +9 -0
- data.tar.gz.sig +1 -0
- metadata +113 -0
- metadata.gz.sig +0 -0
@@ -0,0 +1,204 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'rexml/document'
|
3
|
+
|
4
|
+
# XML extensions
|
5
|
+
|
6
|
+
module XML
|
7
|
+
|
8
|
+
|
9
|
+
# Specify one or more directory patterns and pass each XML file in the matching directories to a block.
|
10
|
+
#
|
11
|
+
# See [Dir#glob](http://www.ruby-doc.org/core/classes/Dir.html#M002347) for pattern details.
|
12
|
+
#
|
13
|
+
# @example To load xml documents
|
14
|
+
# XML.load_dir('/tmp/*.xml'){|xml_document|
|
15
|
+
# #...whatever you want to do with each xml document
|
16
|
+
# }
|
17
|
+
#
|
18
|
+
# @example To load xml documents in files beginning in "foo" or "bar"
|
19
|
+
# XML.load_dir('/tmp/foo*.yaml','/tmp/bar*.xml','){|xml_document|
|
20
|
+
# #...whatever you want to do with the xml document
|
21
|
+
# }
|
22
|
+
|
23
|
+
def XML.load_dir(*dirpaths)
|
24
|
+
dirpaths=[*dirpaths.flatten]
|
25
|
+
dirpaths.each do |dirpath|
|
26
|
+
Dir[dirpath].sort.each do |filename|
|
27
|
+
File.open(filename) do |file|
|
28
|
+
doc = REXML::Document.new file
|
29
|
+
yield doc
|
30
|
+
end #file
|
31
|
+
end #dir
|
32
|
+
end #each
|
33
|
+
end #def
|
34
|
+
|
35
|
+
|
36
|
+
# Sugar to load elements from a file.
|
37
|
+
#
|
38
|
+
# @example
|
39
|
+
# XML.load_attributes('config.xml','userlist/user'){|element| pp element.attributes['first_name'] }
|
40
|
+
|
41
|
+
def XML.load_elements(dirpath,xpath)
|
42
|
+
XML.load_dir(dirpath){|doc|
|
43
|
+
doc.elements.each(xpath){|elem|
|
44
|
+
yield elem
|
45
|
+
}
|
46
|
+
}
|
47
|
+
end
|
48
|
+
|
49
|
+
|
50
|
+
# Sugar to load attributes from a file.
|
51
|
+
#
|
52
|
+
# @example
|
53
|
+
# XML.load_attributes('config.xml','userlist/user'){|attributes| pp attributes['first_name'] }
|
54
|
+
|
55
|
+
def XML.load_attributes(dirpath,xpath)
|
56
|
+
XML.load_elements(dirpath,xpath){|elem|
|
57
|
+
yield elem.attributes
|
58
|
+
}
|
59
|
+
end
|
60
|
+
|
61
|
+
# Sugar to load attributes hash from a file.
|
62
|
+
#
|
63
|
+
# @example
|
64
|
+
# XML.load_attributes('config.xml','userlist/user'){|attributes| pp attributes['first_name'] }
|
65
|
+
|
66
|
+
def XML.load_attributes_hash(dirpath,xpath)
|
67
|
+
XML.load_elements(dirpath,xpath){|elem|
|
68
|
+
yield elem.attributes.to_hash
|
69
|
+
}
|
70
|
+
end
|
71
|
+
|
72
|
+
|
73
|
+
# Santize dirty xml by removing unprintables, bad tags,
|
74
|
+
# comments, and generally anything else we might need
|
75
|
+
# to enable the XML parser to handle a dirty document.
|
76
|
+
#
|
77
|
+
# This method calls these in order:
|
78
|
+
# - XML.strip_unprintables
|
79
|
+
# - XML.strip_microsoft
|
80
|
+
# - XML.strip_comments
|
81
|
+
# - XML.strip_attributes
|
82
|
+
#
|
83
|
+
# @example
|
84
|
+
# # This example shows curly braces instead of angle braces because of HTML formatting
|
85
|
+
# s="{foo a=b c=d}{!--comment--}Hello{!-[if bar]}Microsoft{![endif]}World{/foo}"
|
86
|
+
# XML.strip_all(s) => "{foo}HelloWorld{/foo}"
|
87
|
+
#
|
88
|
+
# @return [String] the text, stripped of unprintables, Microsoft markup, comments, and attributes
|
89
|
+
|
90
|
+
def XML.strip_all(xml_text)
|
91
|
+
return XML.strip_attributes(XML.strip_comments(XML.strip_microsoft(XML.strip_unprintables(xml_text))))
|
92
|
+
end
|
93
|
+
|
94
|
+
|
95
|
+
# Strip out all attributes from the xml text's tags.
|
96
|
+
#
|
97
|
+
# @example
|
98
|
+
# s="<foo a=b c=d e=f>Hello</foo>"
|
99
|
+
# XML.strip_attributes(s) => "<foo>Hello</foo>"
|
100
|
+
#
|
101
|
+
# @return [String] the text, stripped of attributes
|
102
|
+
|
103
|
+
def XML.strip_attributes(xml_text)
|
104
|
+
return xml_text.gsub(/<(\/?\w+).*?>/im){"<#{$1}>"} # delete attributes
|
105
|
+
end
|
106
|
+
|
107
|
+
|
108
|
+
# Strip out all comments from the xml text.
|
109
|
+
#
|
110
|
+
# @example
|
111
|
+
# # This example shows curly braces instead of angle braces because of HTML formatting
|
112
|
+
# s="Hello{!--comment--}World"
|
113
|
+
# XML.strip_comments(s) => "HelloWorld"
|
114
|
+
#
|
115
|
+
# @return [String] the text, stripped of comments
|
116
|
+
|
117
|
+
def XML.strip_comments(xml_text)
|
118
|
+
return xml_text.gsub(/<!.*?>/im,'')
|
119
|
+
end
|
120
|
+
|
121
|
+
|
122
|
+
# Strip out all microsoft proprietary codes.
|
123
|
+
#
|
124
|
+
# @example
|
125
|
+
# s="Hello<!-[if foo]>Microsoft<![endif]->World"
|
126
|
+
# XML.strip_microsoft(s) => "HelloWorld"
|
127
|
+
#
|
128
|
+
# @return [String] the text, stripped of Microsoft markup
|
129
|
+
|
130
|
+
def XML.strip_microsoft(xml_text)
|
131
|
+
return xml_text.gsub(/<!-*\[if\b.*?<!\[endif\]-*>/im,'')
|
132
|
+
end
|
133
|
+
|
134
|
+
|
135
|
+
# Strip out all unprintable characters from the input string.
|
136
|
+
#
|
137
|
+
# @example
|
138
|
+
# s="Hello\XXXWorld" # where XXX is unprintable
|
139
|
+
# XML.strip_unprintables(s) => "HelloWorld"
|
140
|
+
#
|
141
|
+
# @return [String] the text, stripped of unprintables
|
142
|
+
|
143
|
+
def XML.strip_unprintables(xml_text)
|
144
|
+
return xml_text.gsub(/[^[:print:]]/, "")
|
145
|
+
end
|
146
|
+
|
147
|
+
end
|
148
|
+
|
149
|
+
|
150
|
+
# REXML::Attributes extensions
|
151
|
+
|
152
|
+
class REXML::Attributes
|
153
|
+
|
154
|
+
# @return a new hash of the attribute keys and values.
|
155
|
+
#
|
156
|
+
# @example
|
157
|
+
# attributes.to_hash => {"src"=>"pic.jpg", "height" => "100", "width" => "200"}
|
158
|
+
|
159
|
+
def to_hash
|
160
|
+
h=Hash.new
|
161
|
+
self.keys.each{|k| h[k]=self[k]}
|
162
|
+
h
|
163
|
+
end
|
164
|
+
|
165
|
+
end
|
166
|
+
|
167
|
+
|
168
|
+
# REXML::Document extensions
|
169
|
+
|
170
|
+
class REXML::Document
|
171
|
+
|
172
|
+
# Remove all attributes from the document's elements.
|
173
|
+
#
|
174
|
+
# @return the document.
|
175
|
+
#
|
176
|
+
# @see Element#remove_attributes
|
177
|
+
|
178
|
+
def remove_attributes
|
179
|
+
self.elements.each("//") { |elem| elem.attributes.each_attribute{|attribute| attribute.remove }}
|
180
|
+
self
|
181
|
+
end
|
182
|
+
|
183
|
+
end
|
184
|
+
|
185
|
+
|
186
|
+
# REXML::Element extensions
|
187
|
+
|
188
|
+
class REXML::Element
|
189
|
+
|
190
|
+
# Remove all attributes from the element.
|
191
|
+
#
|
192
|
+
# @return the element.
|
193
|
+
#
|
194
|
+
# @see Document#remove_attributes
|
195
|
+
|
196
|
+
def remove_attributes
|
197
|
+
self.attributes.each_attribute{|attribute| attribute.remove }
|
198
|
+
self
|
199
|
+
end
|
200
|
+
|
201
|
+
end
|
202
|
+
|
203
|
+
|
204
|
+
|
@@ -0,0 +1,8 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
=begin rdoc
|
3
|
+
Please see README.rdoc
|
4
|
+
=end
|
5
|
+
|
6
|
+
['array','class','csv','date','enumerable','file','fixnum','hash','integer','io','kernel','math','nil','numeric','object','process','string','symbol','time','xml','yaml'].map{|x|
|
7
|
+
require File.dirname(__FILE__) + "/sixarm_ruby_ramp/#{x}.rb"
|
8
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
A1-B1-C1=A2-B2-C2=A3-B3-C3
|
@@ -0,0 +1 @@
|
|
1
|
+
<html><head><meta><meta><meta><meta><meta><meta><link><title>Foo</title><style></style></head><body><div><table> <tr> <td> <p>Foo</p> </td> <td> <p>HTML</p> </td> <td> <p>af<b>s</b></p> </td> </tr> <tr> <td> <p><o></o></p> </td> <td> <h1>Bold</h1> </td> <td> <p><o></o></p> </td> </tr> <tr> <td> <p><o></o></p> </td> <td> <p>Fas785932517</p> </td> <td> <p>asf</p> </td> </tr> <tr> <td> <p><o></o></p> </td> <td> <p><o></o></p> </td> <td> <p><o></o></p> </td> </tr></table><p><o></o></p></div></body></html>
|
@@ -0,0 +1,148 @@
|
|
1
|
+
<html xmlns:o="urn:schemas-microsoft-com:office:office"
|
2
|
+
xmlns:w="urn:schemas-microsoft-com:office:word"
|
3
|
+
xmlns="http://www.w3.org/TR/REC-html40">
|
4
|
+
|
5
|
+
<head>
|
6
|
+
<meta name=Title content=Foo>
|
7
|
+
<meta name=Keywords content="">
|
8
|
+
<meta http-equiv=Content-Type content="text/html; charset=macintosh">
|
9
|
+
<meta name=ProgId content=Word.Document>
|
10
|
+
<meta name=Generator content="Microsoft Word 10">
|
11
|
+
<meta name=Originator content="Microsoft Word 10">
|
12
|
+
<link rel=File-List href="Foo_files/filelist.xml">
|
13
|
+
<title>Foo</title>
|
14
|
+
<!--[if gte mso 9]><xml>
|
15
|
+
<o:DocumentProperties>
|
16
|
+
<o:Template>Normal</o:Template>
|
17
|
+
<o:LastAuthor>Staff</o:LastAuthor>
|
18
|
+
<o:Revision>1</o:Revision>
|
19
|
+
<o:Created>2009-10-22T23:51:00Z</o:Created>
|
20
|
+
<o:LastSaved>2009-10-22T23:53:00Z</o:LastSaved>
|
21
|
+
<o:Pages>1</o:Pages>
|
22
|
+
<o:Company>WestEd</o:Company>
|
23
|
+
<o:Lines>1</o:Lines>
|
24
|
+
<o:Paragraphs>1</o:Paragraphs>
|
25
|
+
<o:Version>10.262</o:Version>
|
26
|
+
</o:DocumentProperties>
|
27
|
+
</xml><![endif]--><!--[if gte mso 9]><xml>
|
28
|
+
<w:WordDocument>
|
29
|
+
<w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery>
|
30
|
+
<w:DisplayVerticalDrawingGridEvery>0</w:DisplayVerticalDrawingGridEvery>
|
31
|
+
<w:UseMarginsForDrawingGridOrigin/>
|
32
|
+
</w:WordDocument>
|
33
|
+
</xml><![endif]-->
|
34
|
+
<style>
|
35
|
+
<!--
|
36
|
+
/* Style Definitions */
|
37
|
+
p.MsoNormal, li.MsoNormal, div.MsoNormal
|
38
|
+
{mso-style-parent:"";
|
39
|
+
margin:0in;
|
40
|
+
margin-bottom:.0001pt;
|
41
|
+
mso-pagination:widow-orphan;
|
42
|
+
font-size:12.0pt;
|
43
|
+
font-family:Times;}
|
44
|
+
h1
|
45
|
+
{mso-style-next:Normal;
|
46
|
+
margin:0in;
|
47
|
+
margin-bottom:.0001pt;
|
48
|
+
mso-pagination:widow-orphan;
|
49
|
+
page-break-after:avoid;
|
50
|
+
mso-outline-level:1;
|
51
|
+
font-size:12.0pt;
|
52
|
+
font-family:Times;
|
53
|
+
mso-font-kerning:0pt;}
|
54
|
+
@page Section1
|
55
|
+
{size:8.5in 11.0in;
|
56
|
+
margin:1.0in 1.25in 1.0in 1.25in;
|
57
|
+
mso-header-margin:.5in;
|
58
|
+
mso-footer-margin:.5in;
|
59
|
+
mso-paper-source:0;}
|
60
|
+
div.Section1
|
61
|
+
{page:Section1;}
|
62
|
+
-->
|
63
|
+
</style>
|
64
|
+
</head>
|
65
|
+
|
66
|
+
<body bgcolor=white lang=EN-US style='tab-interval:.5in'>
|
67
|
+
|
68
|
+
<div class=Section1>
|
69
|
+
|
70
|
+
<table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse;
|
71
|
+
border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'>
|
72
|
+
<tr>
|
73
|
+
<td width=148 valign=top style='width:2.05in;border:solid windowtext .5pt;
|
74
|
+
padding:0in 5.4pt 0in 5.4pt'>
|
75
|
+
<p class=MsoNormal>Foo</p>
|
76
|
+
</td>
|
77
|
+
<td width=148 valign=top style='width:2.05in;border:solid windowtext .5pt;
|
78
|
+
border-left:none;mso-border-left-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'>
|
79
|
+
<p class=MsoNormal>HTML</p>
|
80
|
+
</td>
|
81
|
+
<td width=148 valign=top style='width:2.05in;border:solid windowtext .5pt;
|
82
|
+
border-left:none;mso-border-left-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'>
|
83
|
+
<p class=MsoNormal>af<b>s</b></p>
|
84
|
+
</td>
|
85
|
+
</tr>
|
86
|
+
<tr>
|
87
|
+
<td width=148 valign=top style='width:2.05in;border:solid windowtext .5pt;
|
88
|
+
border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'>
|
89
|
+
<p class=MsoNormal><![if !supportEmptyParas]> <![endif]><o:p></o:p></p>
|
90
|
+
</td>
|
91
|
+
<td width=148 valign=top style='width:2.05in;border-top:none;border-left:
|
92
|
+
none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
|
93
|
+
mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
|
94
|
+
padding:0in 5.4pt 0in 5.4pt'>
|
95
|
+
<h1>Bold</h1>
|
96
|
+
</td>
|
97
|
+
<td width=148 valign=top style='width:2.05in;border-top:none;border-left:
|
98
|
+
none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
|
99
|
+
mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
|
100
|
+
padding:0in 5.4pt 0in 5.4pt'>
|
101
|
+
<p class=MsoNormal><![if !supportEmptyParas]> <![endif]><o:p></o:p></p>
|
102
|
+
</td>
|
103
|
+
</tr>
|
104
|
+
<tr>
|
105
|
+
<td width=148 valign=top style='width:2.05in;border:solid windowtext .5pt;
|
106
|
+
border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'>
|
107
|
+
<p class=MsoNormal><![if !supportEmptyParas]> <![endif]><o:p></o:p></p>
|
108
|
+
</td>
|
109
|
+
<td width=148 valign=top style='width:2.05in;border-top:none;border-left:
|
110
|
+
none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
|
111
|
+
mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
|
112
|
+
padding:0in 5.4pt 0in 5.4pt'>
|
113
|
+
<p class=MsoNormal>Fas785932517</p>
|
114
|
+
</td>
|
115
|
+
<td width=148 valign=top style='width:2.05in;border-top:none;border-left:
|
116
|
+
none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
|
117
|
+
mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
|
118
|
+
padding:0in 5.4pt 0in 5.4pt'>
|
119
|
+
<p class=MsoNormal>�asf�</p>
|
120
|
+
</td>
|
121
|
+
</tr>
|
122
|
+
<tr>
|
123
|
+
<td width=148 valign=top style='width:2.05in;border:solid windowtext .5pt;
|
124
|
+
border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'>
|
125
|
+
<p class=MsoNormal><![if !supportEmptyParas]> <![endif]><o:p></o:p></p>
|
126
|
+
</td>
|
127
|
+
<td width=148 valign=top style='width:2.05in;border-top:none;border-left:
|
128
|
+
none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
|
129
|
+
mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
|
130
|
+
padding:0in 5.4pt 0in 5.4pt'>
|
131
|
+
<p class=MsoNormal><![if !supportEmptyParas]> <![endif]><o:p></o:p></p>
|
132
|
+
</td>
|
133
|
+
<td width=148 valign=top style='width:2.05in;border-top:none;border-left:
|
134
|
+
none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
|
135
|
+
mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
|
136
|
+
padding:0in 5.4pt 0in 5.4pt'>
|
137
|
+
<p class=MsoNormal><![if !supportEmptyParas]> <![endif]><o:p></o:p></p>
|
138
|
+
</td>
|
139
|
+
</tr>
|
140
|
+
</table>
|
141
|
+
|
142
|
+
<p class=MsoNormal><![if !supportEmptyParas]> <![endif]><o:p></o:p></p>
|
143
|
+
|
144
|
+
</div>
|
145
|
+
|
146
|
+
</body>
|
147
|
+
|
148
|
+
</html>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'test/unit'
|
3
|
+
require 'simplecov'
|
4
|
+
SimpleCov.start
|
5
|
+
|
6
|
+
['array','class','csv','date','enumerable','file','fixnum','hash','integer','io','kernel','math','nil','numeric','object','process','string','symbol','time','xml','yaml'].map{|x|
|
7
|
+
require "sixarm_ruby_ramp/#{x}_test.rb"
|
8
|
+
}
|
9
|
+
|
data.tar.gz.sig
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
�z
|
metadata
ADDED
@@ -0,0 +1,113 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: sixarm_ruby_ramp
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2.1.0
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- SixArm
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain:
|
12
|
+
- !binary |-
|
13
|
+
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURCRENDQW0yZ0F3SUJB
|
14
|
+
Z0lKQUtQd0VFVFU1YkhvTUEwR0NTcUdTSWIzRFFFQkJRVUFNR0F4Q3pBSkJn
|
15
|
+
TlYKQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZB
|
16
|
+
WURWUVFIRXcxVFlXNGdSbkpoYm1OcApjMk52TVE4d0RRWURWUVFLRXdaVGFY
|
17
|
+
aEJjbTB4RXpBUkJnTlZCQU1UQ25OcGVHRnliUzVqYjIwd0hoY05NVEF4Ck1q
|
18
|
+
RXpNak15TnpFeldoY05NVE13T1RBNE1qTXlOekV6V2pCZ01Rc3dDUVlEVlFR
|
19
|
+
R0V3SlZVekVUTUJFR0ExVUUKQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFV
|
20
|
+
RUJ4TU5VMkZ1SUVaeVlXNWphWE5qYnpFUE1BMEdBMVVFQ2hNRwpVMmw0UVhK
|
21
|
+
dE1STXdFUVlEVlFRREV3cHphWGhoY20wdVkyOXRNSUdmTUEwR0NTcUdTSWIz
|
22
|
+
RFFFQkFRVUFBNEdOCkFEQ0JpUUtCZ1FDOTRtRDlKRHdCc3Vuc09JMFZSM0NY
|
23
|
+
WGJPV2c5Y1dhV2Npd0Z5Sk5GaU03QTlJOEtQTGZYVXcKUUM0Y3pVZTVadUc0
|
24
|
+
V0h2aW5yV2hrckNLKzFkV0Jxb0VDbHhkRi9Gb0tPNWErdG9uR0Nqam1meTgx
|
25
|
+
Sm1Gamp5eAplVHNqc0h5dncrUWlrOWtwZjlhajYrcG5rTnJWc3dnTkhWZWEy
|
26
|
+
bzl5YWJiRWlTNlZTZUpXb1FJREFRQUJvNEhGCk1JSENNQjBHQTFVZERnUVdC
|
27
|
+
QlF6UEp0cW1TZ2M1M2VETjdhU3pEUXdyOVRBTERDQmtnWURWUjBqQklHS01J
|
28
|
+
R0gKZ0JRelBKdHFtU2djNTNlRE43YVN6RFF3cjlUQUxLRmtwR0l3WURFTE1B
|
29
|
+
a0dBMVVFQmhNQ1ZWTXhFekFSQmdOVgpCQWdUQ2tOaGJHbG1iM0p1YVdFeEZq
|
30
|
+
QVVCZ05WQkFjVERWTmhiaUJHY21GdVkybHpZMjh4RHpBTkJnTlZCQW9UCkJs
|
31
|
+
TnBlRUZ5YlRFVE1CRUdBMVVFQXhNS2MybDRZWEp0TG1OdmJZSUpBS1B3RUVU
|
32
|
+
VTViSG9NQXdHQTFVZEV3UUYKTUFNQkFmOHdEUVlKS29aSWh2Y05BUUVGQlFB
|
33
|
+
RGdZRUFvb0VleFAvb1BhbTFUUDcxU3l1aHhNYit1VHJaYlNRZQpqVkIrRXhS
|
34
|
+
d1dhZEd3YU5QVUE1NmQzOXF3YXZ3UCtpdSszSnBlb25OTVZ2YldYRjVuYUNY
|
35
|
+
L2RORkllUkVIekVSClpEUlFZTXFydTlURU1uYTZIRDl6cGNzdEY3dndUaEdv
|
36
|
+
dmxPUSszWTZwbFE0bk16aXBYY1o5VEhxczY1UElMMHEKZWFid3BDYkFvcG89
|
37
|
+
Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
|
38
|
+
date: 2011-12-17 00:00:00.000000000 Z
|
39
|
+
dependencies: []
|
40
|
+
description:
|
41
|
+
email: sixarm@sixarm.com
|
42
|
+
executables: []
|
43
|
+
extensions: []
|
44
|
+
extra_rdoc_files: []
|
45
|
+
files:
|
46
|
+
- .gemtest
|
47
|
+
- CHANGELOG.txt
|
48
|
+
- INSTALL.txt
|
49
|
+
- LICENSE.txt
|
50
|
+
- Rakefile
|
51
|
+
- README.rdoc
|
52
|
+
- VERSION
|
53
|
+
- lib/sixarm_ruby_ramp.rb
|
54
|
+
- lib/sixarm_ruby_ramp/array.rb
|
55
|
+
- lib/sixarm_ruby_ramp/class.rb
|
56
|
+
- lib/sixarm_ruby_ramp/csv.rb
|
57
|
+
- lib/sixarm_ruby_ramp/date.rb
|
58
|
+
- lib/sixarm_ruby_ramp/enumerable.rb
|
59
|
+
- lib/sixarm_ruby_ramp/file.rb
|
60
|
+
- lib/sixarm_ruby_ramp/fixnum.rb
|
61
|
+
- lib/sixarm_ruby_ramp/hash.rb
|
62
|
+
- lib/sixarm_ruby_ramp/integer.rb
|
63
|
+
- lib/sixarm_ruby_ramp/io.rb
|
64
|
+
- lib/sixarm_ruby_ramp/kernel.rb
|
65
|
+
- lib/sixarm_ruby_ramp/math.rb
|
66
|
+
- lib/sixarm_ruby_ramp/nil.rb
|
67
|
+
- lib/sixarm_ruby_ramp/numeric.rb
|
68
|
+
- lib/sixarm_ruby_ramp/object.rb
|
69
|
+
- lib/sixarm_ruby_ramp/process.rb
|
70
|
+
- lib/sixarm_ruby_ramp/string.rb
|
71
|
+
- lib/sixarm_ruby_ramp/symbol.rb
|
72
|
+
- lib/sixarm_ruby_ramp/time.rb
|
73
|
+
- lib/sixarm_ruby_ramp/xml.rb
|
74
|
+
- lib/sixarm_ruby_ramp/yaml.rb
|
75
|
+
- test/sixarm_ruby_ramp_test.rb
|
76
|
+
- test/sixarm_ruby_ramp/io_test.txt
|
77
|
+
- test/sixarm_ruby_ramp/xml_test_msword_clean.html
|
78
|
+
- test/sixarm_ruby_ramp/xml_test_msword_dirty.html
|
79
|
+
- test/sixarm_ruby_ramp/xml_test_1.xml
|
80
|
+
- test/sixarm_ruby_ramp/xml_test_2.xml
|
81
|
+
homepage: http://sixarm.com/
|
82
|
+
licenses: []
|
83
|
+
post_install_message:
|
84
|
+
rdoc_options: []
|
85
|
+
require_paths:
|
86
|
+
- lib
|
87
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
88
|
+
none: false
|
89
|
+
requirements:
|
90
|
+
- - ! '>='
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: '0'
|
93
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
94
|
+
none: false
|
95
|
+
requirements:
|
96
|
+
- - ! '>='
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: '0'
|
99
|
+
requirements: []
|
100
|
+
rubyforge_project:
|
101
|
+
rubygems_version: 1.8.12
|
102
|
+
signing_key:
|
103
|
+
specification_version: 3
|
104
|
+
summary: SixArm.com » Ruby » Ramp gem provides base extensions to ruby classes and
|
105
|
+
rails classes.
|
106
|
+
test_files:
|
107
|
+
- test/sixarm_ruby_ramp_test.rb
|
108
|
+
- test/sixarm_ruby_ramp/io_test.txt
|
109
|
+
- test/sixarm_ruby_ramp/xml_test_msword_clean.html
|
110
|
+
- test/sixarm_ruby_ramp/xml_test_msword_dirty.html
|
111
|
+
- test/sixarm_ruby_ramp/xml_test_1.xml
|
112
|
+
- test/sixarm_ruby_ramp/xml_test_2.xml
|
113
|
+
has_rdoc: true
|
metadata.gz.sig
ADDED
Binary file
|