terminal-table 1.5.2 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a5276af39a8c70872f4f6ebbc2e6a3737d78f8da
4
- data.tar.gz: 2763365975b930b885ae1c88c957e6fe3b508904
3
+ metadata.gz: 906edc10ddbc49ce496a4bb49d2b0318ce67ce87
4
+ data.tar.gz: e28e319ee32ef1be3a81ccd3e324970d7778a20d
5
5
  SHA512:
6
- metadata.gz: 1e8e66ec3b2c947acc0cb91ae1fa573e693bbe54846bd3c69b1c0dd43f995d0a705102a5d1ddfbfa995e49a57a0858a5c71305657d8fa9a6daa1de13f7b2da50
7
- data.tar.gz: dd328d81b11d32dcc3ffbf17a85b0dd87edec4a48231fba2a94c53279536abe07a6f8c44e06174cd3f957760b9886da4fc6d2dbc00a6a5e1f3c5fde67d9b90cb
6
+ metadata.gz: 37a853ebbf1ccad933892ed34372ca2126d3f302f4c81e9da4dd3e53937613af6e0f820e62c2675a3da50e3542b185d7bd523d15312f37535ca29c95dba14c13
7
+ data.tar.gz: 8ef39f7169f4682ed4c94739ef2cda11eb1be487b4991e1c4fa3b70ebb7a30bc728d29eaa991d4849c873f58df04b86e3f4ce7bd5c76647893f439550d71b548
@@ -1,48 +1,53 @@
1
- 1.4.3 / 2011-10-13
2
- ==================
3
-
4
- * Optimize for faster table output.
5
-
6
- 1.4.2 / 2010-01-14
7
- ==================
8
-
9
- * Fixed some bugs with colspan
10
-
11
- === 1.4.1 / 2009-12-18
12
-
13
- * Fix column alignment with separators.
14
-
15
- === 1.4.0 / 2009-12-18
16
-
17
- * Can now add :seperator arbitrarily in a table [thanks splattael]
18
- * Fix common typo: seperator -> separator [thanks splattael]
19
-
20
- === 1.3.0 / 2009-10-16
21
-
22
- * Major refactoring (functionality remains the same)
23
-
24
- === 1.2.0 / 2009-08-06
25
-
26
- * Added colspan support to table
27
-
28
- === 1.1.0 / 2009-08-06
29
-
30
- * Added colspan support to table
31
-
32
- === 1.1.0 / 2009-07-13
33
-
34
- * Added Table#==
35
-
36
- === 1.0.5 / 2009-03-14
37
-
38
- * Allowing nil to be passed to table for headings
39
- * Revised doc to show that rows can be splatted now
40
- * Misc refactoring
41
-
42
- === 1.0.3 / 2009-01-15
43
-
44
- * Moved yield or eval to Terminal::Table initialize where it belongs
45
-
46
- === 1.0.0 / 2009-01-13
47
-
48
- * Initial release
1
+ 1.6.0 / 2016-06-06
2
+ ==================
3
+
4
+ * Added table styles - margin_left, all_separators.
5
+
6
+ 1.4.3 / 2011-10-13
7
+ ==================
8
+
9
+ * Optimize for faster table output.
10
+
11
+ 1.4.2 / 2010-01-14
12
+ ==================
13
+
14
+ * Fixed some bugs with colspan
15
+
16
+ === 1.4.1 / 2009-12-18
17
+
18
+ * Fix column alignment with separators.
19
+
20
+ === 1.4.0 / 2009-12-18
21
+
22
+ * Can now add :seperator arbitrarily in a table [thanks splattael]
23
+ * Fix common typo: seperator -> separator [thanks splattael]
24
+
25
+ === 1.3.0 / 2009-10-16
26
+
27
+ * Major refactoring (functionality remains the same)
28
+
29
+ === 1.2.0 / 2009-08-06
30
+
31
+ * Added colspan support to table
32
+
33
+ === 1.1.0 / 2009-08-06
34
+
35
+ * Added colspan support to table
36
+
37
+ === 1.1.0 / 2009-07-13
38
+
39
+ * Added Table#==
40
+
41
+ === 1.0.5 / 2009-03-14
42
+
43
+ * Allowing nil to be passed to table for headings
44
+ * Revised doc to show that rows can be splatted now
45
+ * Misc refactoring
46
+
47
+ === 1.0.3 / 2009-01-15
48
+
49
+ * Moved yield or eval to Terminal::Table initialize where it belongs
50
+
51
+ === 1.0.0 / 2009-01-13
52
+
53
+ * Initial release
@@ -1,240 +1,238 @@
1
- = Terminal Table
2
-
3
- == Description
4
-
5
- Terminal Table is a fast and simple, yet feature rich ASCII table generator written in Ruby.
6
-
7
- == Installation
8
-
9
- Install http://gemcutter.org and execute:
10
-
11
- $ gem install terminal-table
12
-
13
- == Usage
14
-
15
- === Basics
16
-
17
- To use Terminal Table:
18
-
19
- require 'terminal-table'
20
-
21
- To generate a table, provide an array of arrays (which are interpreted as rows):
22
-
23
- rows = []
24
- rows << ['One', 1]
25
- rows << ['Two', 2]
26
- rows << ['Three', 3]
27
- table = Terminal::Table.new :rows => rows
28
-
29
- # > puts table
30
- #
31
- # +-------+---+
32
- # | One | 1 |
33
- # | Two | 2 |
34
- # | Three | 3 |
35
- # +-------+---+
36
-
37
-
38
- The constructor can also be given a block which is either yielded the Table object or instance evaluated:
39
-
40
- table = Terminal::Table.new do |t|
41
- t.rows = rows
42
- end
43
-
44
- table = Terminal::Table.new do
45
- self.rows = rows
46
- end
47
-
48
- Adding rows one by one:
49
-
50
- table = Terminal::Table.new do |t|
51
- t << ['One', 1]
52
- t.add_row ['Two', 2]
53
- end
54
-
55
- To add separators between rows:
56
-
57
- table = Terminal::Table.new do |t|
58
- t << ['One', 1]
59
- t << :separator
60
- t.add_row ['Two', 2]
61
- t.add_separator
62
- t.add_row ['Three', 3]
63
- end
64
-
65
- # > puts table
66
- #
67
- # +-------+---+
68
- # | One | 1 |
69
- # +-------+---+
70
- # | Two | 2 |
71
- # +-------+---+
72
- # | Three | 3 |
73
- # +-------+---+
74
-
75
- Cells can handle multiline content:
76
-
77
- table = Terminal::Table.new do |t|
78
- t << ['One', 1]
79
- t << :separator
80
- t.add_row ["Two\nDouble", 2]
81
- t.add_separator
82
- t.add_row ['Three', 3]
83
- end
84
-
85
- # > puts table
86
- #
87
- # +--------+---+
88
- # | One | 1 |
89
- # +--------+---+
90
- # | Two | 2 |
91
- # | Double | |
92
- # +--------+---+
93
- # | Three | 3 |
94
- # +--------+---+
95
-
96
- === Head
97
-
98
- To add a head to the table:
99
-
100
- table = Terminal::Table.new :headings => ['Word', 'Number'], :rows => rows
101
-
102
- # > puts table
103
- #
104
- # +-------+--------+
105
- # | Word | Number |
106
- # +-------+--------+
107
- # | One | 1 |
108
- # | Two | 2 |
109
- # | Three | 3 |
110
- # +-------+--------+
111
-
112
- === Title
113
-
114
- To add a title to the table:
115
-
116
- table = Terminal::Table.new :title => "Cheatsheet", :headings => ['Word', 'Number'], :rows => rows
117
-
118
- # > puts table
119
- #
120
- # +------------+--------+
121
- # | Cheatsheet |
122
- # +------------+--------+
123
- # | Word | Number |
124
- # +------------+--------+
125
- # | One | 1 |
126
- # | Two | 2 |
127
- # | Three | 3 |
128
- # +------------+--------+
129
-
130
- === Alignment
131
-
132
- To align the second column to the right:
133
-
134
- table.align_column(1, :right)
135
-
136
- # > puts table
137
- #
138
- # +-------+--------+
139
- # | Word | Number |
140
- # +-------+--------+
141
- # | One | 1 |
142
- # | Two | 2 |
143
- # | Three | 3 |
144
- # +-------+--------+
145
-
146
- To align an individual cell, you specify the cell value in a hash along the alignment:
147
-
148
- table << ["Four", {:value => 4.0, :alignment => :center}]
149
-
150
- # > puts table
151
- #
152
- # +-------+--------+
153
- # | Word | Number |
154
- # +-------+--------+
155
- # | One | 1 |
156
- # | Two | 2 |
157
- # | Three | 3 |
158
- # | Four | 4.0 |
159
- # +-------+--------+
160
-
161
- === Style
162
-
163
- To specify style options:
164
-
165
- table = Terminal::Table.new :headings => ['Word', 'Number'], :rows => rows, :style => {:width => 80}
166
-
167
- # > puts table
168
- #
169
- # +--------------------------------------+---------------------------------------+
170
- # | Word | Number |
171
- # +--------------------------------------+---------------------------------------+
172
- # | One | 1 |
173
- # | Two | 2 |
174
- # | Three | 3 |
175
- # +--------------------------------------+---------------------------------------+
176
-
177
- And change styles on the fly:
178
-
179
- table.style = {:width => 40, :padding_left => 3, :border_x => "=", :border_i => "x"}
180
-
181
- # > puts table
182
- #
183
- # x====================x=================x
184
- # | Cheatsheet |
185
- # x====================x=================x
186
- # | Word | Number |
187
- # x====================x=================x
188
- # | One | 1 |
189
- # | Two | 2 |
190
- # | Three | 3 |
191
- # x====================x=================x
192
-
193
- To change the default style options:
194
-
195
- Terminal::Style.defaults = {:width => 80}
196
-
197
- All Table objects created afterwards will inherit these defaults.
198
-
199
- === Constructor options and setter methods
200
-
201
- Valid options for the constructor are :rows, :headings, :style and :title - and all options can also be set on the created table object by their setter method:
202
-
203
- table = Terminal::Table.new
204
- table.title = "Cheatsheet"
205
- table.headings = ['Word', 'Number']
206
- table.rows = rows
207
- table.style = {:width => 40}
208
-
209
- == More examples
210
-
211
- For more examples, please see the examples/examples.rb file included in the source distribution.
212
-
213
- == Author
214
-
215
- TJ Holowaychuk <tj@vision-media.ca>
216
-
217
- == License
218
-
219
- (The MIT License)
220
-
221
- Copyright (c) 2008-2009 TJ Holowaychuk <tj@vision-media.ca>
222
-
223
- Permission is hereby granted, free of charge, to any person obtaining
224
- a copy of this software and associated documentation files (the
225
- 'Software'), to deal in the Software without restriction, including
226
- without limitation the rights to use, copy, modify, merge, publish,
227
- distribute, sublicense, an d/or sell copies of the Software, and to
228
- permit persons to whom the Software is furnished to do so, subject to
229
- the following conditions:
230
-
231
- The above copyright notice and this permission notice shall be
232
- included in all copies or substantial portions of the Software.
233
-
234
- THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
235
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
236
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
237
- IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
238
- CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
239
- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
240
- SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1
+ = Terminal Table
2
+
3
+ == Description
4
+
5
+ Terminal Table is a fast and simple, yet feature rich ASCII table generator written in Ruby.
6
+
7
+ == Installation
8
+
9
+ $ gem install terminal-table
10
+
11
+ == Usage
12
+
13
+ === Basics
14
+
15
+ To use Terminal Table:
16
+
17
+ require 'terminal-table'
18
+
19
+ To generate a table, provide an array of arrays (which are interpreted as rows):
20
+
21
+ rows = []
22
+ rows << ['One', 1]
23
+ rows << ['Two', 2]
24
+ rows << ['Three', 3]
25
+ table = Terminal::Table.new :rows => rows
26
+
27
+ # > puts table
28
+ #
29
+ # +-------+---+
30
+ # | One | 1 |
31
+ # | Two | 2 |
32
+ # | Three | 3 |
33
+ # +-------+---+
34
+
35
+
36
+ The constructor can also be given a block which is either yielded the Table object or instance evaluated:
37
+
38
+ table = Terminal::Table.new do |t|
39
+ t.rows = rows
40
+ end
41
+
42
+ table = Terminal::Table.new do
43
+ self.rows = rows
44
+ end
45
+
46
+ Adding rows one by one:
47
+
48
+ table = Terminal::Table.new do |t|
49
+ t << ['One', 1]
50
+ t.add_row ['Two', 2]
51
+ end
52
+
53
+ To add separators between rows:
54
+
55
+ table = Terminal::Table.new do |t|
56
+ t << ['One', 1]
57
+ t << :separator
58
+ t.add_row ['Two', 2]
59
+ t.add_separator
60
+ t.add_row ['Three', 3]
61
+ end
62
+
63
+ # > puts table
64
+ #
65
+ # +-------+---+
66
+ # | One | 1 |
67
+ # +-------+---+
68
+ # | Two | 2 |
69
+ # +-------+---+
70
+ # | Three | 3 |
71
+ # +-------+---+
72
+
73
+ Cells can handle multiline content:
74
+
75
+ table = Terminal::Table.new do |t|
76
+ t << ['One', 1]
77
+ t << :separator
78
+ t.add_row ["Two\nDouble", 2]
79
+ t.add_separator
80
+ t.add_row ['Three', 3]
81
+ end
82
+
83
+ # > puts table
84
+ #
85
+ # +--------+---+
86
+ # | One | 1 |
87
+ # +--------+---+
88
+ # | Two | 2 |
89
+ # | Double | |
90
+ # +--------+---+
91
+ # | Three | 3 |
92
+ # +--------+---+
93
+
94
+ === Head
95
+
96
+ To add a head to the table:
97
+
98
+ table = Terminal::Table.new :headings => ['Word', 'Number'], :rows => rows
99
+
100
+ # > puts table
101
+ #
102
+ # +-------+--------+
103
+ # | Word | Number |
104
+ # +-------+--------+
105
+ # | One | 1 |
106
+ # | Two | 2 |
107
+ # | Three | 3 |
108
+ # +-------+--------+
109
+
110
+ === Title
111
+
112
+ To add a title to the table:
113
+
114
+ table = Terminal::Table.new :title => "Cheatsheet", :headings => ['Word', 'Number'], :rows => rows
115
+
116
+ # > puts table
117
+ #
118
+ # +------------+--------+
119
+ # | Cheatsheet |
120
+ # +------------+--------+
121
+ # | Word | Number |
122
+ # +------------+--------+
123
+ # | One | 1 |
124
+ # | Two | 2 |
125
+ # | Three | 3 |
126
+ # +------------+--------+
127
+
128
+ === Alignment
129
+
130
+ To align the second column to the right:
131
+
132
+ table.align_column(1, :right)
133
+
134
+ # > puts table
135
+ #
136
+ # +-------+--------+
137
+ # | Word | Number |
138
+ # +-------+--------+
139
+ # | One | 1 |
140
+ # | Two | 2 |
141
+ # | Three | 3 |
142
+ # +-------+--------+
143
+
144
+ To align an individual cell, you specify the cell value in a hash along the alignment:
145
+
146
+ table << ["Four", {:value => 4.0, :alignment => :center}]
147
+
148
+ # > puts table
149
+ #
150
+ # +-------+--------+
151
+ # | Word | Number |
152
+ # +-------+--------+
153
+ # | One | 1 |
154
+ # | Two | 2 |
155
+ # | Three | 3 |
156
+ # | Four | 4.0 |
157
+ # +-------+--------+
158
+
159
+ === Style
160
+
161
+ To specify style options:
162
+
163
+ table = Terminal::Table.new :headings => ['Word', 'Number'], :rows => rows, :style => {:width => 80}
164
+
165
+ # > puts table
166
+ #
167
+ # +--------------------------------------+---------------------------------------+
168
+ # | Word | Number |
169
+ # +--------------------------------------+---------------------------------------+
170
+ # | One | 1 |
171
+ # | Two | 2 |
172
+ # | Three | 3 |
173
+ # +--------------------------------------+---------------------------------------+
174
+
175
+ And change styles on the fly:
176
+
177
+ table.style = {:width => 40, :padding_left => 3, :border_x => "=", :border_i => "x"}
178
+
179
+ # > puts table
180
+ #
181
+ # x====================x=================x
182
+ # | Cheatsheet |
183
+ # x====================x=================x
184
+ # | Word | Number |
185
+ # x====================x=================x
186
+ # | One | 1 |
187
+ # | Two | 2 |
188
+ # | Three | 3 |
189
+ # x====================x=================x
190
+
191
+ To change the default style options:
192
+
193
+ Terminal::Style.defaults = {:width => 80}
194
+
195
+ All Table objects created afterwards will inherit these defaults.
196
+
197
+ === Constructor options and setter methods
198
+
199
+ Valid options for the constructor are :rows, :headings, :style and :title - and all options can also be set on the created table object by their setter method:
200
+
201
+ table = Terminal::Table.new
202
+ table.title = "Cheatsheet"
203
+ table.headings = ['Word', 'Number']
204
+ table.rows = rows
205
+ table.style = {:width => 40}
206
+
207
+ == More examples
208
+
209
+ For more examples, please see the examples/examples.rb file included in the source distribution.
210
+
211
+ == Author
212
+
213
+ TJ Holowaychuk <tj@vision-media.ca>
214
+
215
+ == License
216
+
217
+ (The MIT License)
218
+
219
+ Copyright (c) 2008-2009 TJ Holowaychuk <tj@vision-media.ca>
220
+
221
+ Permission is hereby granted, free of charge, to any person obtaining
222
+ a copy of this software and associated documentation files (the
223
+ 'Software'), to deal in the Software without restriction, including
224
+ without limitation the rights to use, copy, modify, merge, publish,
225
+ distribute, sublicense, an d/or sell copies of the Software, and to
226
+ permit persons to whom the Software is furnished to do so, subject to
227
+ the following conditions:
228
+
229
+ The above copyright notice and this permission notice shall be
230
+ included in all copies or substantial portions of the Software.
231
+
232
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
233
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
234
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
235
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
236
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
237
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
238
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.