minitest-reporters 1.0.20 → 1.1.0.beta1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 57eec0a8ad1eb8c9b6b8075626b17ebea7d8c08c
4
- data.tar.gz: 4b0294b03a67e4ef5a2e71d7bf65da1908dd7982
3
+ metadata.gz: 453fd9a440eec05f750685b983f9ca37a4297462
4
+ data.tar.gz: f72150a110db58c7ce015395c5a17d20f7c7d4c2
5
5
  SHA512:
6
- metadata.gz: b1720be73c2f95f588b7a8414d58b7ca1ddc8b15a2d2749e27d5dcf5da5f760b20a65219bd347eac435a4fb4eba0038f1ab5fd35b9b73d665bdf7811e0cd9ef6
7
- data.tar.gz: c2076ff35c1d384d240d615445f97c5e450700a0c8e799d0a905cdd6297c2788bbb15327b505a2690cdc8fbf99cceb862f981f474a161ed8ef928f1ac93ba7b8
6
+ metadata.gz: c62c7392c5f919ca42c1c99605c3b080dc83c3864e779e88706205706a7eaec50b57852dada9bee2f8b82a03e40babccb3ec26d488bb6f88b7bc00f849ae1724
7
+ data.tar.gz: 947d6aad22baf0d49c5569672dc293ba6a84a2f705164c58270656651910bfc815f19421e25e056952d8aebb9552a04edb6134d12b23a2f5302c36e8f7d5ab24
@@ -1,33 +1,69 @@
1
1
  module Minitest
2
- class << self
3
- def plugin_minitest_reporter_init(options)
4
- if defined?(Minitest::Reporters) && Minitest::Reporters.reporters
5
- reporter.reporters = Minitest::Reporters.reporters + guard_reporter
6
- reporter.reporters.each do |reporter|
7
- reporter.io = options[:io]
8
- reporter.add_defaults(options.merge(:total_count => total_count(options))) if reporter.respond_to? :add_defaults
2
+ module Reporters
3
+ class DelegateReporter
4
+ def initialize(reporters, options = {})
5
+ @reporters = reporters
6
+ @options = options
7
+ @all_reporters = nil
8
+ end
9
+
10
+ def start
11
+ all_reporters.each(&:start)
12
+ end
13
+
14
+ def record(result)
15
+ all_reporters.each do |reporter|
16
+ reporter.record result
9
17
  end
10
18
  end
11
- end
12
19
 
13
- private
20
+ def report
21
+ all_reporters.each(&:report)
22
+ end
14
23
 
15
- # stolen from minitest self.run
16
- def total_count(options)
17
- filter = options[:filter] || '/./'
18
- filter = Regexp.new $1 if filter =~ /\/(.*)\//
24
+ def passed?
25
+ all_reporters.all?(&:passed?)
26
+ end
19
27
 
20
- Minitest::Runnable.runnables.map(&:runnable_methods).flatten.find_all { |m|
21
- filter === m || filter === "#{self}##{m}"
22
- }.size
23
- end
28
+ private
29
+ # stolen from minitest self.run
30
+ def total_count(options)
31
+ filter = options[:filter] || '/./'
32
+ filter = Regexp.new $1 if filter =~ /\/(.*)\//
24
33
 
25
- def guard_reporter
26
- guards = Array(reporter.reporters.detect { |r| r.class.name == "Guard::Minitest::Reporter" })
27
- return guards unless ENV['RM_INFO']
34
+ Minitest::Runnable.runnables.map(&:runnable_methods).flatten.find_all { |m|
35
+ filter === m || filter === "#{self}##{m}"
36
+ }.size
37
+ end
28
38
 
29
- warn 'RM_INFO is set thus guard reporter has been dropped' unless guards.empty?
30
- []
39
+ def guard_reporter(reporters)
40
+ guards = Array(reporters.detect { |r| r.class.name == "Guard::Minitest::Reporter" })
41
+ return guards unless ENV['RM_INFO']
42
+
43
+ warn 'RM_INFO is set thus guard reporter has been dropped' unless guards.empty?
44
+ []
45
+ end
46
+
47
+ def all_reporters
48
+ if @all_reporters.nil?
49
+ if Minitest::Reporters.reporters
50
+ @all_reporters = Minitest::Reporters.reporters + guard_reporter(@reporters)
51
+ @all_reporters.each do |reporter|
52
+ reporter.io = @options[:io]
53
+ reporter.add_defaults(@options.merge(:total_count => total_count(@options))) if reporter.respond_to? :add_defaults
54
+ end
55
+ else
56
+ @all_reporters = @reporters
57
+ end
58
+ end
59
+ @all_reporters
60
+ end
61
+ end
62
+ end
63
+
64
+ class << self
65
+ def plugin_minitest_reporter_init(options)
66
+ reporter.reporters = [Minitest::Reporters::DelegateReporter.new(reporter.reporters, options)]
31
67
  end
32
68
  end
33
69
  end
@@ -1,5 +1,5 @@
1
1
  module Minitest
2
2
  module Reporters
3
- VERSION = '1.0.20'
3
+ VERSION = '1.1.0.beta1'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: minitest-reporters
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.20
4
+ version: 1.1.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Kern
@@ -155,9 +155,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
155
155
  version: 1.9.3
156
156
  required_rubygems_version: !ruby/object:Gem::Requirement
157
157
  requirements:
158
- - - ">="
158
+ - - ">"
159
159
  - !ruby/object:Gem::Version
160
- version: '0'
160
+ version: 1.3.1
161
161
  requirements: []
162
162
  rubyforge_project: minitest-reporters
163
163
  rubygems_version: 2.4.5