class MinitestLog::Element
Attributes
args[RW]
attributes[RW]
block_to_be_rescued[RW]
duration_to_be_included[RW]
element_name[RW]
log[RW]
pcdata[RW]
start_time[RW]
Public Class Methods
new(log, element_name, *args)
click to toggle source
# File lib/minitest_log.rb, line 479 def initialize(log, element_name, *args) self.log = log self.element_name = element_name self.args = args self.attributes = {} self.block_to_be_rescued = false self.duration_to_be_included = false self.pcdata = '' self.start_time = nil process_args put_element do put_attributes put_pcdata do_duration do do_block(&Proc.new) if block_given? end end end
Public Instance Methods
do_block() { || ... }
click to toggle source
# File lib/minitest_log.rb, line 548 def do_block if block_to_be_rescued begin yield rescue Exception => x log.put_element('rescued_exception', {:class => x.class, :message => x.message}) do log.put_element('backtrace') do backtrace = log_filter_backtrace(x.backtrace) log.put_pre(backtrace.join("\n")) end end log.counts[:error] += 1 end else yield end end
do_duration() { || ... }
click to toggle source
# File lib/minitest_log.rb, line 537 def do_duration self.start_time = Time.new yield if duration_to_be_included end_time = Time.now duration_f = end_time.to_f - start_time.to_f duration_s = format('%.3f', duration_f) log_put_attributes({:duration_seconds => duration_s}) end end
log_filter_backtrace(backtrace)
click to toggle source
# File lib/minitest_log.rb, line 576 def log_filter_backtrace(backtrace) log.send(:filter_backtrace, backtrace) end
log_put_attributes(attributes)
click to toggle source
# File lib/minitest_log.rb, line 572 def log_put_attributes(attributes) log.send(:put_attributes, attributes) end
log_puts(s)
click to toggle source
The called methods are private.
# File lib/minitest_log.rb, line 568 def log_puts(s) log.send(:log_puts, s) end
process_args()
click to toggle source
# File lib/minitest_log.rb, line 502 def process_args args.each do |arg| case when arg.kind_of?(Hash) self.attributes.merge!(arg) when arg.kind_of?(String) self.pcdata += arg when arg == :timestamp self.attributes[:timestamp] = MinitestLog.timestamp when arg == :duration self.duration_to_be_included = true when arg == :rescue self.block_to_be_rescued = true else self.pcdata = self.pcdata + arg.inspect end end end
put_attributes()
click to toggle source
# File lib/minitest_log.rb, line 527 def put_attributes log_put_attributes(attributes) end
put_element() { || ... }
click to toggle source
# File lib/minitest_log.rb, line 521 def put_element log_puts("BEGIN\t#{element_name}") yield log_puts("END\t#{element_name}") end
put_pcdata()
click to toggle source
# File lib/minitest_log.rb, line 531 def put_pcdata unless pcdata.empty? log.send(:put_pcdata, pcdata) end end