lib/leftovers.rb in leftovers-0.4.2 vs lib/leftovers.rb in leftovers-0.4.3
- old
+ new
@@ -24,18 +24,18 @@
autoload(:MergedConfig, "#{__dir__}/leftovers/merged_config")
autoload(:Parser, "#{__dir__}/leftovers/parser")
autoload(:ProcessorBuilders, "#{__dir__}/leftovers/processor_builders")
autoload(:RakeTask, "#{__dir__}/leftovers/rake_task")
autoload(:Reporter, "#{__dir__}/leftovers/reporter")
+ autoload(:TodoReporter, "#{__dir__}/leftovers/todo_reporter")
autoload(:DynamicProcessors, "#{__dir__}/leftovers/dynamic_processors")
autoload(:ValueProcessors, "#{__dir__}/leftovers/value_processors")
autoload(:VERSION, "#{__dir__}/leftovers/version")
class << self
- attr_accessor :parallel, :progress
+ attr_accessor :parallel, :progress, :reporter
alias_method :parallel?, :parallel
-
alias_method :progress?, :progress
end
def stdout
@stdout ||= $stdout
@@ -62,14 +62,14 @@
collector.collect
collector.definitions.reject(&:in_collection?)
end
end
- def run(stdout: StringIO.new, stderr: StringIO.new) # rubocop:disable Metrics/MethodLength, Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
+ def run(stdout: StringIO.new, stderr: StringIO.new) # rubocop:disable Metrics/MethodLength
@stdout = stdout
@stderr = stderr
- return 0 if leftovers.empty?
+ return reporter.report_success if leftovers.empty?
only_test = []
none = []
leftovers.sort_by(&:location_s).each do |definition|
if !definition.test? && definition.in_test_collection?
@@ -77,21 +77,11 @@
else
none << definition
end
end
- unless only_test.empty?
- puts "\e[31mOnly directly called in tests:\e[0m"
- only_test.each { |definition| reporter.call(definition) }
- end
-
- unless none.empty?
- puts "\e[31mNot directly called at all:\e[0m"
- none.each { |definition| reporter.call(definition) }
- end
-
- 1
+ reporter.report(only_test: only_test, none: none)
end
def reset # rubocop:disable Metrics/PerceivedComplexity, Metrics/CyclomaticComplexity
remove_instance_variable(:@config) if defined?(@config)
remove_instance_variable(:@collector) if defined?(@collector)
@@ -100,9 +90,13 @@
remove_instance_variable(:@try_require) if defined?(@try_require)
remove_instance_variable(:@stdout) if defined?(@stdout)
remove_instance_variable(:@stderr) if defined?(@stderr)
remove_instance_variable(:@parallel) if defined?(@parallel)
remove_instance_variable(:@pwd) if defined?(@pwd)
+ end
+
+ def resolution_instructions_link
+ "https://github.com/robotdana/leftovers/tree/v#{Leftovers::VERSION}/README.md#how_to_resolve"
end
def warn(message)
stderr.puts("\e[2K#{message}")
end