terminal-table 1.8.0 → 3.0.2

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.
@@ -16,11 +16,11 @@ Gem::Specification.new do |spec|
16
16
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
17
17
  spec.require_paths = ["lib"]
18
18
 
19
- spec.add_development_dependency "bundler", "~> 1.10"
20
- spec.add_development_dependency "rake", "~> 10.0"
19
+ spec.add_development_dependency "bundler", "~> 2"
20
+ spec.add_development_dependency "rake", "~> 13.0"
21
21
  spec.add_development_dependency "rspec", ">= 3.0"
22
22
  spec.add_development_dependency "term-ansicolor"
23
23
  spec.add_development_dependency "pry"
24
24
 
25
- spec.add_runtime_dependency "unicode-display_width", ["~> 1.1", ">= 1.1.1"]
25
+ spec.add_runtime_dependency "unicode-display_width", [">= 1.1.1", "< 3"]
26
26
  end
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: terminal-table
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.0
4
+ version: 3.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - TJ Holowaychuk
8
8
  - Scott J. Goldman
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-05-17 00:00:00.000000000 Z
12
+ date: 2021-09-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -17,28 +17,28 @@ dependencies:
17
17
  requirements:
18
18
  - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: '1.10'
20
+ version: '2'
21
21
  type: :development
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - "~>"
26
26
  - !ruby/object:Gem::Version
27
- version: '1.10'
27
+ version: '2'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: rake
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
32
  - - "~>"
33
33
  - !ruby/object:Gem::Version
34
- version: '10.0'
34
+ version: '13.0'
35
35
  type: :development
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - "~>"
40
40
  - !ruby/object:Gem::Version
41
- version: '10.0'
41
+ version: '13.0'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: rspec
44
44
  requirement: !ruby/object:Gem::Requirement
@@ -85,38 +85,47 @@ dependencies:
85
85
  name: unicode-display_width
86
86
  requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
88
- - - "~>"
89
- - !ruby/object:Gem::Version
90
- version: '1.1'
91
88
  - - ">="
92
89
  - !ruby/object:Gem::Version
93
90
  version: 1.1.1
91
+ - - "<"
92
+ - !ruby/object:Gem::Version
93
+ version: '3'
94
94
  type: :runtime
95
95
  prerelease: false
96
96
  version_requirements: !ruby/object:Gem::Requirement
97
97
  requirements:
98
- - - "~>"
99
- - !ruby/object:Gem::Version
100
- version: '1.1'
101
98
  - - ">="
102
99
  - !ruby/object:Gem::Version
103
100
  version: 1.1.1
104
- description:
101
+ - - "<"
102
+ - !ruby/object:Gem::Version
103
+ version: '3'
104
+ description:
105
105
  email:
106
106
  - tj@vision-media.ca
107
107
  executables: []
108
108
  extensions: []
109
109
  extra_rdoc_files: []
110
110
  files:
111
+ - ".github/workflows/ci.yml"
111
112
  - ".gitignore"
112
113
  - Gemfile
113
114
  - History.rdoc
114
115
  - LICENSE.txt
115
116
  - Manifest
116
- - README.rdoc
117
+ - README.md
117
118
  - Rakefile
118
119
  - Todo.rdoc
120
+ - examples/data.csv
119
121
  - examples/examples.rb
122
+ - examples/examples_unicode.rb
123
+ - examples/issue100.rb
124
+ - examples/issue111.rb
125
+ - examples/issue118.rb
126
+ - examples/issue95.rb
127
+ - examples/show_csv_table.rb
128
+ - examples/strong_separator.rb
120
129
  - lib/terminal-table.rb
121
130
  - lib/terminal-table/cell.rb
122
131
  - lib/terminal-table/import.rb
@@ -125,13 +134,14 @@ files:
125
134
  - lib/terminal-table/style.rb
126
135
  - lib/terminal-table/table.rb
127
136
  - lib/terminal-table/table_helper.rb
137
+ - lib/terminal-table/util.rb
128
138
  - lib/terminal-table/version.rb
129
139
  - terminal-table.gemspec
130
140
  homepage: https://github.com/tj/terminal-table
131
141
  licenses:
132
142
  - MIT
133
143
  metadata: {}
134
- post_install_message:
144
+ post_install_message:
135
145
  rdoc_options: []
136
146
  require_paths:
137
147
  - lib
@@ -146,9 +156,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
146
156
  - !ruby/object:Gem::Version
147
157
  version: '0'
148
158
  requirements: []
149
- rubyforge_project:
150
- rubygems_version: 2.6.11
151
- signing_key:
159
+ rubygems_version: 3.2.3
160
+ signing_key:
152
161
  specification_version: 4
153
162
  summary: Simple, feature rich ascii table generation library
154
163
  test_files: []
data/README.rdoc DELETED
@@ -1,247 +0,0 @@
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
- You can also use styles to add a separator after every row:
192
-
193
- table = Terminal::Table.new do |t|
194
- t.add_row [1, 'One']
195
- t.add_row [2, 'Two']
196
- t.add_row [3, 'Three']
197
- t.style = {:all_separators => true}
198
- end
199
-
200
- # > puts table
201
- #
202
- # +---+-------+
203
- # | 1 | One |
204
- # +---+-------+
205
- # | 2 | Two |
206
- # +---+-------+
207
- # | 3 | Three |
208
- # +---+-------+
209
-
210
- You can also use styles to disable top and bottom borders of the table
211
-
212
- table = Terminal::Table.new do |t|
213
- t.headings = ['id', 'name']
214
- t.rows = [[1, 'One'], [2, 'Two'], [3, 'Three']]
215
- t.style = { :border_top => false, :border_bottom => false }
216
- end
217
-
218
- # > puts table
219
- # | id | name |
220
- # +----+-------+
221
- # | 1 | One |
222
- # | 2 | Two |
223
- # | 3 | Three |
224
-
225
- To change the default style options:
226
-
227
- Terminal::Table::Style.defaults = {:width => 80}
228
-
229
- All Table objects created afterwards will inherit these defaults.
230
-
231
- === Constructor options and setter methods
232
-
233
- 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:
234
-
235
- table = Terminal::Table.new
236
- table.title = "Cheatsheet"
237
- table.headings = ['Word', 'Number']
238
- table.rows = rows
239
- table.style = {:width => 40}
240
-
241
- == More examples
242
-
243
- For more examples, please see the examples/examples.rb file included in the source distribution.
244
-
245
- == Author
246
-
247
- TJ Holowaychuk <tj@vision-media.ca>