command_line_reporter 3.3.2 → 3.3.3
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/command_line_reporter/row.rb +10 -5
- data/lib/command_line_reporter/table.rb +5 -2
- data/lib/command_line_reporter/version.rb +1 -1
- data/spec/column_spec.rb +1 -1
- data/spec/row_spec.rb +4 -4
- data/spec/table_spec.rb +19 -10
- 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: 7af9e346471d5d64eb47ae615f8727bec71f8d1d
|
4
|
+
data.tar.gz: 1c3b3a8d4d997968627565d3eac3e8085fc98d1b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 92a0e813eb7187cc98ba1085c2496186ba1d2079c07bcae14bb72beb9705549356ec10a6b4e0ada12f7bfb583b4707db70b17df87fdb57bac706d54625c346d1
|
7
|
+
data.tar.gz: 05dc7b7167b5b3dcdf21cd70814d1847078bd858d99345215e99ad53a69e7dc7f062e36b594b81c89660498789c0840503f1e37607a358ca2160ad992c8d9bca
|
@@ -2,7 +2,7 @@ module CommandLineReporter
|
|
2
2
|
class Row
|
3
3
|
include OptionsValidator
|
4
4
|
|
5
|
-
VALID_OPTIONS = [:header, :color, :bold, :encoding]
|
5
|
+
VALID_OPTIONS = [:header, :color, :border_color, :bold, :encoding]
|
6
6
|
attr_accessor :columns, :border, *VALID_OPTIONS
|
7
7
|
|
8
8
|
def initialize(options = {})
|
@@ -12,6 +12,7 @@ module CommandLineReporter
|
|
12
12
|
self.border = false
|
13
13
|
self.header = options[:header] || false
|
14
14
|
self.color = options[:color]
|
15
|
+
self.border_color = options[:border_color]
|
15
16
|
self.bold = options[:bold] || false
|
16
17
|
self.encoding = options[:encoding] || :unicode
|
17
18
|
end
|
@@ -31,6 +32,7 @@ module CommandLineReporter
|
|
31
32
|
def output
|
32
33
|
screen_count.times do |sr|
|
33
34
|
border_char = use_utf8? ? "\u2503" : '|'
|
35
|
+
border_char = border_char.send(self.border_color) if self.border_color
|
34
36
|
|
35
37
|
line = (self.border) ? "#{border_char} " : ''
|
36
38
|
|
@@ -44,7 +46,7 @@ module CommandLineReporter
|
|
44
46
|
# c1.screen_rows.size == 5
|
45
47
|
# c2.screen_rows.size == 2
|
46
48
|
#
|
47
|
-
# So when we don't have a screen row for c2 we need to fill the screen with the
|
49
|
+
# So when we don't have a screen row for c2 we need to fill the screen with the
|
48
50
|
# proper number of blanks so the layout looks like (parenthesis on the right just
|
49
51
|
# indicate screen row index)
|
50
52
|
#
|
@@ -56,12 +58,15 @@ module CommandLineReporter
|
|
56
58
|
# | xxxxxxxxxxx | | (4)
|
57
59
|
# +-------------+------------+
|
58
60
|
if col.screen_rows[sr].nil?
|
59
|
-
line << ' ' * col.width
|
61
|
+
line << ' ' * col.width << ' '
|
60
62
|
else
|
61
|
-
line <<
|
63
|
+
line << self.columns[mc].screen_rows[sr] << ' '
|
62
64
|
end
|
63
65
|
|
64
|
-
|
66
|
+
if self.border
|
67
|
+
line << border_char
|
68
|
+
line << ' ' if mc < self.columns.size - 1
|
69
|
+
end
|
65
70
|
end
|
66
71
|
|
67
72
|
puts line
|
@@ -2,13 +2,14 @@ module CommandLineReporter
|
|
2
2
|
class Table
|
3
3
|
include OptionsValidator
|
4
4
|
|
5
|
-
VALID_OPTIONS = [:border, :width, :encoding]
|
5
|
+
VALID_OPTIONS = [:border, :border_color, :width, :encoding]
|
6
6
|
attr_accessor :rows, *VALID_OPTIONS
|
7
7
|
|
8
8
|
def initialize(options = {})
|
9
9
|
self.validate_options(options, *VALID_OPTIONS)
|
10
10
|
|
11
11
|
self.border = options[:border] || false
|
12
|
+
self.border_color = options[:border_color] || false
|
12
13
|
self.width = options[:width] || false
|
13
14
|
self.encoding = options[:encoding] || CommandLineReporter::DEFAULTS[:encoding]
|
14
15
|
|
@@ -20,6 +21,7 @@ module CommandLineReporter
|
|
20
21
|
def add(row)
|
21
22
|
# Inheritance from the table
|
22
23
|
row.border = self.border
|
24
|
+
row.border_color = self.border_color
|
23
25
|
|
24
26
|
# Inherit properties from the appropriate row
|
25
27
|
inherit_column_attrs(row) if self.rows[0]
|
@@ -60,7 +62,8 @@ module CommandLineReporter
|
|
60
62
|
def separator(type = 'middle')
|
61
63
|
left, center, right, bar = use_utf8? ? utf8_separator(type) : ascii_separator
|
62
64
|
|
63
|
-
left + self.rows[0].columns.map {|c| bar * (c.width + 2)}.join(center) + right
|
65
|
+
separator_str = left + self.rows[0].columns.map {|c| bar * (c.width + 2)}.join(center) + right
|
66
|
+
separator_str.send(self.border_color) if self.border_color
|
64
67
|
end
|
65
68
|
|
66
69
|
def use_utf8?
|
data/spec/column_spec.rb
CHANGED
@@ -37,7 +37,7 @@ describe CommandLineReporter::Column do
|
|
37
37
|
end
|
38
38
|
|
39
39
|
it 'accepts bold' do
|
40
|
-
expect(CommandLineReporter::Column.new('asdf', :bold => true).bold).to
|
40
|
+
expect(CommandLineReporter::Column.new('asdf', :bold => true).bold).to be true
|
41
41
|
end
|
42
42
|
|
43
43
|
it 'defaults the padding' do
|
data/spec/row_spec.rb
CHANGED
@@ -5,7 +5,7 @@ describe CommandLineReporter::Row do
|
|
5
5
|
|
6
6
|
describe '#initialize' do
|
7
7
|
it 'accepts header' do
|
8
|
-
expect(CommandLineReporter::Row.new(:header => true).header).to
|
8
|
+
expect(CommandLineReporter::Row.new(:header => true).header).to be true
|
9
9
|
end
|
10
10
|
|
11
11
|
it 'accepts color' do
|
@@ -13,7 +13,7 @@ describe CommandLineReporter::Row do
|
|
13
13
|
end
|
14
14
|
|
15
15
|
it 'accepts bold' do
|
16
|
-
expect(CommandLineReporter::Row.new(:bold => true).bold).to
|
16
|
+
expect(CommandLineReporter::Row.new(:bold => true).bold).to be true
|
17
17
|
end
|
18
18
|
|
19
19
|
it 'output encoding should be ascii' do
|
@@ -55,9 +55,9 @@ describe CommandLineReporter::Row do
|
|
55
55
|
it 'supercedes bold on columns' do
|
56
56
|
row = CommandLineReporter::Row.new(:bold => true)
|
57
57
|
row.add(cols[0])
|
58
|
-
expect(row.columns[0].bold).to
|
58
|
+
expect(row.columns[0].bold).to be true
|
59
59
|
row.add(cols[1])
|
60
|
-
expect(row.columns[1].bold).to
|
60
|
+
expect(row.columns[1].bold).to be true
|
61
61
|
end
|
62
62
|
end
|
63
63
|
|
data/spec/table_spec.rb
CHANGED
@@ -9,13 +9,21 @@ describe CommandLineReporter::Table do
|
|
9
9
|
end
|
10
10
|
|
11
11
|
it 'defaults the border' do
|
12
|
-
expect(CommandLineReporter::Table.new.border).to
|
12
|
+
expect(CommandLineReporter::Table.new.border).to be false
|
13
13
|
end
|
14
14
|
|
15
15
|
it 'accepts the border' do
|
16
16
|
expect(CommandLineReporter::Table.new(:border => true).border).to eq(true)
|
17
17
|
end
|
18
18
|
|
19
|
+
it 'defaults the border_color' do
|
20
|
+
expect(CommandLineReporter::Table.new.border_color).to be false
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'accepts the border_color' do
|
24
|
+
expect(CommandLineReporter::Table.new(:border_color => true).border_color).to eq(true)
|
25
|
+
end
|
26
|
+
|
19
27
|
it 'output encoding should be ascii' do
|
20
28
|
expect(CommandLineReporter::Table.new(:encoding => :ascii).encoding).to eq(:ascii)
|
21
29
|
end
|
@@ -76,10 +84,10 @@ describe CommandLineReporter::Table do
|
|
76
84
|
end
|
77
85
|
|
78
86
|
it 'bold' do
|
79
|
-
expect(@table.rows[1].columns[0].bold).to
|
80
|
-
expect(@table.rows[1].columns[1].bold).to
|
81
|
-
expect(@table.rows[1].columns[2].bold).to
|
82
|
-
expect(@table.rows[1].columns[3].bold).to
|
87
|
+
expect(@table.rows[1].columns[0].bold).to be false
|
88
|
+
expect(@table.rows[1].columns[1].bold).to be false
|
89
|
+
expect(@table.rows[1].columns[2].bold).to be false
|
90
|
+
expect(@table.rows[1].columns[3].bold).to be true
|
83
91
|
end
|
84
92
|
end
|
85
93
|
|
@@ -102,16 +110,17 @@ describe CommandLineReporter::Table do
|
|
102
110
|
end
|
103
111
|
|
104
112
|
it 'bold' do
|
105
|
-
expect(@table.rows[1].columns[0].bold).to
|
106
|
-
expect(@table.rows[1].columns[0].bold).to
|
107
|
-
expect(@table.rows[1].columns[1].bold).to
|
108
|
-
expect(@table.rows[1].columns[2].bold).to
|
109
|
-
expect(@table.rows[1].columns[3].bold).to
|
113
|
+
expect(@table.rows[1].columns[0].bold).to be false
|
114
|
+
expect(@table.rows[1].columns[0].bold).to be false
|
115
|
+
expect(@table.rows[1].columns[1].bold).to be false
|
116
|
+
expect(@table.rows[1].columns[2].bold).to be false
|
117
|
+
expect(@table.rows[1].columns[3].bold).to be true
|
110
118
|
end
|
111
119
|
end
|
112
120
|
end
|
113
121
|
end
|
114
122
|
|
123
|
+
|
115
124
|
describe '#auto_adjust_widths' do
|
116
125
|
it 'sets the widths of each column in each row to the maximum required width for that column' do
|
117
126
|
table = CommandLineReporter::Table.new.tap do |t|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: command_line_reporter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.3.
|
4
|
+
version: 3.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Wes
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2015-01-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -84,7 +84,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
84
84
|
version: '0'
|
85
85
|
requirements: []
|
86
86
|
rubyforge_project:
|
87
|
-
rubygems_version: 2.
|
87
|
+
rubygems_version: 2.4.5
|
88
88
|
signing_key:
|
89
89
|
specification_version: 4
|
90
90
|
summary: A tool for providing interactive command line applications
|