class AfterDo::Logging::StateTransitionAspect
Attributes
logger[R]
target_class[R]
Public Class Methods
new(target_class, logger = AfterDo::Logging.logger)
click to toggle source
# File lib/after_do/logging/state_transition_aspect.rb, line 4 def initialize(target_class, logger = AfterDo::Logging.logger) @target_class = target_class @logger = logger end
Public Instance Methods
log_finish(target_method)
click to toggle source
# File lib/after_do/logging/state_transition_aspect.rb, line 19 def log_finish(target_method) target_class.after target_method do |*args, object| method = "#{target_class}##{target_method}" msg = "Finished #{id(object)}transition to #{object.status} " \ "with #{method}#{format_args(args)}" logger.info(msg) end end
log_start(target_method)
click to toggle source
# File lib/after_do/logging/state_transition_aspect.rb, line 9 def log_start(target_method) target_class.before target_method do |*args, object| method = "#{target_class}##{target_method}" msg = "Started #{id(object)}transition from #{object.status} " \ " with #{method}#{format_args(args)}" logger.info(msg) end end
Private Instance Methods
format_args(args)
click to toggle source
# File lib/after_do/logging/state_transition_aspect.rb, line 35 def format_args(args) "(#{args.join(', ')})" if args.any? end
id(object)
click to toggle source
# File lib/after_do/logging/state_transition_aspect.rb, line 39 def id(object) "[id=#{object.id}] " if object.respond_to?(:id) end