123456789_123456789_123456789_123456789_123456789_

Class: Minitest::ProfileReporter

Relationships & Source Files
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
self, Reporter
Instance Chain:
self, Reporter
Inherits: Reporter
  • ::Object
Defined in: railties/lib/minitest/rails_plugin.rb

Class Method Summary

Instance Attribute Summary

Instance Method Summary

Constructor Details

.new(io = $stdout, options = {}) ⇒ ProfileReporter

[ GitHub ]

  
# File 'railties/lib/minitest/rails_plugin.rb', line 31

def initialize(io = $stdout, options = {})
  super
  @results = []
  @count = options[:profile]
end

Instance Attribute Details

#passed?Boolean (readonly)

[ GitHub ]

  
# File 'railties/lib/minitest/rails_plugin.rb', line 50

def passed?
  true
end

#results (rw)

[ GitHub ]

  
# File 'railties/lib/minitest/rails_plugin.rb', line 29

attr_accessor :results

Instance Method Details

#record(result)

[ GitHub ]

  
# File 'railties/lib/minitest/rails_plugin.rb', line 37

def record(result)
  if output_file = ENV["RAILTIES_OUTPUT_FILE"]
    File.open(output_file, "a") do |f|
      # Round-trip for re-serialization
      data = JSON.parse(result.to_json)
      data[:location] = result.location
      f.puts(data.to_json)
    end
  else
    @results << result
  end
end

#report

[ GitHub ]

  
# File 'railties/lib/minitest/rails_plugin.rb', line 54

def report
  # Skip if we're outputting to a file
  return if ENV["RAILTIES_OUTPUT_FILE"]
  print_summary
end

#source_location(result) (private)

[ GitHub ]

  
# File 'railties/lib/minitest/rails_plugin.rb', line 81

def source_location(result)
  filename, line = result.source_location
  return "" unless filename

  pwd = Dir.pwd
  if filename.start_with?(pwd)
    filename = Pathname.new(filename).relative_path_from(pwd)
  end
  "#{filename}:#{line}"
end

#summary

[ GitHub ]

  
# File 'railties/lib/minitest/rails_plugin.rb', line 60

def summary
  print_summary
end