flat_out 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +100 -112
- data/lib/flat_out.rb +53 -31
- data/spec/flat_out_spec.rb +59 -47
- metadata +2 -2
data/README.rdoc
CHANGED
@@ -18,28 +18,42 @@ Install flat_out like any other ruby gem:
|
|
18
18
|
* Format this instance using various put methods based upon your input type.
|
19
19
|
* The final result is available via the to_s method of the object.
|
20
20
|
|
21
|
+
== Important note on base
|
22
|
+
The positions specified in flat_out are 1 based, which is what most
|
23
|
+
flat file specifications I am dealing with use, and not Ruby's zero based. For example,
|
24
|
+
the first, second, and third characters in a ruby string are considered
|
25
|
+
positions 0, 1, and 2 respectively. In flat_out, these would be considered
|
26
|
+
positions 1, 2, and 3 respectively.
|
27
|
+
|
28
|
+
You can change the base through the FlatOut.base command.
|
29
|
+
|
21
30
|
== Commands
|
22
31
|
|
23
32
|
Available Commands:
|
24
33
|
|
25
|
-
|
34
|
+
FlatOut.base(base)
|
35
|
+
FlatOut.new(rec_length)
|
36
|
+
put(len, pos, fld)
|
37
|
+
to_s
|
38
|
+
|
26
39
|
reset
|
27
40
|
reset(rec_length)
|
28
|
-
put_alpha(len, pos, fld)
|
29
|
-
put_integer(len, pos, fld)
|
30
|
-
put_integer_part(len, pos, fld)
|
31
|
-
put_digits_only(len, pos, fld)
|
32
|
-
put_decimal_with_point(int_dot_dec, pos, fld)
|
33
|
-
put_decimal_no_point(int_dot_dec, pos, fld)
|
34
|
-
to_s
|
35
41
|
|
42
|
+
FlatOut.digits_only(fld)
|
43
|
+
FlatOut.phone_squeeze(fld)
|
44
|
+
|
45
|
+
Command:
|
46
|
+
|
47
|
+
FlatOut.base(base)
|
48
|
+
|
49
|
+
Description:
|
50
|
+
This command will change the base for position specifications. It is also useful while
|
51
|
+
working with layouts that are specified with an offset.
|
36
52
|
|
37
|
-
|
53
|
+
example:
|
54
|
+
FlatOut.base(0) # Set the base to zero.
|
55
|
+
FlatOut.base(1) # Set the base to 1(default).
|
38
56
|
|
39
|
-
The positions specified in flat_out are 1 based, which is what most flat file specifications
|
40
|
-
use, and not Ruby's zero based. For example, the first, second, and third characters in a ruby string
|
41
|
-
are considered positions 0, 1, and 2 respectively. In flat_out, these would be considered
|
42
|
-
positions 1, 2, and 3 respectively.
|
43
57
|
|
44
58
|
Command:
|
45
59
|
|
@@ -66,137 +80,111 @@ Command:
|
|
66
80
|
|
67
81
|
Command:
|
68
82
|
|
69
|
-
myline.
|
70
|
-
|
71
|
-
|
72
|
-
This command puts the provided
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
83
|
+
myline.put(len, pos, fld)
|
84
|
+
|
85
|
+
Descriptions and examples:
|
86
|
+
This command puts the provided field(fld) at starting position(pos) for (len) bytes.
|
87
|
+
|
88
|
+
String fld:
|
89
|
+
If the fld is shorter than specified len, it is padded with trailing spaces.
|
90
|
+
If the fld is longer than specified len, it is left justified and truncated.
|
91
|
+
|
92
|
+
Example:
|
93
|
+
# '123456789012'
|
94
|
+
myline = FlatOut.new(12) # ' '
|
95
|
+
myline.put(4, 2, 'ABCDEFG') # ' ABCD '
|
96
|
+
myline.put(4, 2, 'ABCD') # ' ABCD '
|
97
|
+
myline.put(4, 2, 'AB') # ' AB '
|
98
|
+
|
99
|
+
Integer fld:
|
100
|
+
If the fld is shorter than specified len, it is padded with leading zeroes.
|
101
|
+
If the fld is longer than specified len, it is right justified and truncated.
|
102
|
+
myline = FlatOut.new(12) # ' '
|
103
|
+
myline.put(4, 2, 1234) # ' 1234 '
|
104
|
+
myline.put(4, 2, 12) # ' 0012 '
|
105
|
+
myline.put(4, 2, 123456) # ' 3456 '
|
106
|
+
|
107
|
+
Float fld with integer len:
|
108
|
+
The decimal part of the fld is truncated and only the integer part is processed.
|
109
|
+
It is useful when only the dollar part of an amount is to be reported.
|
110
|
+
myline = FlatOut.new(12) # ' '
|
111
|
+
myline.put(4, 2, 1234.45) # ' 1234 '
|
112
|
+
myline.put(4, 2, 12.45) # ' 0012 '
|
113
|
+
myline.put(4, 2, 123456.78) # ' 3456 '
|
114
|
+
|
115
|
+
Float fld with x.y length with explicit decimal point:
|
116
|
+
Here x is the number of integer digits and y is the number of places after the decimal.
|
117
|
+
The total length of this field in the output is going to be x + y + 1.
|
118
|
+
If the fld is shorter than specified length, it is padded with leading and trailing zeroes.
|
119
|
+
If the fld is longer than specified length, it is decimal justified and truncated.
|
120
|
+
myline = FlatOut.new(12) # ' '
|
121
|
+
myline.put(4.2, 2, 1234.56) # ' 1234.56 '
|
122
|
+
myline.put(4.2, 2, 12.3) # ' 0012.30 '
|
123
|
+
myline.put(4.2, 2, 123456.789) # ' 3456.79 '
|
124
|
+
|
125
|
+
Float fld with -x.y length with implicit decimal:
|
126
|
+
The format of the output has be specified in -x.y format where x is the number of integer
|
127
|
+
digits and y is the number of places after the decimal. The total length of this field
|
128
|
+
in the output is going to be x + y.
|
129
|
+
This is the format used for decimal numbers by most legacy systems using fixed length records.
|
130
|
+
example:
|
131
|
+
myline = FlatOut.new(12) # ' '
|
132
|
+
myline.put(-4.2, 2, 1234.56) # ' 123456 '
|
133
|
+
myline.put(-4.2, 2, 12.3) # ' 001230 '
|
134
|
+
myline.put(-4.2, 2, 123456.789) # ' 345679 '
|
116
135
|
|
117
136
|
Command:
|
118
137
|
|
119
|
-
myline.
|
138
|
+
myline.to_s
|
120
139
|
|
121
140
|
Description:
|
122
|
-
This
|
123
|
-
starting position(pos) for (len) bytes. It is useful to convert formatted
|
124
|
-
SSNs, EINs, Phone numbers etc to their numeric only equivalents.
|
125
|
-
If the fld is shorter than specified len, it is padded with trailing spaces.
|
126
|
-
If the fld is longer than specified len, it is left justified and truncated.
|
127
|
-
|
128
|
-
example:
|
129
|
-
myline = FlatOut.new(12) # ' '
|
130
|
-
# '123456789012'
|
131
|
-
myline.put_digits_only(10, 2, '012-345-6789') # ' 0123456789 '
|
132
|
-
myline.put_digits_only(10, 2, '(800) 555-1212') # ' 8005551212 '
|
141
|
+
This will return the formatted fixed length record which you can write to a file.
|
133
142
|
|
134
143
|
Command:
|
135
144
|
|
136
|
-
|
145
|
+
FlatOut.digits_only(fld)
|
137
146
|
|
138
147
|
Description:
|
139
|
-
This
|
140
|
-
|
141
|
-
digits and y is the number of places after the decimal. The total length of this field
|
142
|
-
in the output is going to be x + y + 1.
|
143
|
-
If the fld is shorter than specified length, it is padded with leading and trailing zeroes.
|
144
|
-
If the fld is longer than specified length, it is decimal justified and truncated.
|
148
|
+
This helper method strips all non-digits from a given string. It is useful to
|
149
|
+
convert formatted SSNs, EINs, Phone numbers etc to their numeric only equivalents.
|
145
150
|
|
146
151
|
example:
|
147
|
-
|
148
|
-
|
149
|
-
myline.put_decimal_with_point(4.2, 2, 1234.56) # ' 1234.56 '
|
150
|
-
myline.put_decimal_with_point(4.2, 2, 12.3) # ' 0012.30 '
|
151
|
-
myline.put_decimal_with_point(4.2, 2, 123456.789) # ' 3456.79 '
|
152
|
+
FlatOut.digits_only('012-345-6789') # '0123456789'
|
153
|
+
FlatOut.digits_only('(800) 555-1212') # '8005551212'
|
152
154
|
|
153
155
|
Command:
|
154
156
|
|
155
|
-
|
157
|
+
FlatOut.phone_squeeze(fld)
|
156
158
|
|
157
159
|
Description:
|
158
|
-
This
|
159
|
-
|
160
|
-
digits and y is the number of places after the decimal. The total length of this field
|
161
|
-
in the output is going to be x + y.
|
162
|
-
This is the format used for decimal numbers by most legacy systems using fixed length records.
|
163
|
-
If the fld is shorter than specified length, it is padded with leading and trailing zeroes.
|
164
|
-
If the fld is longer than specified length, it is decimal justified and truncated.
|
160
|
+
This helper method strips the commonly used special characters and spaces from phone
|
161
|
+
numbers, but leaves the alphabets alone. It is useful to standardize phone numbers fields.
|
165
162
|
|
166
163
|
example:
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
myline.put_decimal_no_point(4.2, 2, 12.3) # ' 001230 '
|
171
|
-
myline.put_decimal_no_point(4.2, 2, 123456.789) # ' 345679 '
|
172
|
-
|
173
|
-
Command:
|
174
|
-
|
175
|
-
myline.to_s
|
176
|
-
|
177
|
-
Description:
|
178
|
-
This will return the formatted fixed length record which you can write to a file.
|
164
|
+
FlatOut.phone_squeeze('(800) 555-1212') == "8005551212"
|
165
|
+
FlatOut.phone_squeeze('(800) 555-1212 Ext 234') == "8005551212Ext234"
|
166
|
+
FlatOut.phone_squeeze('(800) GOT-MILK') == "800GOTMILK"
|
179
167
|
|
180
|
-
|
168
|
+
== Full Cycle Example:
|
181
169
|
|
182
170
|
myline = FlatOut.new(80)
|
183
|
-
myline.
|
184
|
-
myline.
|
185
|
-
myline.
|
186
|
-
myline.
|
171
|
+
myline.put(10, 1, Time.now.strftime("%m/%d/%Y"))
|
172
|
+
myline.put(30, 30, "TEST REPORT PRINTED")
|
173
|
+
myline.put(6, 70, "PAGE:")
|
174
|
+
myline.put(2, 79, 1)
|
187
175
|
puts myline.to_s
|
188
176
|
|
189
177
|
users = %w[Anil Mark Jake]
|
190
178
|
|
191
179
|
users.each do |user|
|
192
180
|
myline.reset
|
193
|
-
myline.
|
194
|
-
myline.
|
181
|
+
myline.put(12, 4, "USERNAME :")
|
182
|
+
myline.put(12, 16, user)
|
195
183
|
puts myline.to_s
|
196
184
|
end
|
197
185
|
|
198
186
|
myline.reset
|
199
|
-
myline.
|
187
|
+
myline.put(30, 30, "END OF REPORT")
|
200
188
|
puts myline.to_s
|
201
189
|
|
202
190
|
== Contributing to flat_out
|
data/lib/flat_out.rb
CHANGED
@@ -2,6 +2,7 @@ class FlatOut
|
|
2
2
|
def initialize(rec_length)
|
3
3
|
@flat_out = " " * rec_length
|
4
4
|
@flat_length = rec_length
|
5
|
+
@@base ||= 1
|
5
6
|
end
|
6
7
|
|
7
8
|
def reset(rec_length=@flat_length)
|
@@ -9,49 +10,70 @@ class FlatOut
|
|
9
10
|
@flat_length = rec_length
|
10
11
|
end
|
11
12
|
|
13
|
+
def to_s
|
14
|
+
@flat_out
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.base(base)
|
18
|
+
@@base = base
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.phone_squeeze(fld)
|
22
|
+
fld.tr("-)( " , "")
|
23
|
+
end
|
24
|
+
|
25
|
+
def self.digits_only(fld)
|
26
|
+
fld.gsub(/[^\d]/,"")
|
27
|
+
end
|
28
|
+
|
29
|
+
def put len, pos, fld
|
30
|
+
case fld
|
31
|
+
when String
|
32
|
+
put_alpha len, pos, fld
|
33
|
+
when Integer
|
34
|
+
put_integer len, pos, fld
|
35
|
+
when Float
|
36
|
+
if len.to_s.match(/\./)
|
37
|
+
put_float len, pos, fld
|
38
|
+
else
|
39
|
+
put_integer len, pos, fld
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
private
|
45
|
+
|
46
|
+
def put_fld len, pos, fld
|
47
|
+
start_pos = pos - @@base ; end_pos = start_pos + len
|
48
|
+
@flat_out[start_pos...end_pos] = fld
|
49
|
+
end
|
50
|
+
|
12
51
|
def put_alpha len, pos, fld
|
13
|
-
start_pos = pos - 1 ; end_pos = start_pos + len
|
14
52
|
space_fill = " " * len
|
15
53
|
val = (fld.to_s + space_fill)[0...len]
|
16
|
-
|
54
|
+
put_fld len, pos, val
|
17
55
|
end
|
18
56
|
|
19
57
|
def put_integer len, pos, fld
|
20
|
-
data_content = fld.to_s
|
58
|
+
data_content = fld.to_i.to_s
|
21
59
|
data_len = data_content.length
|
22
60
|
zero_fill = "0" * len
|
23
61
|
val = (zero_fill + data_content)[-len,len]
|
24
|
-
|
62
|
+
put_fld len, pos, val
|
25
63
|
end
|
26
64
|
|
27
|
-
def
|
28
|
-
|
29
|
-
put_integer
|
30
|
-
end
|
65
|
+
def put_float int_dot_dec, pos, fld
|
66
|
+
int = int_dot_dec.to_s.split(".")[0].to_i.abs
|
67
|
+
put_integer int, pos, fld
|
31
68
|
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
69
|
+
pos = pos + int
|
70
|
+
if int_dot_dec > 0
|
71
|
+
put_fld 1, pos, '.'
|
72
|
+
pos = pos + 1
|
73
|
+
end
|
36
74
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
val = sprintf("%#{len}.#{precision}f", fld)[-len,len]
|
41
|
-
val = val.tr(" ","0")
|
42
|
-
put_alpha len, pos, val
|
43
|
-
end
|
44
|
-
|
45
|
-
def put_decimal_no_point int_dot_dec, pos, fld
|
46
|
-
precision = int_dot_dec.to_s.split(".")[1].to_i
|
47
|
-
len = int_dot_dec.to_s.split(".")[0].to_i + precision + 1
|
48
|
-
val = sprintf("%#{len}.#{precision}f", fld)[-len,len]
|
49
|
-
val = val.tr(" ","0")
|
50
|
-
val = val.sub(".","")
|
51
|
-
put_alpha len, pos, val
|
52
|
-
end
|
53
|
-
|
54
|
-
def to_s
|
55
|
-
@flat_out
|
75
|
+
dec = int_dot_dec.to_s.split(".")[1].to_i
|
76
|
+
val = sprintf("%0.#{dec}f", fld)[-dec,dec]
|
77
|
+
put_fld dec, pos, val
|
56
78
|
end
|
57
79
|
end
|
data/spec/flat_out_spec.rb
CHANGED
@@ -1,11 +1,5 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
2
2
|
|
3
|
-
#describe "FlatOut" do
|
4
|
-
# it "fails" do
|
5
|
-
## fail "hey buddy, you should probably rename this file and start specing for real"
|
6
|
-
# end
|
7
|
-
#end
|
8
|
-
|
9
3
|
describe "New String" do
|
10
4
|
it "should have a blank string of correct length when initialize()" do
|
11
5
|
f = FlatOut.new(6)
|
@@ -29,115 +23,133 @@ describe "Reset String with argument" do
|
|
29
23
|
end
|
30
24
|
end
|
31
25
|
|
32
|
-
describe "
|
26
|
+
describe "put exact length alpha" do
|
33
27
|
it "should replace the correct space in the right spot" do
|
34
28
|
f = FlatOut.new(6)
|
35
|
-
f.
|
29
|
+
f.put(3,2,"ABC")
|
36
30
|
f.to_s.should == " ABC "
|
37
31
|
end
|
38
32
|
end
|
39
33
|
|
40
|
-
describe "
|
34
|
+
describe "put short length alpha" do
|
41
35
|
it "should blank fill the trailing space" do
|
42
36
|
f = FlatOut.new(6)
|
43
|
-
f.
|
37
|
+
f.put(3,2,"AB")
|
44
38
|
f.to_s.should == " AB "
|
45
39
|
end
|
46
40
|
end
|
47
41
|
|
48
|
-
describe "
|
42
|
+
describe "put long length alpha" do
|
49
43
|
it "should truncate the extra characters on the right" do
|
50
44
|
f = FlatOut.new(6)
|
51
|
-
f.
|
45
|
+
f.put(3,2,"ABCDE")
|
52
46
|
f.to_s.should == " ABC "
|
53
47
|
end
|
54
48
|
end
|
55
49
|
|
56
|
-
describe "
|
57
|
-
it "should replace the correct space in the right spot" do
|
50
|
+
describe "put exact length integer with default base 1" do
|
51
|
+
it "should replace the correct space in the right spot using base 1" do
|
58
52
|
f = FlatOut.new(6)
|
59
|
-
f.
|
53
|
+
f.put(3,2,123)
|
60
54
|
f.to_s.should == " 123 "
|
61
55
|
end
|
62
56
|
end
|
63
57
|
|
64
|
-
describe "
|
65
|
-
it "should
|
58
|
+
describe "put exact length integer with base 0" do
|
59
|
+
it "should replace the correct space in the right spot using base 0" do
|
60
|
+
FlatOut.base(0)
|
66
61
|
f = FlatOut.new(6)
|
67
|
-
f.
|
68
|
-
f.to_s.should == "
|
62
|
+
f.put(3,2,123)
|
63
|
+
f.to_s.should == " 123 "
|
64
|
+
FlatOut.base(1)
|
69
65
|
end
|
70
66
|
end
|
71
67
|
|
72
|
-
describe "
|
73
|
-
it "should
|
68
|
+
describe "put short length integer" do
|
69
|
+
it "should zero fill the leading spaces" do
|
74
70
|
f = FlatOut.new(6)
|
75
|
-
f.
|
76
|
-
f.to_s.should == "
|
77
|
-
end
|
78
|
-
end
|
79
|
-
|
80
|
-
describe "put_digits_only" do
|
81
|
-
it "should remove non-digit characters" do
|
82
|
-
f = FlatOut.new(11)
|
83
|
-
f.put_digits_only(9,2,'01(2)-3ABC4-5^678')
|
84
|
-
f.to_s.should == " 012345678 "
|
71
|
+
f.put(3,2,12)
|
72
|
+
f.to_s.should == " 012 "
|
85
73
|
end
|
86
74
|
end
|
87
75
|
|
88
|
-
describe "
|
89
|
-
it "should
|
76
|
+
describe "put long length integer" do
|
77
|
+
it "should truncate the extra most dignificant digits on left" do
|
90
78
|
f = FlatOut.new(6)
|
91
|
-
f.
|
79
|
+
f.put(3,2,12345)
|
92
80
|
f.to_s.should == " 345 "
|
93
81
|
end
|
94
82
|
end
|
95
83
|
|
96
|
-
describe "
|
97
|
-
it "should remove the decimal part" do
|
84
|
+
describe "put float with short length integer only" do
|
85
|
+
it "should remove the decimal part and truncate the left digits" do
|
98
86
|
f = FlatOut.new(6)
|
99
|
-
f.
|
87
|
+
f.put(3,2,12345.67)
|
100
88
|
f.to_s.should == " 345 "
|
101
89
|
end
|
102
90
|
end
|
103
91
|
|
104
|
-
describe "
|
92
|
+
describe "put float with decimal part and full length" do
|
105
93
|
it "should include the decimal in result for exact size" do
|
106
94
|
f = FlatOut.new(12)
|
107
|
-
f.
|
95
|
+
f.put(5.3, 2, 12345.678)
|
108
96
|
f.to_s.should == " 12345.678 "
|
109
97
|
end
|
110
98
|
end
|
111
99
|
|
112
|
-
describe "
|
100
|
+
describe "put float with decimal part with shorter length on both ends" do
|
113
101
|
it "should truncate the result for smaller size" do
|
114
102
|
f = FlatOut.new(12)
|
115
|
-
f.
|
103
|
+
f.put(4.2, 2, 12345.643)
|
116
104
|
f.to_s.should == " 2345.64 "
|
117
105
|
end
|
118
106
|
end
|
119
107
|
|
120
|
-
describe "
|
108
|
+
describe "put float with decimal part with shorter length on both ends with rounding" do
|
121
109
|
it "should truncate the result for smaller size(rounded)" do
|
122
110
|
f = FlatOut.new(12)
|
123
|
-
f.
|
111
|
+
f.put(4.2, 2, 12345.678)
|
124
112
|
f.to_s.should == " 2345.68 "
|
125
113
|
end
|
126
114
|
end
|
127
115
|
|
128
|
-
describe "
|
116
|
+
describe "put float with longer length on both ends" do
|
129
117
|
it "should zero fill both sides" do
|
130
118
|
f = FlatOut.new(12)
|
131
|
-
f.
|
119
|
+
f.put(4.2, 2, 1.2)
|
132
120
|
f.to_s.should == " 0001.20 "
|
133
121
|
end
|
134
122
|
end
|
135
123
|
|
136
|
-
describe "
|
124
|
+
describe "put float with negative length" do
|
137
125
|
it "should not have a decimal" do
|
138
126
|
f = FlatOut.new(12)
|
139
|
-
f.
|
127
|
+
f.put(-4.2, 2, 1.2)
|
140
128
|
f.to_s.should == " 000120 "
|
141
129
|
end
|
142
130
|
end
|
143
131
|
|
132
|
+
describe "digits_only" do
|
133
|
+
it "should remove non-digit characters" do
|
134
|
+
FlatOut.digits_only('01(2)-3ABC4-5^678').should == "012345678"
|
135
|
+
end
|
136
|
+
end
|
137
|
+
|
138
|
+
describe "phone_squeeze" do
|
139
|
+
it "should remove phone punctuation characters" do
|
140
|
+
FlatOut.phone_squeeze('(800) 555-1212').should == "8005551212"
|
141
|
+
end
|
142
|
+
end
|
143
|
+
|
144
|
+
describe "phone_squeeze" do
|
145
|
+
it "should remove phone punctuation characters and maintain extensions" do
|
146
|
+
FlatOut.phone_squeeze('(800) 555-1212 Ext 234').should == "8005551212Ext234"
|
147
|
+
end
|
148
|
+
end
|
149
|
+
|
150
|
+
describe "phone_squeeze" do
|
151
|
+
it "should remove phone punctuation characters and maintain extensions" do
|
152
|
+
FlatOut.phone_squeeze('(800) GOT-MILK').should == "800GOTMILK"
|
153
|
+
end
|
154
|
+
end
|
155
|
+
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: flat_out
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.0.
|
5
|
+
version: 0.0.3
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Anil Sharma
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2012-05-
|
13
|
+
date: 2012-05-28 00:00:00 -04:00
|
14
14
|
default_executable:
|
15
15
|
dependencies: []
|
16
16
|
|