flexible_table 0.0.6 → 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 +4 -4
- data/lib/flexible_table.rb +13 -13
- data/lib/print_helper.rb +4 -4
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 261479ffb3fd0a07769c38069d4825d89d2b7819
|
4
|
+
data.tar.gz: f1fdc6517d7cefd042cb9a1485b48b3c529bc19f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b10b6d4e1a67862fbf230df48b2221730d9e69ad30bcdf7e3302aac466cf85ddc0f1c4d5584396fea4b5500c48a01ca246aab4862d21b09886df61e818e4e5fa
|
7
|
+
data.tar.gz: f11759ab17353d0cace5481c23e0145fded79f9b4d0869f8ab4ff7dea34f5642a03674a538134428d4cd4e9aa8aa9c613ee02ae0a0dcd6c03ff8c842ec803d7f
|
data/lib/flexible_table.rb
CHANGED
@@ -28,7 +28,7 @@ class FlexibleTable
|
|
28
28
|
@columns << FlexibleColumn.new(title, width_percentage, args)
|
29
29
|
end
|
30
30
|
|
31
|
-
def print_header()
|
31
|
+
def print_header(io: $stdout)
|
32
32
|
exit unless columns_fit_screen?(@columns)
|
33
33
|
|
34
34
|
@columns.each_with_index do |col, index|
|
@@ -38,20 +38,20 @@ class FlexibleTable
|
|
38
38
|
output = get_printable_output(col.header, abs_width)
|
39
39
|
|
40
40
|
if(@columns[index].justify_header == :left)
|
41
|
-
printf("%s%-#{abs_width}s%s", color_prefix, output, color_suffix)
|
41
|
+
io.printf("%s%-#{abs_width}s%s", color_prefix, output, color_suffix)
|
42
42
|
elsif(@columns[index].justify_header == :right)
|
43
|
-
printf("%s%#{abs_width}s%s", color_prefix, output, color_suffix)
|
43
|
+
io.printf("%s%#{abs_width}s%s", color_prefix, output, color_suffix)
|
44
44
|
else
|
45
|
-
printf("%s%-#{abs_width}s%s", color_prefix, output, color_suffix) # default to left justify
|
45
|
+
io.printf("%s%-#{abs_width}s%s", color_prefix, output, color_suffix) # default to left justify
|
46
46
|
end
|
47
|
-
print_column_separator unless index == (@columns.length - 1)
|
47
|
+
print_column_separator(io: io) unless index == (@columns.length - 1)
|
48
48
|
end
|
49
49
|
|
50
|
-
puts "\n"
|
51
|
-
print_header_line(@total_screen_columns)
|
50
|
+
io.puts "\n"
|
51
|
+
print_header_line(@total_screen_columns, io: io)
|
52
52
|
end
|
53
53
|
|
54
|
-
def print_row(*args)
|
54
|
+
def print_row(*args, io: $stdout)
|
55
55
|
exit unless columns_fit_screen?(@columns)
|
56
56
|
|
57
57
|
args.each_with_index do |element, index|
|
@@ -61,15 +61,15 @@ class FlexibleTable
|
|
61
61
|
output = get_printable_output(element, abs_width)
|
62
62
|
|
63
63
|
if(@columns[index].justify_row == :left)
|
64
|
-
printf("%s%-#{abs_width}s%s", color_prefix, output, color_suffix)
|
64
|
+
io.printf("%s%-#{abs_width}s%s", color_prefix, output, color_suffix)
|
65
65
|
elsif(@columns[index].justify_row == :right)
|
66
|
-
printf("%s%#{abs_width}s%s", color_prefix, output, color_suffix)
|
66
|
+
io.printf("%s%#{abs_width}s%s", color_prefix, output, color_suffix)
|
67
67
|
else
|
68
|
-
printf("%s%-#{abs_width}s%s", color_prefix, output, color_suffix) # default to left justify
|
68
|
+
io.printf("%s%-#{abs_width}s%s", color_prefix, output, color_suffix) # default to left justify
|
69
69
|
end
|
70
70
|
|
71
|
-
print_column_separator unless index == (@columns.length - 1)
|
71
|
+
print_column_separator(io: io) unless index == (@columns.length - 1)
|
72
72
|
end
|
73
|
-
puts "\n"
|
73
|
+
io.puts "\n"
|
74
74
|
end
|
75
75
|
end
|
data/lib/print_helper.rb
CHANGED
@@ -30,7 +30,7 @@ module PrintHelper
|
|
30
30
|
return str.to_s[0..(abs_width - 1)]
|
31
31
|
end
|
32
32
|
|
33
|
-
def print_header_line(total_screen_columns)
|
33
|
+
def print_header_line(total_screen_columns, io: stdout)
|
34
34
|
line_header = ''
|
35
35
|
separator = tty_supports_unicode? ? "\u2500" : '-'
|
36
36
|
|
@@ -39,7 +39,7 @@ module PrintHelper
|
|
39
39
|
line_header << separator
|
40
40
|
end
|
41
41
|
end
|
42
|
-
puts "#{line_header}\n"
|
42
|
+
io.puts "#{line_header}\n"
|
43
43
|
end
|
44
44
|
|
45
45
|
def columns_fit_screen?(columns)
|
@@ -55,10 +55,10 @@ module PrintHelper
|
|
55
55
|
end
|
56
56
|
end
|
57
57
|
|
58
|
-
def print_column_separator
|
58
|
+
def print_column_separator(io: $stdout)
|
59
59
|
separator = tty_supports_unicode? ? "\u2502" : '|'
|
60
60
|
|
61
|
-
printf(" #{separator} ")
|
61
|
+
io.printf(" #{separator} ")
|
62
62
|
end
|
63
63
|
|
64
64
|
private
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flexible_table
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brett Sykes
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-12-08 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Prints a table that can have different column widths that also respond
|
14
14
|
in size relative to the size of the terminal window
|
@@ -41,7 +41,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
41
41
|
version: '0'
|
42
42
|
requirements: []
|
43
43
|
rubyforge_project:
|
44
|
-
rubygems_version: 2.6.
|
44
|
+
rubygems_version: 2.6.8
|
45
45
|
signing_key:
|
46
46
|
specification_version: 4
|
47
47
|
summary: Prints a table that can have different column widths that also respond in
|