text-table 1.1.0 → 1.2.0
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.
- data/CHANGELOG.rdoc +13 -0
- data/README.rdoc +23 -0
- data/VERSION +1 -1
- data/lib/text-table.rb +1 -1
- data/lib/text-table/cell.rb +2 -2
- data/lib/text-table/row.rb +1 -1
- data/lib/text-table/symbol.rb +14 -0
- data/lib/text-table/table.rb +41 -3
- data/spec/enumerable_spec.rb +28 -30
- data/spec/table_spec.rb +159 -132
- data/text-table.gemspec +65 -0
- metadata +5 -2
data/CHANGELOG.rdoc
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
=== 1.0.1 (2009-12-21)
|
2
|
+
|
3
|
+
* Initial stable release.
|
4
|
+
|
5
|
+
=== 1.1.0 (2009-12-28)
|
6
|
+
|
7
|
+
* Centered headers by default.
|
8
|
+
* Revamped specs and made them more extensive.
|
9
|
+
|
10
|
+
=== 1.2.0 (2010-01-05)
|
11
|
+
|
12
|
+
* Added an easy way to align columns.
|
13
|
+
* Fixed compatibility with Ruby 1.8.6
|
data/README.rdoc
CHANGED
@@ -9,6 +9,8 @@ Allows you to easily create and format plain text tables,
|
|
9
9
|
useful when working with the terminal
|
10
10
|
or when you want to quickly print formatted tables to a dot-matrix printer.
|
11
11
|
|
12
|
+
Text::Table is compatible with Ruby 1.8.6, 1.8.7 and 1.9.1 and includes a comprehensive test suite.
|
13
|
+
|
12
14
|
This project was heavily inspired by visionmedia's terminal-table, and to a lesser-extent, by prawn, ruport and hirb.
|
13
15
|
I initially wanted to add more features to terminal-table (footer, separators between rows, etc)
|
14
16
|
and to fix a then alignment issue with spanned columns.
|
@@ -129,6 +131,27 @@ Cells and footers are aligned to the left by default, while headers are centered
|
|
129
131
|
# | a4 |
|
130
132
|
# +-----------+-----------+
|
131
133
|
|
134
|
+
There's also an easy way to align columns:
|
135
|
+
|
136
|
+
table = Text::Table.new :rows => [%w(a bb), %w(aa bbb), %w(aaa b)]
|
137
|
+
puts table
|
138
|
+
|
139
|
+
# +-----+-----+
|
140
|
+
# | a | bb |
|
141
|
+
# | aa | bbb |
|
142
|
+
# | aaa | b |
|
143
|
+
# +-----+-----+
|
144
|
+
|
145
|
+
table.align_column 2, :right
|
146
|
+
|
147
|
+
# +-----+-----+
|
148
|
+
# | a | bb |
|
149
|
+
# | aa | bbb |
|
150
|
+
# | aaa | b |
|
151
|
+
# +-----+-----+
|
152
|
+
|
153
|
+
Note that headers, spanned cells and cells with explicit alignments are not affected by <tt>align_column</tt>.
|
154
|
+
|
132
155
|
|
133
156
|
== Adding a Separator
|
134
157
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.2.0
|
data/lib/text-table.rb
CHANGED
data/lib/text-table/cell.rb
CHANGED
@@ -39,11 +39,11 @@ module Text #:nodoc:
|
|
39
39
|
end
|
40
40
|
|
41
41
|
def column_index #:nodoc:
|
42
|
-
row.cells[0...row.cells.index(self)].map(&:colspan).
|
42
|
+
row.cells[0...row.cells.index(self)].map(&:colspan).inject(0, &:+)
|
43
43
|
end
|
44
44
|
|
45
45
|
def cell_width #:nodoc:
|
46
|
-
colspan.
|
46
|
+
(0...colspan).map {|i| table.column_widths[column_index + i]}.inject(&:+) + (colspan - 1)*(2*table.horizontal_padding + table.horizontal_boundary.length)
|
47
47
|
end
|
48
48
|
|
49
49
|
end
|
data/lib/text-table/row.rb
CHANGED
@@ -0,0 +1,14 @@
|
|
1
|
+
unless :to_proc.respond_to?(:to_proc)
|
2
|
+
class Symbol
|
3
|
+
# Turns the symbol into a simple proc, which is especially useful for enumerations. Examples:
|
4
|
+
#
|
5
|
+
# # The same as people.collect { |p| p.name }
|
6
|
+
# people.collect(&:name)
|
7
|
+
#
|
8
|
+
# # The same as people.select { |p| p.manager? }.collect { |p| p.salary }
|
9
|
+
# people.select(&:manager?).collect(&:salary)
|
10
|
+
def to_proc
|
11
|
+
Proc.new { |*args| args.shift.__send__(self, *args) }
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
data/lib/text-table/table.rb
CHANGED
@@ -134,9 +134,8 @@ module Text #:nodoc:
|
|
134
134
|
end
|
135
135
|
|
136
136
|
def text_table_head #:nodoc:
|
137
|
-
defaults = {:align => :center}
|
138
137
|
Row.new(
|
139
|
-
head.map {|h|
|
138
|
+
head.map {|h| hashify(h, {:align => :center})},
|
140
139
|
self
|
141
140
|
) if head
|
142
141
|
end
|
@@ -160,7 +159,7 @@ module Text #:nodoc:
|
|
160
159
|
|
161
160
|
def separator #:nodoc:
|
162
161
|
([@boundary_intersection] * 2).join(
|
163
|
-
column_widths.map {|column_width| @vertical_boundary * (column_width + 2*@horizontal_padding)}.join
|
162
|
+
column_widths.map {|column_width| @vertical_boundary * (column_width + 2*@horizontal_padding)}.join(@boundary_intersection)
|
164
163
|
) + "\n"
|
165
164
|
end
|
166
165
|
|
@@ -173,5 +172,44 @@ module Text #:nodoc:
|
|
173
172
|
rendered_rows.join
|
174
173
|
end
|
175
174
|
|
175
|
+
# Aligns the cells and the footer of a column.
|
176
|
+
#
|
177
|
+
# table = Text::Table.new :rows => [%w(a bb), %w(aa bbb), %w(aaa b)]
|
178
|
+
# puts table
|
179
|
+
#
|
180
|
+
# # +-----+-----+
|
181
|
+
# # | a | bb |
|
182
|
+
# # | aa | bbb |
|
183
|
+
# # | aaa | b |
|
184
|
+
# # +-----+-----+
|
185
|
+
#
|
186
|
+
# table.align_column 2, :right
|
187
|
+
#
|
188
|
+
# # +-----+-----+
|
189
|
+
# # | a | bb |
|
190
|
+
# # | aa | bbb |
|
191
|
+
# # | aaa | b |
|
192
|
+
# # +-----+-----+
|
193
|
+
#
|
194
|
+
# Note that headers, spanned cells and cells with explicit alignments are not affected by <tt>align_column</tt>.
|
195
|
+
#
|
196
|
+
def align_column(column_number, alignment)
|
197
|
+
set_alignment = Proc.new do |row, column_number, alignment|
|
198
|
+
cell = row.find do |cell|
|
199
|
+
row[0...row.index(cell)].map {|cell| cell.is_a?(Hash) ? cell[:colspan] || 1 : 1}.inject(0, &:+) == column_number - 1
|
200
|
+
end
|
201
|
+
row[row.index(cell)] = hashify(cell, {:align => alignment}) if cell and not (cell.is_a?(Hash) && cell[:colspan].to_i > 0)
|
202
|
+
end
|
203
|
+
rows.each do |row|
|
204
|
+
set_alignment.call(row, column_number, alignment)
|
205
|
+
end
|
206
|
+
set_alignment.call(foot, column_number, alignment) if foot
|
207
|
+
return self
|
208
|
+
end
|
209
|
+
|
210
|
+
def hashify(cell, defaults = {}) #:nodoc:
|
211
|
+
defaults.merge(cell.is_a?(Hash) ? cell : {:value => cell})
|
212
|
+
end
|
213
|
+
|
176
214
|
end
|
177
215
|
end
|
data/spec/enumerable_spec.rb
CHANGED
@@ -1,20 +1,15 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
2
2
|
|
3
3
|
describe Enumerable do
|
4
|
-
before(:each) do
|
5
|
-
@arr = [
|
6
|
-
[11, 2, 3333],
|
7
|
-
[44, 56, 6],
|
8
|
-
[7, 888, 99],
|
9
|
-
]
|
10
|
-
@hsh = {
|
11
|
-
:k => 'vv',
|
12
|
-
:kk => 'v',
|
13
|
-
'k' => :vv
|
14
|
-
}
|
15
|
-
end
|
16
|
-
|
17
4
|
describe Array do
|
5
|
+
before(:each) do
|
6
|
+
@arr = [
|
7
|
+
[11, 2, 3333],
|
8
|
+
[44, 56, 6],
|
9
|
+
[7, 888, 99],
|
10
|
+
]
|
11
|
+
end
|
12
|
+
|
18
13
|
it "to Text::Table" do
|
19
14
|
@arr.to_text_table.to_s.should == <<-EOS.deindent
|
20
15
|
+----+-----+------+
|
@@ -59,35 +54,38 @@ describe Enumerable do
|
|
59
54
|
end
|
60
55
|
|
61
56
|
describe Hash do
|
57
|
+
before(:each) do
|
58
|
+
@hsh = {
|
59
|
+
:k => 'vv',
|
60
|
+
'k' => :vv
|
61
|
+
}
|
62
|
+
end
|
62
63
|
it "to Text::Table" do
|
63
64
|
@hsh.to_text_table.to_s.should == <<-EOS.deindent
|
64
|
-
|
65
|
-
| k
|
66
|
-
|
|
67
|
-
|
68
|
-
+----+----+
|
65
|
+
+---+----+
|
66
|
+
| k | vv |
|
67
|
+
| k | vv |
|
68
|
+
+---+----+
|
69
69
|
EOS
|
70
70
|
end
|
71
71
|
|
72
72
|
it "to Text::Table, setting first row as head" do
|
73
73
|
@hsh.to_text_table(:first_row_is_head => true).to_s.should == <<-EOS.deindent
|
74
|
-
|
75
|
-
| k
|
76
|
-
|
77
|
-
|
|
78
|
-
|
79
|
-
+----+----+
|
74
|
+
+---+----+
|
75
|
+
| k | vv |
|
76
|
+
+---+----+
|
77
|
+
| k | vv |
|
78
|
+
+---+----+
|
80
79
|
EOS
|
81
80
|
end
|
82
81
|
|
83
82
|
it "to Text::Table, setting last row as foot" do
|
84
83
|
@hsh.to_text_table(:last_row_is_foot => true).to_s.should == <<-EOS.deindent
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
+----+----+
|
84
|
+
+---+----+
|
85
|
+
| k | vv |
|
86
|
+
+---+----+
|
87
|
+
| k | vv |
|
88
|
+
+---+----+
|
91
89
|
EOS
|
92
90
|
end
|
93
91
|
end
|
data/spec/table_spec.rb
CHANGED
@@ -52,6 +52,8 @@ describe Text::Table do
|
|
52
52
|
EOS
|
53
53
|
end
|
54
54
|
|
55
|
+
it 'rows with unequal number of cells'
|
56
|
+
|
55
57
|
it 'headers' do
|
56
58
|
@table = Text::Table.new :rows => @rows, :head => @head
|
57
59
|
@table.to_s.should == <<-EOS.deindent
|
@@ -279,89 +281,89 @@ describe Text::Table do
|
|
279
281
|
describe '2 cells aligned to the' do
|
280
282
|
it 'left' do
|
281
283
|
@table.rows << ['a', 'b', {:value => 'x', :colspan => 2}]
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
284
|
+
@table.to_s.should == <<-EOS.deindent
|
285
|
+
+------+------+------+------+
|
286
|
+
| a | bb | ccc | dddd |
|
287
|
+
+------+------+------+------+
|
288
|
+
| aa | bbb | cccc | d |
|
289
|
+
| aaa | bbbb | c | dd |
|
290
|
+
| a | b | x |
|
291
|
+
+------+------+------+------+
|
292
|
+
| aaaa | b | cc | ddd |
|
293
|
+
+------+------+------+------+
|
294
|
+
EOS
|
293
295
|
end
|
294
296
|
it 'center' do
|
295
297
|
@table.rows << ['a', 'b', {:value => 'x', :colspan => 2, :align => :center}]
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
298
|
+
@table.to_s.should == <<-EOS.deindent
|
299
|
+
+------+------+------+------+
|
300
|
+
| a | bb | ccc | dddd |
|
301
|
+
+------+------+------+------+
|
302
|
+
| aa | bbb | cccc | d |
|
303
|
+
| aaa | bbbb | c | dd |
|
304
|
+
| a | b | x |
|
305
|
+
+------+------+------+------+
|
306
|
+
| aaaa | b | cc | ddd |
|
307
|
+
+------+------+------+------+
|
308
|
+
EOS
|
307
309
|
end
|
308
310
|
it 'right' do
|
309
311
|
@table.rows << ['a', 'b', {:value => 'x', :colspan => 2, :align => :right}]
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
312
|
+
@table.to_s.should == <<-EOS.deindent
|
313
|
+
+------+------+------+------+
|
314
|
+
| a | bb | ccc | dddd |
|
315
|
+
+------+------+------+------+
|
316
|
+
| aa | bbb | cccc | d |
|
317
|
+
| aaa | bbbb | c | dd |
|
318
|
+
| a | b | x |
|
319
|
+
+------+------+------+------+
|
320
|
+
| aaaa | b | cc | ddd |
|
321
|
+
+------+------+------+------+
|
322
|
+
EOS
|
321
323
|
end
|
322
324
|
end
|
323
325
|
describe '3 cells aligned to the' do
|
324
326
|
it 'left' do
|
325
327
|
@table.rows << ['a', {:value => 'x', :colspan => 3}]
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
328
|
+
@table.to_s.should == <<-EOS.deindent
|
329
|
+
+------+------+------+------+
|
330
|
+
| a | bb | ccc | dddd |
|
331
|
+
+------+------+------+------+
|
332
|
+
| aa | bbb | cccc | d |
|
333
|
+
| aaa | bbbb | c | dd |
|
334
|
+
| a | x |
|
335
|
+
+------+------+------+------+
|
336
|
+
| aaaa | b | cc | ddd |
|
337
|
+
+------+------+------+------+
|
338
|
+
EOS
|
337
339
|
end
|
338
340
|
it 'center' do
|
339
341
|
@table.rows << ['a', {:value => 'x', :colspan => 3, :align => :center}]
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
342
|
+
@table.to_s.should == <<-EOS.deindent
|
343
|
+
+------+------+------+------+
|
344
|
+
| a | bb | ccc | dddd |
|
345
|
+
+------+------+------+------+
|
346
|
+
| aa | bbb | cccc | d |
|
347
|
+
| aaa | bbbb | c | dd |
|
348
|
+
| a | x |
|
349
|
+
+------+------+------+------+
|
350
|
+
| aaaa | b | cc | ddd |
|
351
|
+
+------+------+------+------+
|
352
|
+
EOS
|
351
353
|
end
|
352
354
|
it 'right' do
|
353
355
|
@table.rows << ['a', {:value => 'x', :colspan => 3, :align => :right}]
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
356
|
+
@table.to_s.should == <<-EOS.deindent
|
357
|
+
+------+------+------+------+
|
358
|
+
| a | bb | ccc | dddd |
|
359
|
+
+------+------+------+------+
|
360
|
+
| aa | bbb | cccc | d |
|
361
|
+
| aaa | bbbb | c | dd |
|
362
|
+
| a | x |
|
363
|
+
+------+------+------+------+
|
364
|
+
| aaaa | b | cc | ddd |
|
365
|
+
+------+------+------+------+
|
366
|
+
EOS
|
365
367
|
end
|
366
368
|
end
|
367
369
|
end
|
@@ -369,91 +371,116 @@ describe Text::Table do
|
|
369
371
|
describe '2 cells aligned to the' do
|
370
372
|
it 'left' do
|
371
373
|
@table.rows << [{:value => 'x', :colspan => 2}, 'c', 'd']
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
374
|
+
@table.to_s.should == <<-EOS.deindent
|
375
|
+
+------+------+------+------+
|
376
|
+
| a | bb | ccc | dddd |
|
377
|
+
+------+------+------+------+
|
378
|
+
| aa | bbb | cccc | d |
|
379
|
+
| aaa | bbbb | c | dd |
|
380
|
+
| x | c | d |
|
381
|
+
+------+------+------+------+
|
382
|
+
| aaaa | b | cc | ddd |
|
383
|
+
+------+------+------+------+
|
384
|
+
EOS
|
383
385
|
end
|
384
386
|
it 'center' do
|
385
387
|
@table.rows << [{:value => 'x', :colspan => 2, :align => :center}, 'c', 'd']
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
|
396
|
-
|
388
|
+
@table.to_s.should == <<-EOS.deindent
|
389
|
+
+------+------+------+------+
|
390
|
+
| a | bb | ccc | dddd |
|
391
|
+
+------+------+------+------+
|
392
|
+
| aa | bbb | cccc | d |
|
393
|
+
| aaa | bbbb | c | dd |
|
394
|
+
| x | c | d |
|
395
|
+
+------+------+------+------+
|
396
|
+
| aaaa | b | cc | ddd |
|
397
|
+
+------+------+------+------+
|
398
|
+
EOS
|
397
399
|
end
|
398
400
|
it 'right' do
|
399
401
|
@table.rows << [{:value => 'x', :colspan => 2, :align => :right}, 'c', 'd']
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
402
|
+
@table.to_s.should == <<-EOS.deindent
|
403
|
+
+------+------+------+------+
|
404
|
+
| a | bb | ccc | dddd |
|
405
|
+
+------+------+------+------+
|
406
|
+
| aa | bbb | cccc | d |
|
407
|
+
| aaa | bbbb | c | dd |
|
408
|
+
| x | c | d |
|
409
|
+
+------+------+------+------+
|
410
|
+
| aaaa | b | cc | ddd |
|
411
|
+
+------+------+------+------+
|
412
|
+
EOS
|
411
413
|
end
|
412
414
|
end
|
413
415
|
describe '3 cells aligned to the' do
|
414
416
|
it 'left' do
|
415
417
|
@table.rows << [{:value => 'x', :colspan => 3}, 'd']
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
|
418
|
+
@table.to_s.should == <<-EOS.deindent
|
419
|
+
+------+------+------+------+
|
420
|
+
| a | bb | ccc | dddd |
|
421
|
+
+------+------+------+------+
|
422
|
+
| aa | bbb | cccc | d |
|
423
|
+
| aaa | bbbb | c | dd |
|
424
|
+
| x | d |
|
425
|
+
+------+------+------+------+
|
426
|
+
| aaaa | b | cc | ddd |
|
427
|
+
+------+------+------+------+
|
428
|
+
EOS
|
427
429
|
end
|
428
430
|
it 'center' do
|
429
431
|
@table.rows << [{:value => 'x', :colspan => 3, :align => :center}, 'd']
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
432
|
+
@table.to_s.should == <<-EOS.deindent
|
433
|
+
+------+------+------+------+
|
434
|
+
| a | bb | ccc | dddd |
|
435
|
+
+------+------+------+------+
|
436
|
+
| aa | bbb | cccc | d |
|
437
|
+
| aaa | bbbb | c | dd |
|
438
|
+
| x | d |
|
439
|
+
+------+------+------+------+
|
440
|
+
| aaaa | b | cc | ddd |
|
441
|
+
+------+------+------+------+
|
442
|
+
EOS
|
441
443
|
end
|
442
444
|
it 'right' do
|
443
445
|
@table.rows << [{:value => 'x', :colspan => 3, :align => :right}, 'd']
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
|
450
|
-
|
451
|
-
|
452
|
-
|
453
|
-
|
454
|
-
|
446
|
+
@table.to_s.should == <<-EOS.deindent
|
447
|
+
+------+------+------+------+
|
448
|
+
| a | bb | ccc | dddd |
|
449
|
+
+------+------+------+------+
|
450
|
+
| aa | bbb | cccc | d |
|
451
|
+
| aaa | bbbb | c | dd |
|
452
|
+
| x | d |
|
453
|
+
+------+------+------+------+
|
454
|
+
| aaaa | b | cc | ddd |
|
455
|
+
+------+------+------+------+
|
456
|
+
EOS
|
455
457
|
end
|
456
458
|
end
|
457
459
|
end
|
458
460
|
end
|
461
|
+
|
462
|
+
describe 'should easily allow alignment of' do
|
463
|
+
it 'columns' do
|
464
|
+
@table.rows[1][2] = {:value => 'c', :align => :center}
|
465
|
+
@table.rows << [{:value => 'x', :colspan => 2}, 'c', 'd']
|
466
|
+
@table.rows << ['a', 'b', {:value => 'x', :colspan => 2}]
|
467
|
+
@table.align_column 2, :right
|
468
|
+
@table.align_column 3, :right
|
469
|
+
@table.to_s.should == <<-EOS.deindent
|
470
|
+
+------+------+------+------+
|
471
|
+
| a | bb | ccc | dddd |
|
472
|
+
+------+------+------+------+
|
473
|
+
| aa | bbb | cccc | d |
|
474
|
+
| aaa | bbbb | c | dd |
|
475
|
+
| x | c | d |
|
476
|
+
| a | b | x |
|
477
|
+
+------+------+------+------+
|
478
|
+
| aaaa | b | cc | ddd |
|
479
|
+
+------+------+------+------+
|
480
|
+
EOS
|
481
|
+
end
|
482
|
+
it 'rows'
|
483
|
+
it 'headers'
|
484
|
+
it 'footers'
|
485
|
+
end
|
459
486
|
end
|
data/text-table.gemspec
ADDED
@@ -0,0 +1,65 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = %q{text-table}
|
8
|
+
s.version = "1.2.0"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["Aaron Tinio"]
|
12
|
+
s.date = %q{2010-01-05}
|
13
|
+
s.description = %q{Allows you to easily create and format plain text tables, useful when working with the terminal or when you want to quickly print formatted tables to a dot-matrix printer.}
|
14
|
+
s.email = %q{aptinio@yahoo.com}
|
15
|
+
s.extra_rdoc_files = [
|
16
|
+
"LICENSE",
|
17
|
+
"README.rdoc"
|
18
|
+
]
|
19
|
+
s.files = [
|
20
|
+
".document",
|
21
|
+
".gitignore",
|
22
|
+
"CHANGELOG.rdoc",
|
23
|
+
"LICENSE",
|
24
|
+
"README.rdoc",
|
25
|
+
"Rakefile",
|
26
|
+
"VERSION",
|
27
|
+
"lib/text-table.rb",
|
28
|
+
"lib/text-table/cell.rb",
|
29
|
+
"lib/text-table/enumerable.rb",
|
30
|
+
"lib/text-table/row.rb",
|
31
|
+
"lib/text-table/symbol.rb",
|
32
|
+
"lib/text-table/table.rb",
|
33
|
+
"spec/cell_spec.rb",
|
34
|
+
"spec/enumerable_spec.rb",
|
35
|
+
"spec/spec.opts",
|
36
|
+
"spec/spec_helper.rb",
|
37
|
+
"spec/table_spec.rb",
|
38
|
+
"text-table.gemspec"
|
39
|
+
]
|
40
|
+
s.homepage = %q{http://github.com/aptinio/text-table}
|
41
|
+
s.rdoc_options = ["--charset=UTF-8"]
|
42
|
+
s.require_paths = ["lib"]
|
43
|
+
s.rubygems_version = %q{1.3.5}
|
44
|
+
s.summary = %q{A feature-rich, easy-to-use plain text table formatter.}
|
45
|
+
s.test_files = [
|
46
|
+
"spec/spec_helper.rb",
|
47
|
+
"spec/cell_spec.rb",
|
48
|
+
"spec/table_spec.rb",
|
49
|
+
"spec/enumerable_spec.rb"
|
50
|
+
]
|
51
|
+
|
52
|
+
if s.respond_to? :specification_version then
|
53
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
54
|
+
s.specification_version = 3
|
55
|
+
|
56
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
57
|
+
s.add_development_dependency(%q<rspec>, [">= 1.2.9"])
|
58
|
+
else
|
59
|
+
s.add_dependency(%q<rspec>, [">= 1.2.9"])
|
60
|
+
end
|
61
|
+
else
|
62
|
+
s.add_dependency(%q<rspec>, [">= 1.2.9"])
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: text-table
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aaron Tinio
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date:
|
12
|
+
date: 2010-01-05 00:00:00 +08:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -34,6 +34,7 @@ extra_rdoc_files:
|
|
34
34
|
files:
|
35
35
|
- .document
|
36
36
|
- .gitignore
|
37
|
+
- CHANGELOG.rdoc
|
37
38
|
- LICENSE
|
38
39
|
- README.rdoc
|
39
40
|
- Rakefile
|
@@ -42,12 +43,14 @@ files:
|
|
42
43
|
- lib/text-table/cell.rb
|
43
44
|
- lib/text-table/enumerable.rb
|
44
45
|
- lib/text-table/row.rb
|
46
|
+
- lib/text-table/symbol.rb
|
45
47
|
- lib/text-table/table.rb
|
46
48
|
- spec/cell_spec.rb
|
47
49
|
- spec/enumerable_spec.rb
|
48
50
|
- spec/spec.opts
|
49
51
|
- spec/spec_helper.rb
|
50
52
|
- spec/table_spec.rb
|
53
|
+
- text-table.gemspec
|
51
54
|
has_rdoc: true
|
52
55
|
homepage: http://github.com/aptinio/text-table
|
53
56
|
licenses: []
|