Module: CheapAdvice::Trace::Behavior

Defined in:
lib/cheap_advice/trace.rb

Instance Method Summary (collapse)

Instance Method Details

- (Object) log(dst, msg = nil)



60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# File 'lib/cheap_advice/trace.rb', line 60

def log dst, msg = nil
  return msg unless dst
  msg ||= yield if block_given?
  return msg if msg.nil?
  case dst
  when IO
    dst.seek(0, IO::SEEK_END)
    dst.puts msg.to_s
    dst.flush
  when Proc
    dst.call(msg)
  else
    dst.send(logger_method || :debug, msg)
  end
  msg
end

- (Object) log_all(msg = nil)



77
78
79
80
81
82
# File 'lib/cheap_advice/trace.rb', line 77

def log_all msg = nil
  logger.values.each do | dst |
    log(dst) { msg ||= yield if block_given?; msg }
  end
  msg
end

- (Object) log_prefix



51
52
53
54
55
56
57
58
# File 'lib/cheap_advice/trace.rb', line 51

def log_prefix
  case pre = @options[:log_prefix]
  when Proc
    pre.call
  else
    pre
  end
end

- (Object) logger



45
46
47
# File 'lib/cheap_advice/trace.rb', line 45

def logger
  @options[:logger] ||= { }
end

- (Object) logger_method



48
49
50
# File 'lib/cheap_advice/trace.rb', line 48

def logger_method
  @options[:logger_method]
end