- def trace
- def warn_or_log msg
- if defined? Rails
- logger.debug msg
- else
- warn msg
- end
- end
- def debug
- $debug or (defined? Rails and Rails.env.development?)
- end
- set_trace_func(Proc.new {|event, file, line| warn_or_log "TRACE: #{file}:#{line}" if file == __FILE__ and event == 'line'}) if debug
- begin
- yield
- ensure
- set_trace_func nil if debug
- end
- end