command_line_reporter 3.3.0 → 3.3.1
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 +7 -0
- data/lib/command_line_reporter.rb +14 -8
- data/lib/command_line_reporter/column.rb +16 -13
- data/lib/command_line_reporter/row.rb +10 -2
- data/lib/command_line_reporter/table.rb +4 -4
- data/lib/command_line_reporter/version.rb +1 -1
- data/spec/nested_formatter_spec.rb +3 -3
- data/spec/row_spec.rb +1 -1
- metadata +13 -22
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 9f17fc6c5835de05207956fd35a3f0d084066afb
|
4
|
+
data.tar.gz: 1d538a2574f787c91d48883dfe07e08042c816f5
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 72b7895cec242dca32f1c5522de0877b162c39f5cb1413973ccac7f3d73e8155836b21751a8ec120071f07127b8796e7c8898b19fb9f98e3181dc93354c7fd18
|
7
|
+
data.tar.gz: 6e853ae616c1c93387d509cd520767ce070590f8ac8ac8b9ea84e31fa33f82368849baf49433618c85fb3a946e8739cc9a44b0b1d0c325ae69c3d8b03e20a3e1
|
@@ -140,14 +140,7 @@ module CommandLineReporter
|
|
140
140
|
private
|
141
141
|
|
142
142
|
def section(type, options)
|
143
|
-
|
144
|
-
|
145
|
-
title = options[:title] || 'Report'
|
146
|
-
width = options[:width] || DEFAULTS[:width]
|
147
|
-
align = options[:align] || DEFAULTS[:align]
|
148
|
-
lines = options[:spacing] || 1
|
149
|
-
color = options[:color]
|
150
|
-
bold = options[:bold] || false
|
143
|
+
title, width, align, lines, color, bold = assign_section_properties(options)
|
151
144
|
|
152
145
|
# This also ensures that width is a Fixnum
|
153
146
|
raise ArgumentError if title.size > width
|
@@ -165,4 +158,17 @@ module CommandLineReporter
|
|
165
158
|
vertical_spacing(lines)
|
166
159
|
end
|
167
160
|
end
|
161
|
+
|
162
|
+
def assign_section_properties options
|
163
|
+
validate_options(options, :title, :width, :align, :spacing, :timestamp, :rule, :color, :bold)
|
164
|
+
|
165
|
+
title = options[:title] || 'Report'
|
166
|
+
width = options[:width] || DEFAULTS[:width]
|
167
|
+
align = options[:align] || DEFAULTS[:align]
|
168
|
+
lines = options[:spacing] || 1
|
169
|
+
color = options[:color]
|
170
|
+
bold = options[:bold] || false
|
171
|
+
|
172
|
+
return [title, width, align, lines, color, bold]
|
173
|
+
end
|
168
174
|
end
|
@@ -46,23 +46,26 @@ module CommandLineReporter
|
|
46
46
|
# NOTE: For making underline and reversed work Change so that based on the
|
47
47
|
# unformatted text it determines how much spacing to add left and right
|
48
48
|
# then colorize the cell text
|
49
|
-
cell =
|
50
|
-
' ' * self.size
|
51
|
-
else
|
52
|
-
case self.align
|
53
|
-
when 'left'
|
54
|
-
str.ljust(self.size)
|
55
|
-
when 'right'
|
56
|
-
str.rjust(self.size)
|
57
|
-
when 'center'
|
58
|
-
str.ljust((self.size - str.size)/2.0 + str.size).rjust(self.size)
|
59
|
-
end
|
60
|
-
end
|
61
|
-
|
49
|
+
cell = str.empty? ? blank_cell : aligned_cell(str)
|
62
50
|
padding_str = ' ' * self.padding
|
63
51
|
padding_str + colorize(cell) + padding_str
|
64
52
|
end
|
65
53
|
|
54
|
+
def blank_cell
|
55
|
+
' ' * self.size
|
56
|
+
end
|
57
|
+
|
58
|
+
def aligned_cell(str)
|
59
|
+
case self.align
|
60
|
+
when 'left'
|
61
|
+
str.ljust(self.size)
|
62
|
+
when 'right'
|
63
|
+
str.rjust(self.size)
|
64
|
+
when 'center'
|
65
|
+
str.ljust((self.size - str.size)/2.0 + str.size).rjust(self.size)
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
66
69
|
def colorize(str)
|
67
70
|
str = str.send(color) if self.color
|
68
71
|
str = str.send('bold') if self.bold
|
@@ -13,7 +13,7 @@ module CommandLineReporter
|
|
13
13
|
self.header = options[:header] || false
|
14
14
|
self.color = options[:color]
|
15
15
|
self.bold = options[:bold] || false
|
16
|
-
self.encoding = options[:encoding] ||
|
16
|
+
self.encoding = options[:encoding] || :unicode
|
17
17
|
|
18
18
|
end
|
19
19
|
|
@@ -31,8 +31,10 @@ module CommandLineReporter
|
|
31
31
|
|
32
32
|
def output
|
33
33
|
screen_count.times do |sr|
|
34
|
-
border_char =
|
34
|
+
border_char = use_utf8? ? "\u2503" : '|'
|
35
|
+
|
35
36
|
line = (self.border) ? "#{border_char} " : ''
|
37
|
+
|
36
38
|
self.columns.size.times do |mc|
|
37
39
|
col = self.columns[mc]
|
38
40
|
# Account for the fact that some columns will have more screen rows than their
|
@@ -59,8 +61,10 @@ module CommandLineReporter
|
|
59
61
|
else
|
60
62
|
line << self.columns[mc].screen_rows[sr]
|
61
63
|
end
|
64
|
+
|
62
65
|
line << ' ' + ((self.border) ? "#{border_char} " : '')
|
63
66
|
end
|
67
|
+
|
64
68
|
puts line
|
65
69
|
end
|
66
70
|
end
|
@@ -70,5 +74,9 @@ module CommandLineReporter
|
|
70
74
|
def screen_count
|
71
75
|
@sc ||= self.columns.inject(0) {|max,column| column.screen_rows.size > max ? column.screen_rows.size : max}
|
72
76
|
end
|
77
|
+
|
78
|
+
def use_utf8?
|
79
|
+
self.encoding == :unicode && "\u2501" != "u2501"
|
80
|
+
end
|
73
81
|
end
|
74
82
|
end
|
@@ -58,13 +58,13 @@ module CommandLineReporter
|
|
58
58
|
private
|
59
59
|
|
60
60
|
def separator(type = 'middle')
|
61
|
-
left,
|
61
|
+
left, center, right, bar = use_utf8? ? utf8_separator(type) : ascii_separator
|
62
62
|
|
63
63
|
left + self.rows[0].columns.map {|c| bar * (c.width + 2)}.join(center) + right
|
64
64
|
end
|
65
65
|
|
66
66
|
def use_utf8?
|
67
|
-
self.encoding == :
|
67
|
+
self.encoding == :unicode && "\u2501" != "u2501"
|
68
68
|
end
|
69
69
|
|
70
70
|
def ascii_separator
|
@@ -76,7 +76,7 @@ module CommandLineReporter
|
|
76
76
|
def utf8_separator(type)
|
77
77
|
bar = "\u2501"
|
78
78
|
|
79
|
-
left,
|
79
|
+
left, center, right = case type
|
80
80
|
when 'first'
|
81
81
|
["\u250F", "\u2533", "\u2513"]
|
82
82
|
when 'middle'
|
@@ -85,7 +85,7 @@ module CommandLineReporter
|
|
85
85
|
["\u2517", "\u253B", "\u251B"]
|
86
86
|
end
|
87
87
|
|
88
|
-
[left,
|
88
|
+
[left, center, right, bar]
|
89
89
|
end
|
90
90
|
|
91
91
|
def inherit_column_attrs(row)
|
@@ -30,7 +30,7 @@ describe CommandLineReporter::NestedFormatter do
|
|
30
30
|
|
31
31
|
describe '#format' do
|
32
32
|
context 'argument validation' do
|
33
|
-
before :
|
33
|
+
before :each do
|
34
34
|
@indent_size = subject.indent_size
|
35
35
|
end
|
36
36
|
|
@@ -63,7 +63,7 @@ describe CommandLineReporter::NestedFormatter do
|
|
63
63
|
end
|
64
64
|
|
65
65
|
context 'not nested' do
|
66
|
-
before :
|
66
|
+
before :each do
|
67
67
|
@complete_string = subject.complete_string
|
68
68
|
@indent_size = subject.indent_size
|
69
69
|
end
|
@@ -155,7 +155,7 @@ describe CommandLineReporter::NestedFormatter do
|
|
155
155
|
end
|
156
156
|
|
157
157
|
context 'nested commands' do
|
158
|
-
before :
|
158
|
+
before :each do
|
159
159
|
@indent_size = subject.indent_size
|
160
160
|
end
|
161
161
|
|
data/spec/row_spec.rb
CHANGED
metadata
CHANGED
@@ -1,8 +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.
|
5
|
-
prerelease:
|
4
|
+
version: 3.3.1
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Wes
|
@@ -10,38 +9,34 @@ authors:
|
|
10
9
|
autorequire:
|
11
10
|
bindir: bin
|
12
11
|
cert_chain: []
|
13
|
-
date: 2014-02-
|
12
|
+
date: 2014-02-26 00:00:00.000000000 Z
|
14
13
|
dependencies:
|
15
14
|
- !ruby/object:Gem::Dependency
|
16
15
|
name: bundler
|
17
16
|
requirement: !ruby/object:Gem::Requirement
|
18
|
-
none: false
|
19
17
|
requirements:
|
20
|
-
- -
|
18
|
+
- - ">="
|
21
19
|
- !ruby/object:Gem::Version
|
22
20
|
version: 1.0.0
|
23
21
|
type: :development
|
24
22
|
prerelease: false
|
25
23
|
version_requirements: !ruby/object:Gem::Requirement
|
26
|
-
none: false
|
27
24
|
requirements:
|
28
|
-
- -
|
25
|
+
- - ">="
|
29
26
|
- !ruby/object:Gem::Version
|
30
27
|
version: 1.0.0
|
31
28
|
- !ruby/object:Gem::Dependency
|
32
29
|
name: colored
|
33
30
|
requirement: !ruby/object:Gem::Requirement
|
34
|
-
none: false
|
35
31
|
requirements:
|
36
|
-
- -
|
32
|
+
- - ">="
|
37
33
|
- !ruby/object:Gem::Version
|
38
34
|
version: '1.2'
|
39
35
|
type: :runtime
|
40
36
|
prerelease: false
|
41
37
|
version_requirements: !ruby/object:Gem::Requirement
|
42
|
-
none: false
|
43
38
|
requirements:
|
44
|
-
- -
|
39
|
+
- - ">="
|
45
40
|
- !ruby/object:Gem::Version
|
46
41
|
version: '1.2'
|
47
42
|
description: This gem makes it easy to provide a report while your ruby script is
|
@@ -51,6 +46,8 @@ executables: []
|
|
51
46
|
extensions: []
|
52
47
|
extra_rdoc_files: []
|
53
48
|
files:
|
49
|
+
- README.md
|
50
|
+
- lib/command_line_reporter.rb
|
54
51
|
- lib/command_line_reporter/column.rb
|
55
52
|
- lib/command_line_reporter/formatter/nested.rb
|
56
53
|
- lib/command_line_reporter/formatter/progress.rb
|
@@ -58,8 +55,6 @@ files:
|
|
58
55
|
- lib/command_line_reporter/row.rb
|
59
56
|
- lib/command_line_reporter/table.rb
|
60
57
|
- lib/command_line_reporter/version.rb
|
61
|
-
- lib/command_line_reporter.rb
|
62
|
-
- README.md
|
63
58
|
- spec/column_spec.rb
|
64
59
|
- spec/command_line_reporter_spec.rb
|
65
60
|
- spec/nested_formatter_spec.rb
|
@@ -72,30 +67,26 @@ files:
|
|
72
67
|
- spec/table_spec.rb
|
73
68
|
homepage: http://github.com/wbailey/command_line_reporter
|
74
69
|
licenses: []
|
70
|
+
metadata: {}
|
75
71
|
post_install_message:
|
76
72
|
rdoc_options: []
|
77
73
|
require_paths:
|
78
74
|
- lib
|
79
75
|
required_ruby_version: !ruby/object:Gem::Requirement
|
80
|
-
none: false
|
81
76
|
requirements:
|
82
|
-
- -
|
77
|
+
- - ">="
|
83
78
|
- !ruby/object:Gem::Version
|
84
79
|
version: '0'
|
85
|
-
segments:
|
86
|
-
- 0
|
87
|
-
hash: -3116512959293506911
|
88
80
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
81
|
requirements:
|
91
|
-
- -
|
82
|
+
- - ">="
|
92
83
|
- !ruby/object:Gem::Version
|
93
84
|
version: '0'
|
94
85
|
requirements: []
|
95
86
|
rubyforge_project:
|
96
|
-
rubygems_version:
|
87
|
+
rubygems_version: 2.2.2
|
97
88
|
signing_key:
|
98
|
-
specification_version:
|
89
|
+
specification_version: 4
|
99
90
|
summary: A tool for providing interactive command line applications
|
100
91
|
test_files:
|
101
92
|
- spec/column_spec.rb
|