simplecov-console 0.7.0 → 0.7.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 598ac9ff4a2aab65354e06424d3e33647cb2ffc94acef55e41c06dacc770b4cc
4
- data.tar.gz: de3d31bc67c9e295710911f0c8d0fdc1edd23c1784c48416bcaf481c3b58095b
3
+ metadata.gz: 47674068cbbb506bb6d565cf8ed24c112e41331d62eb6607cb4a67945513fff5
4
+ data.tar.gz: 3ea9a7740fb46c53b0a9e06d4005828581c9d5b54743b216546685cd9c95e9b1
5
5
  SHA512:
6
- metadata.gz: 404d96b20f0dfb5abf1b1004738fdaa1675514f780f5bca0e89396feecdd9a2c1ed8032cecf2810b15ed3abc442a75b617f9c476c4bd8831bf32e7d725169c42
7
- data.tar.gz: 57d40a7ddb72a87e1f561209f67021cf49f5bd4ed016da026c15ebae43aaea16594a3e21069cc894a4fd3f36066380e55fe42096d41b56743b1f69dc28174a88
6
+ metadata.gz: a5928a536464a73295d9f19a059c61273cf5d80f32664c6fe931ccb60649191981fe3f031973400ed52aed55d6841a0909a866cb5465f065c9aa5e2e9c93d833
7
+ data.tar.gz: 667f7c5ba2be5ccd16112fb8ff87a168b534e09bdef50ffc8a6ce441e4a4dbc5a102386f23b91a208fe989906ad651500da71ee97d236dc8f6df555316e0ac5a
data/README.md CHANGED
@@ -133,6 +133,10 @@ coverage: 44.00% (28/50 lines)
133
133
 
134
134
  ## History
135
135
 
136
+ ### 0.7.1 (2020.03.05)
137
+
138
+ - Fix: block output doesn't work with frozen string literal ([#16](https://github.com/chetan/simplecov-console/issues/16))
139
+
136
140
  ### 0.7 (2020.03.04)
137
141
 
138
142
  - Added new 'block' style output option - thanks [@hpainter](https://github.com/hpainter)! ([#15](https://github.com/chetan/simplecov-console/issues/15))
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.7.0
1
+ 0.7.1
@@ -1,4 +1,3 @@
1
- require 'terminal-table'
2
1
  require 'ansi/code'
3
2
 
4
3
  class SimpleCov::Formatter::Console
@@ -28,6 +27,15 @@ class SimpleCov::Formatter::Console
28
27
 
29
28
  def format(result)
30
29
 
30
+ if SimpleCov::Formatter::Console.output_style == 'block' then
31
+ require 'simplecov-console/output/block'
32
+ extend BlockOutput
33
+ else
34
+ # default to table
35
+ require './output/table'
36
+ extend TableOutput
37
+ end
38
+
31
39
  root = nil
32
40
  if Module.const_defined? :ROOT then
33
41
  root = ROOT
@@ -76,8 +84,8 @@ class SimpleCov::Formatter::Console
76
84
  files = files.slice(0, max_rows)
77
85
  end
78
86
 
79
- puts send(SimpleCov::Formatter::Console.output_style << "_output",files,root)
80
-
87
+ puts output(files,root)
88
+
81
89
  if covered_files > 0 then
82
90
  puts "#{covered_files} file(s) with 100% coverage not shown"
83
91
  end
@@ -134,42 +142,4 @@ class SimpleCov::Formatter::Console
134
142
  end
135
143
  end
136
144
 
137
- # format per-file results output using Terminal::Table
138
- def table_output(files, root)
139
- table = files.map do |f|
140
- [
141
- colorize(pct(f)),
142
- f.filename.gsub(root + "/", ''),
143
- f.lines_of_code,
144
- f.missed_lines.count,
145
- missed(f.missed_lines).join(", ")
146
- ]
147
- end
148
-
149
- table_options = SimpleCov::Formatter::Console.table_options || {}
150
- if !table_options.kind_of?(Hash) then
151
- raise ArgumentError.new("SimpleCov::Formatter::Console.table_options must be a Hash")
152
- end
153
-
154
- headings = %w{ coverage file lines missed missing }
155
-
156
- opts = table_options.merge({:headings => headings, :rows => table})
157
- Terminal::Table.new(opts)
158
- end
159
-
160
- # format per-file results output as plain text blocks
161
- def block_output(files, root)
162
- blocks = []
163
- files.each do |f|
164
- block = []
165
- block << sprintf("%8.8s: %s", 'file', f.filename.gsub(root + "/", ''))
166
- block << sprintf("%8.8s: %s (%d/%d lines)", 'coverage',
167
- colorize(sprintf("%.2f%%", f.covered_percent)),
168
- f.covered_lines.count, f.lines_of_code)
169
- block << sprintf("%8.8s: %s", 'missed', missed(f.missed_lines).join(", "))
170
- blocks << block.join("\n")
171
- end
172
- "\n" << blocks.join("\n\n") << "\n\n"
173
- end
174
-
175
145
  end
@@ -0,0 +1,22 @@
1
+
2
+ class SimpleCov::Formatter::Console
3
+ module BlockOutput
4
+
5
+ # format per-file results output as plain text blocks
6
+ def output(files, root)
7
+ blocks = []
8
+ files.each do |f|
9
+ block = []
10
+ block << sprintf("%8.8s: %s", 'file', f.filename.gsub(root + "/", ''))
11
+ block << sprintf("%8.8s: %s (%d/%d lines)", 'coverage',
12
+ colorize(sprintf("%.2f%%", f.covered_percent)),
13
+ f.covered_lines.count, f.lines_of_code)
14
+ block << sprintf("%8.8s: %s", 'missed', missed(f.missed_lines).join(", "))
15
+ blocks << block.join("\n")
16
+ end
17
+
18
+ "\n" + blocks.join("\n\n") + "\n\n"
19
+ end
20
+
21
+ end
22
+ end
@@ -0,0 +1,30 @@
1
+ require 'terminal-table'
2
+
3
+ class SimpleCov::Formatter::Console
4
+ module TableOutput
5
+
6
+ # format per-file results output using Terminal::Table
7
+ def output(files, root)
8
+ table = files.map do |f|
9
+ [
10
+ colorize(pct(f)),
11
+ f.filename.gsub(root + "/", ''),
12
+ f.lines_of_code,
13
+ f.missed_lines.count,
14
+ missed(f.missed_lines).join(", ")
15
+ ]
16
+ end
17
+
18
+ table_options = SimpleCov::Formatter::Console.table_options || {}
19
+ if !table_options.kind_of?(Hash) then
20
+ raise ArgumentError.new("SimpleCov::Formatter::Console.table_options must be a Hash")
21
+ end
22
+
23
+ headings = %w{ coverage file lines missed missing }
24
+
25
+ opts = table_options.merge({:headings => headings, :rows => table})
26
+ Terminal::Table.new(opts)
27
+ end
28
+
29
+ end
30
+ end
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: simplecov-console 0.7.0 ruby lib
5
+ # stub: simplecov-console 0.7.1 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "simplecov-console".freeze
9
- s.version = "0.7.0"
9
+ s.version = "0.7.1"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib".freeze]
13
13
  s.authors = ["Chetan Sarva".freeze]
14
- s.date = "2020-03-03"
14
+ s.date = "2020-03-04"
15
15
  s.description = "Simple console output formatter for SimpleCov".freeze
16
16
  s.email = "chetan@pixelcop.net".freeze
17
17
  s.extra_rdoc_files = [
@@ -26,6 +26,8 @@ Gem::Specification.new do |s|
26
26
  "Rakefile",
27
27
  "VERSION",
28
28
  "lib/simplecov-console.rb",
29
+ "lib/simplecov-console/output/block.rb",
30
+ "lib/simplecov-console/output/table.rb",
29
31
  "simplecov-console.gemspec",
30
32
  "test/helper.rb",
31
33
  "test/test_simplecov-console.rb"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simplecov-console
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chetan Sarva
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-03 00:00:00.000000000 Z
11
+ date: 2020-03-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: simplecov
@@ -123,6 +123,8 @@ files:
123
123
  - Rakefile
124
124
  - VERSION
125
125
  - lib/simplecov-console.rb
126
+ - lib/simplecov-console/output/block.rb
127
+ - lib/simplecov-console/output/table.rb
126
128
  - simplecov-console.gemspec
127
129
  - test/helper.rb
128
130
  - test/test_simplecov-console.rb