class RubySnooper::TraceWriter::Line
Attributes
code[R]
event[R]
local_variables[R]
method_id[R]
modified_variables[R]
new_variables[R]
number[R]
time[R]
Public Class Methods
new(method_id, event, number, time, code, local_variables, new_variables, modified_variables, file_path)
click to toggle source
# File lib/ruby_snooper/trace_writer.rb, line 66 def initialize(method_id, event, number, time, code, local_variables, new_variables, modified_variables, file_path) @method_id = method_id @event = event @number = number @time = time @code = code @local_variables = local_variables @new_variables = new_variables @modified_variables = modified_variables @file_path = file_path end
Public Instance Methods
print()
click to toggle source
# File lib/ruby_snooper/trace_writer.rb, line 78 def print STDERR.puts "From #{@file_path}" if @event == :call print_variables STDERR.puts "#{Time.now.strftime("%T,%L")} #{@event} #{number.to_s.rjust(4)} #{code_colorized(code)}" end
Private Instance Methods
code_colorized(str)
click to toggle source
# File lib/ruby_snooper/trace_writer.rb, line 102 def code_colorized(str) ::CodeRay.scan(str, :ruby).term end
colorized(str)
click to toggle source
# File lib/ruby_snooper/trace_writer.rb, line 106 def colorized(str) "\e[0;31m#{str}\e[0m" end
print_variables()
click to toggle source
# File lib/ruby_snooper/trace_writer.rb, line 86 def print_variables case @event when :call STDERR.puts colorized("Starting var #{variables_str(@local_variables)}") when :line STDERR.puts colorized("New var #{variables_str(@new_variables)}") if @new_variables.count > 0 STDERR.puts colorized("Modified var #{variables_str(@modified_variables)}") if @modified_variables.count > 0 end end
variables_str(variables)
click to toggle source
# File lib/ruby_snooper/trace_writer.rb, line 96 def variables_str(variables) variables.map do |key, value| "#{key} = #{value}" end.join(', ') end