Reduce duplication in and between trace/null reporters

This commit is contained in:
Markus Schirp 2014-08-11 13:50:48 +00:00
parent e975bcfd6f
commit ee5f34e781
3 changed files with 10 additions and 97 deletions

View file

@ -1,3 +1,3 @@
---
threshold: 18
total_score: 1066
total_score: 1071

View file

@ -5,52 +5,10 @@ module Mutant
class Null < self
include Equalizer.new
# Write warning message
#
# @param [String] _message
#
# @return [self]
#
# @api private
#
def warn(_message)
self
end
# Report object
#
# @param [Object] _object
#
# @return [self]
#
# @api private
#
def report(_object)
self
end
# Report start
#
# @param [Object] _object
#
# @return [self]
#
# @api private
#
def start(_object)
self
end
# Report progress on object
#
# @param [Object] _object
#
# @return [self]
#
# @api private
#
def progress(_object)
self
%w[warn report start progress].each do |name|
define_method name do |_object|
self
end
end
end # Null

View file

@ -14,56 +14,11 @@ module Mutant
super(Hash[anima.attribute_names.map { |name| [name, []] }])
end
# Warn with message
#
# @param [String] message
#
# @return [self]
#
# @api private
#
def warn(message)
warn_calls << message
self
end
# Report object
#
# @param [Object] object
#
# @return [self]
#
# @api private
#
def report(object)
report_calls << object
self
end
# Report new progress on object
#
# @param [Object] object
#
# @return [self]
#
# @api private
#
def start(object)
start_calls << object
self
end
# Report new progress on object
#
# @param [Object] object
#
# @return [self]
#
# @api private
#
def progress(object)
progress_calls << object
self
%w[start progress report warn].each do |name|
define_method(name) do |object|
public_send(:"#{name}_calls") << object
self
end
end
end # Tracker