table_pal 0.1.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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 4b1c3f5234498b916d764d00cc8e9d6a050fd91cac4bc803791b015934494e86
4
+ data.tar.gz: 42e49d8eee541a96e21090e467f3abdd87bd96545b0a6dacb12e67cacda061d2
5
+ SHA512:
6
+ metadata.gz: 7f7cb22a2a031b3d48bad82329d3d76393d855491b78be17e218b7b235db23b06b0a47c6a54a5725d4d9ea178b761b51039635fa81c605a59d46ce844d8677a0
7
+ data.tar.gz: 8dfea9dfe91bc61d63f03ad30aced9bfafbf756c07e0b3aa0027b6eda44123d93e14592c1fee490454f34cf397a7f27cf9646ab6a39f304f3ca223a49eccc3f0
data/.rubocop.yml ADDED
@@ -0,0 +1,108 @@
1
+ AllCops:
2
+ TargetRubyVersion: 2.6.4
3
+ Layout/SpaceInLambdaLiteral:
4
+ EnforcedStyle: require_space
5
+
6
+ Layout/AlignHash:
7
+ EnforcedColonStyle: table
8
+
9
+ Layout/EmptyLinesAroundClassBody:
10
+ EnforcedStyle: empty_lines_except_namespace
11
+
12
+ Lint/UnusedMethodArgument:
13
+ AutoCorrect: false
14
+
15
+ Metrics/AbcSize:
16
+ Enabled: false
17
+
18
+ Metrics/CyclomaticComplexity:
19
+ Enabled: false
20
+
21
+ Metrics/PerceivedComplexity:
22
+ Enabled: false
23
+
24
+ Metrics/LineLength:
25
+ Enabled: false
26
+
27
+ Metrics/ModuleLength:
28
+ Enabled: false
29
+
30
+ Metrics/ParameterLists:
31
+ Enabled: false
32
+
33
+ Metrics/MethodLength:
34
+ Enabled: false
35
+
36
+ Naming/VariableNumber:
37
+ Enabled: false
38
+
39
+ Style/ClassAndModuleChildren:
40
+ Enabled: false
41
+
42
+ Style/ClassVars:
43
+ Enabled: false
44
+
45
+ Style/Documentation:
46
+ Enabled: false
47
+
48
+ Style/EmptyMethod:
49
+ Enabled: false
50
+
51
+ Style/FrozenStringLiteralComment:
52
+ Enabled: false
53
+
54
+ Style/MutableConstant:
55
+ Enabled: false
56
+
57
+ Style/StabbyLambdaParentheses:
58
+ EnforcedStyle: require_no_parentheses
59
+
60
+ # Layout/AlignArray:
61
+ # Layout/AlignHash:
62
+ # Layout/AlignParameters:
63
+ # Layout/EmptyLineBetweenDefs:
64
+ # Layout/EmptyLinesAroundClassBody:
65
+ # Layout/EmptyLinesAroundExceptionHandlingKeywords:
66
+ # Layout/EmptyLinesAroundModuleBody:
67
+ # Layout/ExtraSpacing:
68
+ # Layout/LeadingBlankLines:
69
+ # Layout/SpaceAroundOperators:
70
+ # Layout/SpaceBeforeFirstArg:
71
+ # Layout/SpaceInLambdaLiteral:
72
+ # Lint/AmbiguousOperator:
73
+ # Lint/AmbiguousRegexpLiteral:
74
+ # Lint/HandleExceptions:
75
+ # Lint/IneffectiveAccessModifier:
76
+ # Lint/ToJSON:
77
+ # Lint/UnderscorePrefixedVariableName:
78
+ # Lint/UnneededSplatExpansion:
79
+ # Lint/UnreachableCode:
80
+ # Lint/UselessAccessModifier:
81
+ # Lint/UselessAssignment:
82
+ # Lint/Void:
83
+ # Metrics/AbcSize:
84
+ # Metrics/BlockLength:
85
+ # Metrics/ClassLength:
86
+ # Metrics/CyclomaticComplexity:
87
+ # Metrics/LineLength:
88
+ # Metrics/MethodLength:
89
+ # Metrics/ModuleLength:
90
+ # Metrics/ParameterLists:
91
+ # Metrics/PerceivedComplexity:
92
+ # Naming/ClassAndModuleCamelCase:
93
+ # Naming/RescuedExceptionsVariableName:
94
+ # Naming/UncommunicativeMethodParamName:
95
+ # Naming/VariableNumber:
96
+ # Security/MarshalLoad:
97
+ # Style/ClassVars:
98
+ # Style/Documentation:
99
+ # Style/EmptyMethod:
100
+ # Style/FormatStringToken:
101
+ # Style/IfUnlessModifier:
102
+ # Style/MixinUsage:
103
+ # Style/MutableConstant:
104
+ # Style/NumericLiterals:
105
+ # Style/NumericPredicate:
106
+ # Style/SingleLineMethods:
107
+ # Style/StringLiterals:
108
+ # Style/TernaryParentheses:
data/Gemfile ADDED
@@ -0,0 +1,5 @@
1
+ source 'https://rubygems.org'
2
+
3
+ git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
4
+
5
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,45 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ table_pal (0.1.0)
5
+
6
+ GEM
7
+ remote: https://rubygems.org/
8
+ specs:
9
+ ast (2.4.0)
10
+ coderay (1.1.2)
11
+ interesting_methods (0.1.2)
12
+ jaro_winkler (1.5.2)
13
+ method_source (0.9.2)
14
+ minitest (5.12.2)
15
+ parallel (1.17.0)
16
+ parser (2.6.3.0)
17
+ ast (~> 2.4.0)
18
+ pry (0.12.2)
19
+ coderay (~> 1.1.0)
20
+ method_source (~> 0.9.0)
21
+ rainbow (3.0.0)
22
+ rake (13.0.0)
23
+ rubocop (0.71.0)
24
+ jaro_winkler (~> 1.5.1)
25
+ parallel (~> 1.10)
26
+ parser (>= 2.6)
27
+ rainbow (>= 2.2.2, < 4.0)
28
+ ruby-progressbar (~> 1.7)
29
+ unicode-display_width (>= 1.4.0, < 1.7)
30
+ ruby-progressbar (1.10.1)
31
+ unicode-display_width (1.6.0)
32
+
33
+ PLATFORMS
34
+ ruby
35
+
36
+ DEPENDENCIES
37
+ interesting_methods (~> 0.1)
38
+ minitest (~> 5.12)
39
+ pry (~> 0.12)
40
+ rake (~> 13.0)
41
+ rubocop (~> 0.71)
42
+ table_pal!
43
+
44
+ BUNDLED WITH
45
+ 2.0.2
data/README.md ADDED
@@ -0,0 +1,5 @@
1
+ # Table Pal
2
+
3
+ This gem lets you print tables with ease.
4
+
5
+ It's mainly used by myself and isn't necessarily meant for widespread public comsumption just yet.
data/Rakefile ADDED
@@ -0,0 +1,7 @@
1
+ require 'rake/testtask'
2
+
3
+ Rake::TestTask.new do |task|
4
+ task.pattern = 'tests/*_test.rb'
5
+ end
6
+
7
+ task default: 'test'
data/lib/cell.rb ADDED
@@ -0,0 +1,52 @@
1
+ module TablePal
2
+ class Cell
3
+
4
+ using Colours
5
+
6
+ attr_reader :row, :column, :content, :formatter, :justification, :colour
7
+
8
+ def initialize(row:, column:, content: '', formatter: nil, justification: nil, colour: nil)
9
+ @row = row
10
+ @column = column
11
+ @content = content
12
+ @formatter = formatter || row.formatter || NoFormatting
13
+ @justification = justification || row.justification || column.justification
14
+ @colour = colour || row.colour || column.colour || :itself
15
+ end
16
+
17
+ def formatted(justified: false, coloured: false)
18
+ result = format(content)
19
+ result = justify(result) if justified
20
+ result = colourize(result) if coloured
21
+
22
+ result
23
+ end
24
+
25
+ def format(result)
26
+ return '' if result == ''
27
+
28
+ formatter.call(result).to_s
29
+ end
30
+
31
+ def justify(result)
32
+ result.send(justification_to_method, column.width)
33
+ end
34
+
35
+ def colourize(result)
36
+ result.send(colour)
37
+ end
38
+
39
+ def width
40
+ formatted.length
41
+ end
42
+
43
+ def justification_to_method
44
+ {
45
+ left: :ljust,
46
+ right: :rjust,
47
+ center: :center
48
+ }[justification]
49
+ end
50
+
51
+ end
52
+ end
data/lib/colours.rb ADDED
@@ -0,0 +1,286 @@
1
+ module Colours
2
+ refine String do
3
+ def reset
4
+ ansi(0)
5
+ end
6
+
7
+ # FORMATTING
8
+
9
+ def bold
10
+ style 1
11
+ end
12
+
13
+ def faint
14
+ style 2
15
+ end
16
+
17
+ def italic
18
+ style 3
19
+ end
20
+
21
+ def underline
22
+ style 4
23
+ end
24
+
25
+ # FOREGROUND COLOURS
26
+
27
+ def black
28
+ style 30
29
+ end
30
+
31
+ def blue
32
+ style 34
33
+ end
34
+
35
+ def cyan
36
+ style 36
37
+ end
38
+
39
+ def green
40
+ style 32
41
+ end
42
+
43
+ def magenta
44
+ style 35
45
+ end
46
+
47
+ # TODO: wrong number
48
+ def purple
49
+ style 35
50
+ end
51
+
52
+ def red
53
+ style 31
54
+ end
55
+
56
+ def white
57
+ style 37
58
+ end
59
+
60
+ def yellow
61
+ style 33
62
+ end
63
+
64
+ def bright_black
65
+ style 90
66
+ end
67
+
68
+ def bright_blue
69
+ style 94
70
+ end
71
+
72
+ def bright_cyan
73
+ style 96
74
+ end
75
+
76
+ def bright_green
77
+ style 92
78
+ end
79
+
80
+ def bright_magenta
81
+ style 95
82
+ end
83
+
84
+ def bright_red
85
+ style 91
86
+ end
87
+
88
+ def bright_white
89
+ style 97
90
+ end
91
+
92
+ def bright_yellow
93
+ style 93
94
+ end
95
+
96
+ # BACKGROUND COLOURS
97
+
98
+ def bg_black
99
+ style 40
100
+ end
101
+
102
+ def bg_blue
103
+ style 44
104
+ end
105
+
106
+ def bg_cyan
107
+ style 46
108
+ end
109
+
110
+ def bg_green
111
+ style 42
112
+ end
113
+
114
+ def bg_magenta
115
+ style 45
116
+ end
117
+
118
+ def bg_red
119
+ style 41
120
+ end
121
+
122
+ def bg_white
123
+ style 47
124
+ end
125
+
126
+ def bg_yellow
127
+ style 43
128
+ end
129
+
130
+ # ANSI 256 COLOURS
131
+
132
+ def bg(code)
133
+ style "48;5;#{code}"
134
+ end
135
+
136
+ def fg(code)
137
+ style "38;5;#{code}"
138
+ end
139
+
140
+ # MISC
141
+
142
+ def backticks
143
+ backtick + self + backtick
144
+ end
145
+
146
+ def near_black
147
+ bg(240)
148
+ end
149
+
150
+ private
151
+
152
+ def ansi(code)
153
+ "\e[#{code}m"
154
+ end
155
+
156
+ def backtick
157
+ '`'.yellow
158
+ end
159
+
160
+ def style(code)
161
+ ansi(code) + self + reset
162
+ end
163
+ end
164
+
165
+ class Demo
166
+
167
+ class << self
168
+
169
+ using Colours
170
+
171
+ def all_ansi_256
172
+ puts
173
+ display_all_ansi_256('bg')
174
+ puts
175
+ puts
176
+ display_all_ansi_256('fg')
177
+ puts
178
+ puts
179
+ display_all(styles)
180
+ puts
181
+ puts
182
+ display_all(fg_colours)
183
+ puts
184
+ puts
185
+ display_all(bright_colours)
186
+ puts
187
+ puts
188
+ display_all(bg_colours)
189
+ puts
190
+ puts
191
+ end
192
+
193
+ private
194
+
195
+ def display_all(formats)
196
+ codes_displayed = 1
197
+
198
+ formats.each do |method, complementary_method|
199
+ print ".#{method}".ljust(col_width).send(method).send(complementary_method)
200
+
201
+ codes_displayed += 1
202
+
203
+ if codes_displayed * col_width > screen_width
204
+ puts
205
+ codes_displayed = 1
206
+ end
207
+ end
208
+ end
209
+
210
+ def styles
211
+ {
212
+ bold: :white,
213
+ faint: :white,
214
+ italic: :white,
215
+ underline: :white
216
+ }
217
+ end
218
+
219
+ def fg_colours
220
+ {
221
+ black: :near_black,
222
+ blue: :bg_black,
223
+ cyan: :bg_black,
224
+ green: :bg_black,
225
+ magenta: :bg_black,
226
+ red: :bg_black,
227
+ white: :bg_black,
228
+ yellow: :bg_black
229
+ }
230
+ end
231
+
232
+ def bright_colours
233
+ {
234
+ bright_black: :bg_black,
235
+ bright_blue: :bg_black,
236
+ bright_cyan: :bg_black,
237
+ bright_green: :bg_black,
238
+ bright_magenta: :bg_black,
239
+ bright_red: :bg_black,
240
+ bright_white: :bg_black,
241
+ bright_yellow: :bg_black
242
+ }
243
+ end
244
+
245
+ def bg_colours
246
+ {
247
+ bg_black: :white,
248
+ bg_blue: :black,
249
+ bg_cyan: :black,
250
+ bg_green: :black,
251
+ bg_magenta: :black,
252
+ bg_red: :black,
253
+ bg_white: :black,
254
+ bg_yellow: :black
255
+ }
256
+ end
257
+
258
+ def display_all_ansi_256(method)
259
+ # Use `Colours::Demo.all_ansi_256` to see colours available
260
+
261
+ codes_displayed = 1
262
+
263
+ 256.times do |code|
264
+ print ".#{method}(#{code})".ljust(col_width).send(method, code).fg(89)
265
+
266
+ codes_displayed += 1
267
+
268
+ if codes_displayed * col_width + 2 > screen_width
269
+ puts
270
+ codes_displayed = 1
271
+ end
272
+ end
273
+ end
274
+
275
+ def col_width
276
+ @col_width ||= '.bright_magenta '.length
277
+ end
278
+
279
+ def screen_width
280
+ @screen_width ||= `tput cols`.to_i
281
+ end
282
+
283
+ end
284
+
285
+ end
286
+ end
data/lib/column.rb ADDED
@@ -0,0 +1,29 @@
1
+ module TablePal
2
+ class Column
3
+
4
+ attr_reader :table, :left_padding, :right_padding, :left_border, :right_border, :justification, :colour
5
+
6
+ def initialize(table:, left_padding: ' ', right_padding: ' ', left_border: '', right_border: '|', justification: :left, colour: nil)
7
+ @table = table
8
+ @left_padding = left_padding
9
+ @right_padding = right_padding
10
+ @left_border = left_border
11
+ @right_border = right_border
12
+ @justification = justification
13
+ @colour = colour
14
+ end
15
+
16
+ def width
17
+ table.select_cells(column: self).max_by(&:width).width
18
+ end
19
+
20
+ def left_padding_char(char)
21
+ char * left_padding.length
22
+ end
23
+
24
+ def right_padding_char(char)
25
+ char * right_padding.length
26
+ end
27
+
28
+ end
29
+ end
@@ -0,0 +1,11 @@
1
+ module TablePal
2
+ class CSVFormatted
3
+
4
+ def initialize(table:)
5
+ table.rows.each do |row|
6
+ puts row.cells_including_empty.map(&:formatted).join(',')
7
+ end
8
+ end
9
+
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ module TablePal
2
+ class CSVUnformatted
3
+
4
+ def initialize(table:)
5
+ table.rows.each do |row|
6
+ puts row.cells_including_empty.map(&:content).join(',')
7
+ end
8
+ end
9
+
10
+ end
11
+ end
data/lib/formatters.rb ADDED
@@ -0,0 +1,7 @@
1
+ module TablePal
2
+ Dollar = -> content { format('$%.2f', content) }
3
+ FourFractionDigits = -> content { format('%.4f', content) }
4
+ NoFormatting = -> content { content }
5
+ Titleize = -> content { content.titleize }
6
+ Upper = -> content { content.upcase }
7
+ end
data/lib/plain_text.rb ADDED
@@ -0,0 +1,67 @@
1
+ module TablePal
2
+ class PlainText
3
+
4
+ attr_reader :table
5
+
6
+ def initialize(table:)
7
+ @table = table
8
+
9
+ table.rows.each do |row|
10
+ print_row(row)
11
+ end
12
+ end
13
+
14
+ private
15
+
16
+ def print_row(row)
17
+ row.cells_including_empty.each do |cell|
18
+ print_cell(cell)
19
+ end
20
+
21
+ puts
22
+
23
+ if row.heading
24
+ underline
25
+ empty
26
+ elsif row.subheading
27
+ empty
28
+ end
29
+ end
30
+
31
+ def print_cell(cell)
32
+ print cell.column.left_border
33
+ print cell.column.left_padding
34
+ print cell.formatted(justified: true)
35
+ print cell.column.right_padding
36
+ print cell.column.right_border
37
+ end
38
+
39
+ def underline
40
+ table.columns.map do |column|
41
+ char = '-'
42
+ print column.left_border
43
+ print column.left_padding_char(char)
44
+ print char * column.width
45
+ print column.right_padding_char(char)
46
+ print column.right_border
47
+ end
48
+
49
+ puts
50
+ end
51
+
52
+ def empty
53
+ row = table.create_row
54
+
55
+ row.empty_cells.each do |cell|
56
+ print cell.column.left_border
57
+ print cell.column.left_padding
58
+ print cell.formatted(justified: true)
59
+ print cell.column.right_padding
60
+ print cell.column.right_border
61
+ end
62
+
63
+ puts
64
+ end
65
+
66
+ end
67
+ end
@@ -0,0 +1,61 @@
1
+ module TablePal
2
+ class PlainTextColoured
3
+
4
+ attr_reader :table
5
+
6
+ def initialize(table:)
7
+ @table = table
8
+
9
+ table.rows.each do |row|
10
+ print_row(row)
11
+ end
12
+ end
13
+
14
+ private
15
+
16
+ def print_row(row)
17
+ row.cells_including_empty.each do |cell|
18
+ print_cell(cell)
19
+ end
20
+
21
+ puts
22
+
23
+ if row.heading
24
+ underline
25
+ empty
26
+ elsif row.subheading
27
+ empty
28
+ end
29
+ end
30
+
31
+ def print_cell(cell)
32
+ print cell.column.left_border
33
+ print cell.column.left_padding
34
+ print cell.formatted(justified: true, coloured: true)
35
+ print cell.column.right_padding
36
+ print cell.column.right_border
37
+ end
38
+
39
+ def underline
40
+ table.columns.map do |column|
41
+ char = '-'
42
+ print column.left_border
43
+ print column.left_padding_char(char)
44
+ print char * column.width
45
+ print column.right_padding_char(char)
46
+ print column.right_border
47
+ end
48
+
49
+ puts
50
+ end
51
+
52
+ def empty
53
+ table.create_row.empty_cells.each do |cell|
54
+ print_cell(cell)
55
+ end
56
+
57
+ puts
58
+ end
59
+
60
+ end
61
+ end
data/lib/requires.rb ADDED
@@ -0,0 +1,11 @@
1
+ require_relative 'colours'
2
+ require_relative 'table_pal'
3
+ require_relative 'cell'
4
+ require_relative 'column'
5
+ require_relative 'csv_formatted'
6
+ require_relative 'csv_unformatted'
7
+ require_relative 'formatters'
8
+ require_relative 'plain_text'
9
+ require_relative 'plain_text_coloured'
10
+ require_relative 'row'
11
+ require_relative 'table'
data/lib/row.rb ADDED
@@ -0,0 +1,44 @@
1
+ module TablePal
2
+ class Row
3
+
4
+ attr_reader :table, :formatter, :heading, :subheading, :justification, :colour
5
+
6
+ def initialize(table:, formatter: nil, heading: false, subheading: false, justification: nil, colour: nil)
7
+ @table = table
8
+ @formatter = formatter
9
+ @heading = heading
10
+ @subheading = subheading
11
+ @justification = justification
12
+ @colour = colour
13
+ end
14
+
15
+ def cells_including_empty
16
+ table.columns.map do |column|
17
+ find_cell(column) || create_cell(column)
18
+ end
19
+ end
20
+
21
+ def underline_cells
22
+ table.columns.map do |column|
23
+ table.create_cell(row: self, column: column, content: '-' * column.width)
24
+ end
25
+ end
26
+
27
+ def empty_cells
28
+ table.columns.map do |column|
29
+ table.create_cell(row: self, column: column)
30
+ end
31
+ end
32
+
33
+ private
34
+
35
+ def find_cell(column)
36
+ table.find_cell(row: self, column: column)
37
+ end
38
+
39
+ def create_cell(column)
40
+ table.create_cell(row: self, column: column)
41
+ end
42
+
43
+ end
44
+ end
data/lib/table.rb ADDED
@@ -0,0 +1,43 @@
1
+ module TablePal
2
+ class Table
3
+
4
+ attr_reader :rows, :columns, :cells
5
+
6
+ def initialize
7
+ @rows = []
8
+ @columns = []
9
+ @cells = []
10
+ end
11
+
12
+ def create_row(options = {})
13
+ Row.new(options.merge(table: self)).tap do |row|
14
+ @rows << row
15
+ end
16
+ end
17
+
18
+ def create_underline
19
+ Row.new(table: self).cells_as_underline
20
+ end
21
+
22
+ def create_column(options = {})
23
+ Column.new(options.merge(table: self)).tap do |column|
24
+ @columns << column
25
+ end
26
+ end
27
+
28
+ def create_cell(options = {})
29
+ Cell.new(options).tap do |cell|
30
+ @cells << cell
31
+ end
32
+ end
33
+
34
+ def find_cell(row:, column:)
35
+ cells.find { |cell| cell.row == row && cell.column == column }
36
+ end
37
+
38
+ def select_cells(column:)
39
+ cells.select { |cell| cell.column == column }
40
+ end
41
+
42
+ end
43
+ end
data/lib/table_pal.rb ADDED
@@ -0,0 +1,2 @@
1
+ module TablePal
2
+ end
data/lib/version.rb ADDED
@@ -0,0 +1,3 @@
1
+ module TablePal
2
+ VERSION = '0.1.0'
3
+ end
data/table_pal.gemspec ADDED
@@ -0,0 +1,22 @@
1
+ lib = File.expand_path('lib', __dir__)
2
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+
4
+ require 'version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = 'table_pal'
8
+ spec.version = TablePal::VERSION
9
+ spec.authors = ['Sean Lerner']
10
+ spec.email = ['sean@@smallcity.ca']
11
+ spec.summary = 'Aids creating tables'
12
+ spec.homepage = 'https://github.com/seanlerner/table_pal'
13
+ spec.license = 'MIT'
14
+ spec.files = `git ls-files`.split.reject { |f| f.match('test') }
15
+ spec.require_paths = ['lib']
16
+
17
+ spec.add_development_dependency 'interesting_methods', '~> 0.1'
18
+ spec.add_development_dependency 'minitest', '~> 5.12'
19
+ spec.add_development_dependency 'pry', '~> 0.12'
20
+ spec.add_development_dependency 'rake', '~> 13.0'
21
+ spec.add_development_dependency 'rubocop', '~> 0.71'
22
+ end
metadata ADDED
@@ -0,0 +1,132 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: table_pal
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Sean Lerner
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2019-10-27 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: interesting_methods
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.1'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0.1'
27
+ - !ruby/object:Gem::Dependency
28
+ name: minitest
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '5.12'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '5.12'
41
+ - !ruby/object:Gem::Dependency
42
+ name: pry
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0.12'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '0.12'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rake
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '13.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '13.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rubocop
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '0.71'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '0.71'
83
+ description:
84
+ email:
85
+ - sean@@smallcity.ca
86
+ executables: []
87
+ extensions: []
88
+ extra_rdoc_files: []
89
+ files:
90
+ - ".rubocop.yml"
91
+ - Gemfile
92
+ - Gemfile.lock
93
+ - README.md
94
+ - Rakefile
95
+ - lib/cell.rb
96
+ - lib/colours.rb
97
+ - lib/column.rb
98
+ - lib/csv_formatted.rb
99
+ - lib/csv_unformatted.rb
100
+ - lib/formatters.rb
101
+ - lib/plain_text.rb
102
+ - lib/plain_text_coloured.rb
103
+ - lib/requires.rb
104
+ - lib/row.rb
105
+ - lib/table.rb
106
+ - lib/table_pal.rb
107
+ - lib/version.rb
108
+ - table_pal.gemspec
109
+ homepage: https://github.com/seanlerner/table_pal
110
+ licenses:
111
+ - MIT
112
+ metadata: {}
113
+ post_install_message:
114
+ rdoc_options: []
115
+ require_paths:
116
+ - lib
117
+ required_ruby_version: !ruby/object:Gem::Requirement
118
+ requirements:
119
+ - - ">="
120
+ - !ruby/object:Gem::Version
121
+ version: '0'
122
+ required_rubygems_version: !ruby/object:Gem::Requirement
123
+ requirements:
124
+ - - ">="
125
+ - !ruby/object:Gem::Version
126
+ version: '0'
127
+ requirements: []
128
+ rubygems_version: 3.0.3
129
+ signing_key:
130
+ specification_version: 4
131
+ summary: Aids creating tables
132
+ test_files: []