lib/leftovers.rb in leftovers-0.6.0 vs lib/leftovers.rb in leftovers-0.7.0
- old
+ new
@@ -4,15 +4,17 @@
class Error < ::StandardError; end
autoload(:AST, "#{__dir__}/leftovers/ast")
autoload(:CLI, "#{__dir__}/leftovers/cli")
autoload(:Collector, "#{__dir__}/leftovers/collector")
- autoload(:ConfigValidator, "#{__dir__}/leftovers/config_validator")
+ autoload(:ConfigLoader, "#{__dir__}/leftovers/config_loader")
autoload(:Config, "#{__dir__}/leftovers/config")
+ autoload(:Definition, "#{__dir__}/leftovers/definition")
autoload(:DefinitionNode, "#{__dir__}/leftovers/definition_node")
+ autoload(:DefinitionNodeSet, "#{__dir__}/leftovers/definition_node_set")
autoload(:DefinitionSet, "#{__dir__}/leftovers/definition_set")
- autoload(:Definition, "#{__dir__}/leftovers/definition")
+ autoload(:DefinitionToAdd, "#{__dir__}/leftovers/definition_to_add")
autoload(:ERB, "#{__dir__}/leftovers/erb")
autoload(:FileCollector, "#{__dir__}/leftovers/file_collector")
autoload(:FileList, "#{__dir__}/leftovers/file_list")
autoload(:File, "#{__dir__}/leftovers/file")
autoload(:Haml, "#{__dir__}/leftovers/haml")
@@ -29,10 +31,23 @@
autoload(:TodoReporter, "#{__dir__}/leftovers/todo_reporter")
autoload(:DynamicProcessors, "#{__dir__}/leftovers/dynamic_processors")
autoload(:ValueProcessors, "#{__dir__}/leftovers/value_processors")
autoload(:VERSION, "#{__dir__}/leftovers/version")
+ MEMOIZED_IVARS = %i{
+ @config
+ @collector
+ @reporter
+ @leftovers
+ @try_require_cache
+ @stdout
+ @stderr
+ @parallel
+ @pwd
+ @progress
+ }.freeze
+
class << self
attr_accessor :parallel, :progress
attr_writer :reporter
alias_method :parallel?, :parallel
alias_method :progress?, :progress
@@ -80,20 +95,14 @@
end
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)
- remove_instance_variable(:@reporter) if defined?(@reporter)
- remove_instance_variable(:@leftovers) if defined?(@leftovers)
- remove_instance_variable(:@try_require_cache) if defined?(@try_require_cache)
- 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)
+ def reset
+ MEMOIZED_IVARS.each do |ivar|
+ remove_instance_variable(ivar) if instance_variable_get(ivar)
+ end
end
def resolution_instructions_link
"https://github.com/robotdana/leftovers/tree/v#{Leftovers::VERSION}/README.md#how-to-resolve"
end
@@ -101,11 +110,11 @@
def warn(message)
stderr.puts("\e[2K#{message}")
end
def error(message)
- warn(message)
+ warn("\e[31m#{message}\e[0m")
exit 1
end
def puts(message)
stdout.puts("\e[2K#{message}")
@@ -135,10 +144,10 @@
def each_or_self(value, &block)
return enum_for(__method__, value) unless block
case value
when nil then nil
- when Array then value.each(&block)
+ when Array then value.each { |i| each_or_self(i, &block) }
else yield(value)
end
end
private