terminal-table 1.2.0 → 1.3.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/History.rdoc +4 -0
- data/Manifest +6 -7
- data/examples/examples.rb +1 -0
- data/lib/terminal-table/cell.rb +35 -14
- data/lib/terminal-table/core_ext.rb +3 -14
- data/lib/terminal-table/import.rb +2 -3
- data/lib/terminal-table/table.rb +37 -57
- data/lib/terminal-table/table_helper.rb +0 -44
- data/lib/terminal-table/version.rb +1 -1
- data/spec/cell_spec.rb +4 -5
- data/spec/core_ext_spec.rb +2 -3
- data/spec/import_spec.rb +3 -3
- data/spec/spec_helper.rb +1 -1
- data/spec/table_spec.rb +2 -1
- data/terminal-table.gemspec +4 -4
- metadata +10 -11
- data/spec/table_helper_spec.rb +0 -18
data/History.rdoc
CHANGED
data/Manifest
CHANGED
@@ -1,5 +1,10 @@
|
|
1
|
-
examples/examples.rb
|
2
1
|
History.rdoc
|
2
|
+
Manifest
|
3
|
+
README.rdoc
|
4
|
+
Rakefile
|
5
|
+
Todo.rdoc
|
6
|
+
examples/examples.rb
|
7
|
+
lib/terminal-table.rb
|
3
8
|
lib/terminal-table/cell.rb
|
4
9
|
lib/terminal-table/core_ext.rb
|
5
10
|
lib/terminal-table/heading.rb
|
@@ -7,19 +12,13 @@ lib/terminal-table/import.rb
|
|
7
12
|
lib/terminal-table/table.rb
|
8
13
|
lib/terminal-table/table_helper.rb
|
9
14
|
lib/terminal-table/version.rb
|
10
|
-
lib/terminal-table.rb
|
11
|
-
Manifest
|
12
|
-
Rakefile
|
13
|
-
README.rdoc
|
14
15
|
spec/cell_spec.rb
|
15
16
|
spec/core_ext_spec.rb
|
16
17
|
spec/import_spec.rb
|
17
18
|
spec/spec.opts
|
18
19
|
spec/spec_helper.rb
|
19
|
-
spec/table_helper_spec.rb
|
20
20
|
spec/table_spec.rb
|
21
21
|
tasks/docs.rake
|
22
22
|
tasks/gemspec.rake
|
23
23
|
tasks/spec.rake
|
24
24
|
terminal-table.gemspec
|
25
|
-
Todo.rdoc
|
data/examples/examples.rb
CHANGED
data/lib/terminal-table/cell.rb
CHANGED
@@ -3,29 +3,50 @@ module Terminal
|
|
3
3
|
class Table
|
4
4
|
class Cell
|
5
5
|
|
6
|
-
|
6
|
+
##
|
7
|
+
# Cell width.
|
7
8
|
|
8
|
-
|
9
|
+
attr_reader :width
|
10
|
+
|
11
|
+
##
|
12
|
+
# Cell value.
|
13
|
+
|
14
|
+
attr_reader :value
|
15
|
+
|
16
|
+
##
|
17
|
+
# Cell alignment.
|
18
|
+
|
19
|
+
attr_reader :alignment
|
20
|
+
|
21
|
+
##
|
22
|
+
# Column span.
|
23
|
+
|
24
|
+
attr_reader :colspan
|
25
|
+
|
26
|
+
##
|
27
|
+
# Initialize with _width_ and _options_.
|
28
|
+
|
29
|
+
def initialize width, options = nil
|
9
30
|
@width = width
|
10
|
-
@
|
11
|
-
@
|
12
|
-
|
13
|
-
|
14
|
-
@value = params[:value]
|
15
|
-
@alignment = params[:alignment] unless params[:alignment].nil?
|
16
|
-
@colspan = params[:colspan] unless params[:colspan].nil?
|
17
|
-
else
|
18
|
-
@value = params
|
19
|
-
end
|
31
|
+
@value, options = options, {} unless Hash === options
|
32
|
+
@value = options.fetch :value, value
|
33
|
+
@alignment = options.fetch :alignment, :left
|
34
|
+
@colspan = options.fetch :colspan, 1
|
20
35
|
end
|
21
36
|
|
37
|
+
##
|
38
|
+
# Render the cell.
|
39
|
+
|
22
40
|
def render
|
23
|
-
" #{value
|
41
|
+
" #{value} ".align alignment, width + 2
|
24
42
|
end
|
25
43
|
alias :to_s :render
|
26
44
|
|
45
|
+
##
|
46
|
+
# Cell length.
|
47
|
+
|
27
48
|
def length
|
28
|
-
|
49
|
+
value.to_s.length + 2
|
29
50
|
end
|
30
51
|
end
|
31
52
|
end
|
@@ -1,32 +1,22 @@
|
|
1
1
|
|
2
2
|
class String
|
3
|
-
|
4
|
-
##
|
5
|
-
# Align to +position+, which may be :left, :right, or :center.
|
6
|
-
|
7
3
|
def align position, length
|
8
4
|
send position, length
|
9
5
|
end
|
10
6
|
alias_method :left, :ljust
|
11
7
|
alias_method :right, :rjust
|
12
|
-
|
13
8
|
end
|
14
9
|
|
15
10
|
module Enumerable
|
16
11
|
def map_with_index &block
|
17
|
-
|
18
|
-
each_with_index { |v, i|
|
19
|
-
|
12
|
+
vals = []
|
13
|
+
each_with_index { |v, i| vals << yield(v, i) }
|
14
|
+
vals
|
20
15
|
end
|
21
16
|
alias :collect_with_index :map_with_index
|
22
17
|
end
|
23
18
|
|
24
19
|
class Object
|
25
|
-
|
26
|
-
##
|
27
|
-
# Yields or instance_eval's a +block+ depending on the arity of a block
|
28
|
-
# in order to support both types of block syntax for DSL's.
|
29
|
-
|
30
20
|
def yield_or_eval &block
|
31
21
|
return unless block
|
32
22
|
if block.arity > 0
|
@@ -35,5 +25,4 @@ class Object
|
|
35
25
|
self.instance_eval &block
|
36
26
|
end
|
37
27
|
end
|
38
|
-
|
39
28
|
end
|
data/lib/terminal-table/table.rb
CHANGED
@@ -1,32 +1,5 @@
|
|
1
1
|
|
2
2
|
module Terminal
|
3
|
-
|
4
|
-
##
|
5
|
-
# Generates an ASCII table for terminal usage.
|
6
|
-
#
|
7
|
-
# This class can be used in many ways, however ultimately you should
|
8
|
-
# require 'terminal-table/import' (which requires terminal-table itself) to use
|
9
|
-
# the Kernel helper method which is easier, and cleaner to use. View Object#table
|
10
|
-
# for examples.
|
11
|
-
#
|
12
|
-
# === Examples:
|
13
|
-
#
|
14
|
-
# table = Terminal::Table.new
|
15
|
-
# table.headings = ['Characters', { :value => 'Nums', :align => :right }]
|
16
|
-
# table << [{ :value => 'a', :align => :center }, 1]
|
17
|
-
# table << ['b', 222222222222222]
|
18
|
-
# table << ['c', 3]
|
19
|
-
# puts table.render # or simply puts table
|
20
|
-
#
|
21
|
-
# +------------+-----------------+
|
22
|
-
# | Characters | Nums |
|
23
|
-
# +------------+-----------------+
|
24
|
-
# | a | 1 |
|
25
|
-
# | b | 222222222222222 |
|
26
|
-
# | c | 3 |
|
27
|
-
# +------------+-----------------+
|
28
|
-
#
|
29
|
-
|
30
3
|
class Table
|
31
4
|
|
32
5
|
#--
|
@@ -40,48 +13,55 @@ module Terminal
|
|
40
13
|
|
41
14
|
X, Y, I = '-', '|', '+'
|
42
15
|
|
43
|
-
|
16
|
+
##
|
17
|
+
# Headings array.
|
18
|
+
|
19
|
+
attr_accessor :headings
|
44
20
|
|
45
21
|
##
|
46
|
-
#
|
22
|
+
# Rows array.
|
23
|
+
|
24
|
+
attr_accessor :rows
|
25
|
+
|
26
|
+
##
|
27
|
+
# Generates a ASCII table with the given _options_.
|
47
28
|
|
48
29
|
def initialize options = {}, &block
|
49
30
|
@headings = options.fetch :headings, []
|
50
31
|
@rows = options.fetch :rows, []
|
51
|
-
yield_or_eval &block if
|
32
|
+
yield_or_eval &block if block
|
52
33
|
end
|
53
34
|
|
54
35
|
##
|
55
|
-
# Render the table.
|
56
|
-
# instance in order to output it to the terminal.
|
36
|
+
# Render the table.
|
57
37
|
|
58
38
|
def render
|
59
39
|
buffer = seperator << "\n"
|
60
40
|
if has_headings?
|
61
41
|
buffer << Y + headings.map_with_index do |heading, i|
|
62
42
|
width = 0
|
63
|
-
if
|
43
|
+
if Hash === heading and not heading[:colspan].nil?
|
64
44
|
i.upto(i + heading[:colspan] - 1) do |col|
|
65
45
|
width += length_of_column(col)
|
66
46
|
end
|
67
47
|
width += (heading[:colspan] - 1) * (Y.length + 2)
|
68
48
|
else
|
69
|
-
width = length_of_column
|
49
|
+
width = length_of_column i
|
70
50
|
end
|
71
|
-
Heading.new(
|
51
|
+
Heading.new(width, heading).render
|
72
52
|
end.join(Y) + Y
|
73
53
|
buffer << "\n#{seperator}\n"
|
74
54
|
end
|
75
55
|
buffer << rows.map do |row|
|
76
56
|
Y + row.map_with_index do |cell, i|
|
77
57
|
width = 0
|
78
|
-
if
|
58
|
+
if Hash === cell and not cell[:colspan].nil?
|
79
59
|
i.upto(i + cell[:colspan] - 1) do |col|
|
80
60
|
width += length_of_column(col)
|
81
61
|
end
|
82
62
|
width += (cell[:colspan] - 1) * (Y.length + 2)
|
83
63
|
else
|
84
|
-
width = length_of_column
|
64
|
+
width = length_of_column i
|
85
65
|
end
|
86
66
|
Cell.new(width, cell).render
|
87
67
|
end.join(Y) + Y
|
@@ -108,21 +88,21 @@ module Terminal
|
|
108
88
|
alias :<< :add_row
|
109
89
|
|
110
90
|
##
|
111
|
-
#
|
91
|
+
# Check if headings are present.
|
112
92
|
|
113
93
|
def has_headings?
|
114
|
-
|
94
|
+
not headings.empty?
|
115
95
|
end
|
116
96
|
|
117
97
|
##
|
118
|
-
# Return
|
98
|
+
# Return column _n_.
|
119
99
|
|
120
100
|
def column n
|
121
101
|
rows.map { |row| row[n] }.compact
|
122
102
|
end
|
123
103
|
|
124
104
|
##
|
125
|
-
# Return
|
105
|
+
# Return _n_ column including headings.
|
126
106
|
|
127
107
|
def column_with_headings n
|
128
108
|
headings_with_rows.map { |row| row[n] }.compact
|
@@ -132,26 +112,26 @@ module Terminal
|
|
132
112
|
# Return columns.
|
133
113
|
|
134
114
|
def columns
|
135
|
-
(0
|
115
|
+
(0...number_of_columns).map { |n| column n }
|
136
116
|
end
|
137
117
|
|
138
118
|
##
|
139
|
-
# Return the largest cell found within column
|
119
|
+
# Return the largest cell found within column _n_.
|
140
120
|
|
141
121
|
def largest_cell_in_column n
|
142
|
-
column_with_headings(n).sort_by
|
122
|
+
column_with_headings(n).sort_by do |cell|
|
123
|
+
Cell.new(0, cell).length
|
124
|
+
end.last
|
143
125
|
end
|
144
126
|
|
145
127
|
##
|
146
|
-
# Return length of column
|
128
|
+
# Return length of column _n_.
|
147
129
|
|
148
130
|
def length_of_column n
|
149
|
-
largest_cell = largest_cell_in_column
|
150
|
-
|
151
|
-
largest_cell[:value].length
|
152
|
-
|
153
|
-
largest_cell.to_s.length
|
154
|
-
end
|
131
|
+
largest_cell = largest_cell_in_column n
|
132
|
+
Hash === largest_cell ?
|
133
|
+
largest_cell[:value].to_s.length :
|
134
|
+
largest_cell.to_s.length
|
155
135
|
end
|
156
136
|
|
157
137
|
##
|
@@ -159,15 +139,15 @@ module Terminal
|
|
159
139
|
|
160
140
|
def number_of_columns
|
161
141
|
return rows.first.length unless rows.empty?
|
162
|
-
raise Error, 'your table needs some rows
|
142
|
+
raise Error, 'your table needs some rows'
|
163
143
|
end
|
164
144
|
|
165
145
|
##
|
166
|
-
# Align column
|
146
|
+
# Align column _n_ to the given _alignment_ of :center, :left, or :right.
|
167
147
|
|
168
148
|
def align_column n, alignment
|
169
149
|
column(n).each_with_index do |col, i|
|
170
|
-
@rows[i][n] = {:value => col, :alignment => alignment} unless col
|
150
|
+
@rows[i][n] = { :value => col, :alignment => alignment } unless Hash === col
|
171
151
|
end
|
172
152
|
end
|
173
153
|
|
@@ -179,12 +159,12 @@ module Terminal
|
|
179
159
|
end
|
180
160
|
|
181
161
|
##
|
182
|
-
# Check if
|
162
|
+
# Check if _other_ is equal to self. _other_ is considered equal
|
183
163
|
# if it contains the same headings and rows.
|
184
164
|
|
185
165
|
def == other
|
186
|
-
if other.respond_to?
|
187
|
-
headings == other.headings
|
166
|
+
if other.respond_to? :headings and other.respond_to? :rows
|
167
|
+
headings == other.headings and rows == other.rows
|
188
168
|
end
|
189
169
|
end
|
190
170
|
end
|
@@ -1,50 +1,6 @@
|
|
1
1
|
module Terminal
|
2
2
|
class Table
|
3
3
|
module TableHelper
|
4
|
-
##
|
5
|
-
# Generates a Terminal::Table object.
|
6
|
-
#
|
7
|
-
# === Examples:
|
8
|
-
#
|
9
|
-
# puts table(['a', 'b'], [1, 2], [3, 4])
|
10
|
-
#
|
11
|
-
# # OR
|
12
|
-
#
|
13
|
-
# t = table ['a', 'b']
|
14
|
-
# t << [1, 2]
|
15
|
-
# t << [3, 4]
|
16
|
-
# puts t
|
17
|
-
#
|
18
|
-
# # OR
|
19
|
-
#
|
20
|
-
# user_table = table do |t|
|
21
|
-
# t.headings = 'First Name', 'Last Name', 'Email'
|
22
|
-
# t << ['TJ', 'Holowaychuk', 'tj@vision-media.ca']
|
23
|
-
# t << ['Bob', 'Someone', 'bob@vision-media.ca']
|
24
|
-
# t << ['Joe', 'Whatever', 'joe@vision-media.ca']
|
25
|
-
# end
|
26
|
-
# puts user_table
|
27
|
-
#
|
28
|
-
# # OR
|
29
|
-
#
|
30
|
-
# user_table = table do
|
31
|
-
# self.headings = 'First Name', 'Last Name', 'Email'
|
32
|
-
# add_row ['TJ', 'Holowaychuk', 'tj@vision-media.ca']
|
33
|
-
# add_row ['Bob', 'Someone', 'bob@vision-media.ca']
|
34
|
-
# add_row ['Joe', 'Whatever', 'joe@vision-media.ca']
|
35
|
-
# end
|
36
|
-
# puts user_table
|
37
|
-
#
|
38
|
-
# # OR
|
39
|
-
#
|
40
|
-
# rows = []
|
41
|
-
# rows << ['Lines', 100]
|
42
|
-
# rows << ['Comments', 20]
|
43
|
-
# rows << ['Ruby', 70]
|
44
|
-
# rows << ['JavaScript', 30]
|
45
|
-
# puts table(nil, *rows)
|
46
|
-
#
|
47
|
-
|
48
4
|
def table headings = [], *rows, &block
|
49
5
|
Terminal::Table.new :headings => headings.to_a, :rows => rows, &block
|
50
6
|
end
|
data/spec/cell_spec.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
|
1
|
+
|
2
|
+
require File.dirname(__FILE__) + '/spec_helper'
|
2
3
|
|
3
4
|
describe Terminal::Table do
|
4
|
-
|
5
5
|
Cell = Terminal::Table::Cell
|
6
6
|
|
7
7
|
it "should default alignment to the left" do
|
@@ -10,10 +10,9 @@ describe Terminal::Table do
|
|
10
10
|
cell.alignment.should == :left
|
11
11
|
end
|
12
12
|
|
13
|
-
it "should
|
14
|
-
cell = Cell.new 0,
|
13
|
+
it "should allow overriding of alignment" do
|
14
|
+
cell = Cell.new 0, :value => 'foo', :alignment => :center
|
15
15
|
cell.value.should == 'foo'
|
16
16
|
cell.alignment.should == :center
|
17
17
|
end
|
18
|
-
|
19
18
|
end
|
data/spec/core_ext_spec.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
|
1
|
+
|
2
|
+
require File.dirname(__FILE__) + '/spec_helper'
|
2
3
|
|
3
4
|
describe String do
|
4
|
-
|
5
5
|
describe "#align" do
|
6
6
|
it "should center" do
|
7
7
|
'foo'.align(:center, 10).should == ' foo '
|
@@ -15,5 +15,4 @@ describe String do
|
|
15
15
|
'foo'.align(:right, 10).should == ' foo'
|
16
16
|
end
|
17
17
|
end
|
18
|
-
|
19
18
|
end
|
data/spec/import_spec.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
|
-
|
1
|
+
|
2
|
+
require File.dirname(__FILE__) + '/spec_helper'
|
2
3
|
require "terminal-table/import"
|
3
4
|
|
4
5
|
describe Object do
|
5
6
|
describe "#table" do
|
6
7
|
it "should allow creation of a terminal table" do
|
7
|
-
table(['foo', 'bar'], ['a', 'b'], [1, 2]).
|
8
|
-
should be_instance_of(Terminal::Table)
|
8
|
+
table(['foo', 'bar'], ['a', 'b'], [1, 2]).should be_instance_of(Terminal::Table)
|
9
9
|
end
|
10
10
|
end
|
11
11
|
end
|
data/spec/spec_helper.rb
CHANGED
data/spec/table_spec.rb
CHANGED
data/terminal-table.gemspec
CHANGED
@@ -2,15 +2,15 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{terminal-table}
|
5
|
-
s.version = "1.
|
5
|
+
s.version = "1.3.0"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["TJ Holowaychuk"]
|
9
|
-
s.date = %q{2009-10-
|
9
|
+
s.date = %q{2009-10-16}
|
10
10
|
s.description = %q{Simple, feature rich ascii table generation library}
|
11
11
|
s.email = %q{tj@vision-media.ca}
|
12
|
-
s.extra_rdoc_files = ["lib/terminal-table
|
13
|
-
s.files = ["examples/examples.rb", "
|
12
|
+
s.extra_rdoc_files = ["README.rdoc", "lib/terminal-table.rb", "lib/terminal-table/cell.rb", "lib/terminal-table/core_ext.rb", "lib/terminal-table/heading.rb", "lib/terminal-table/import.rb", "lib/terminal-table/table.rb", "lib/terminal-table/table_helper.rb", "lib/terminal-table/version.rb", "tasks/docs.rake", "tasks/gemspec.rake", "tasks/spec.rake"]
|
13
|
+
s.files = ["History.rdoc", "Manifest", "README.rdoc", "Rakefile", "Todo.rdoc", "examples/examples.rb", "lib/terminal-table.rb", "lib/terminal-table/cell.rb", "lib/terminal-table/core_ext.rb", "lib/terminal-table/heading.rb", "lib/terminal-table/import.rb", "lib/terminal-table/table.rb", "lib/terminal-table/table_helper.rb", "lib/terminal-table/version.rb", "spec/cell_spec.rb", "spec/core_ext_spec.rb", "spec/import_spec.rb", "spec/spec.opts", "spec/spec_helper.rb", "spec/table_spec.rb", "tasks/docs.rake", "tasks/gemspec.rake", "tasks/spec.rake", "terminal-table.gemspec"]
|
14
14
|
s.homepage = %q{http://github.com/visionmedia/terminal-table}
|
15
15
|
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Terminal-table", "--main", "README.rdoc"]
|
16
16
|
s.require_paths = ["lib"]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: terminal-table
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- TJ Holowaychuk
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-10-
|
12
|
+
date: 2009-10-16 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|
@@ -20,6 +20,8 @@ executables: []
|
|
20
20
|
extensions: []
|
21
21
|
|
22
22
|
extra_rdoc_files:
|
23
|
+
- README.rdoc
|
24
|
+
- lib/terminal-table.rb
|
23
25
|
- lib/terminal-table/cell.rb
|
24
26
|
- lib/terminal-table/core_ext.rb
|
25
27
|
- lib/terminal-table/heading.rb
|
@@ -27,14 +29,17 @@ extra_rdoc_files:
|
|
27
29
|
- lib/terminal-table/table.rb
|
28
30
|
- lib/terminal-table/table_helper.rb
|
29
31
|
- lib/terminal-table/version.rb
|
30
|
-
- lib/terminal-table.rb
|
31
|
-
- README.rdoc
|
32
32
|
- tasks/docs.rake
|
33
33
|
- tasks/gemspec.rake
|
34
34
|
- tasks/spec.rake
|
35
35
|
files:
|
36
|
-
- examples/examples.rb
|
37
36
|
- History.rdoc
|
37
|
+
- Manifest
|
38
|
+
- README.rdoc
|
39
|
+
- Rakefile
|
40
|
+
- Todo.rdoc
|
41
|
+
- examples/examples.rb
|
42
|
+
- lib/terminal-table.rb
|
38
43
|
- lib/terminal-table/cell.rb
|
39
44
|
- lib/terminal-table/core_ext.rb
|
40
45
|
- lib/terminal-table/heading.rb
|
@@ -42,22 +47,16 @@ files:
|
|
42
47
|
- lib/terminal-table/table.rb
|
43
48
|
- lib/terminal-table/table_helper.rb
|
44
49
|
- lib/terminal-table/version.rb
|
45
|
-
- lib/terminal-table.rb
|
46
|
-
- Manifest
|
47
|
-
- Rakefile
|
48
|
-
- README.rdoc
|
49
50
|
- spec/cell_spec.rb
|
50
51
|
- spec/core_ext_spec.rb
|
51
52
|
- spec/import_spec.rb
|
52
53
|
- spec/spec.opts
|
53
54
|
- spec/spec_helper.rb
|
54
|
-
- spec/table_helper_spec.rb
|
55
55
|
- spec/table_spec.rb
|
56
56
|
- tasks/docs.rake
|
57
57
|
- tasks/gemspec.rake
|
58
58
|
- tasks/spec.rake
|
59
59
|
- terminal-table.gemspec
|
60
|
-
- Todo.rdoc
|
61
60
|
has_rdoc: true
|
62
61
|
homepage: http://github.com/visionmedia/terminal-table
|
63
62
|
licenses: []
|
data/spec/table_helper_spec.rb
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + "/spec_helper")
|
2
|
-
|
3
|
-
module Terminal
|
4
|
-
describe Table::TableHelper do
|
5
|
-
before do
|
6
|
-
@obj = Class.new do
|
7
|
-
include Table::TableHelper
|
8
|
-
end.new
|
9
|
-
end
|
10
|
-
|
11
|
-
describe "#table" do
|
12
|
-
it "should allow creation of a terminal table" do
|
13
|
-
table = @obj.table(['foo', 'bar'], ['a', 'b'], [1, 2])
|
14
|
-
table.should be_instance_of(Terminal::Table)
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|