# class RubyProf::AbstractPrinter

### Public Class Methods

new(result) click to toggle source

Create a new printer.

result should be the output generated from a profiling run

    # File lib/ruby-prof/printers/abstract_printer.rb, line 7
    def initialize(result)
      @result = result
      @output = nil
    end

### Public Instance Methods

method_name(method) click to toggle source

    # File lib/ruby-prof/printers/abstract_printer.rb, line 44
    def method_name(method)
      name = method.full_name
      if print_file
        name += " (#{method.source_file}:#{method.line}}"
      end
      name
    end

min_percent() click to toggle source

    # File lib/ruby-prof/printers/abstract_printer.rb, line 32
    def min_percent
      @options[:min_percent] || 0
    end

print(output = STDOUT, options = {}) click to toggle source

Print a profiling report to the provided output.

output - Any IO object, including STDOUT or a file. The default value is STDOUT.

options - Hash of print options. See setup_options for more information. Note that each printer can define its own set of options.

    # File lib/ruby-prof/printers/abstract_printer.rb, line 60
    def print(output = STDOUT, options = {})
      @output = output
      setup_options(options)
      print_threads
    end

print_file() click to toggle source

    # File lib/ruby-prof/printers/abstract_printer.rb, line 36
    def print_file
      @options[:print_file] || false
    end

print_header(thread) click to toggle source

    # File lib/ruby-prof/printers/abstract_printer.rb, line 78
    def print_header(thread)
    end

print_thread(thread) click to toggle source

    # File lib/ruby-prof/printers/abstract_printer.rb, line 72
    def print_thread(thread)
      print_header(thread)
      print_methods(thread)
      print_footer(thread)
    end

print_threads() click to toggle source

    # File lib/ruby-prof/printers/abstract_printer.rb, line 66
    def print_threads
      @result.threads.each do |thread|
        print_thread(thread)
      end
    end

setup_options(options = {}) click to toggle source

Specify print options.

options - Hash table

    :min_percent - Number 0 to 100 that specifes the minimum
                   %self (the methods self time divided by the
                   overall total time) that a method must take
                   for it to be printed out in the report.
                   Default value is 0.

    :print_file  - True or false. Specifies if a method's source
                   file should be printed.  Default value if false.

    :sort_method - Specifies method used for sorting method infos.
                   Available values are :total_time, :self_time,
                   :wait_time, :children_time
                   Default value is :total_time

    # File lib/ruby-prof/printers/abstract_printer.rb, line 28
    def setup_options(options = {})
      @options = options
    end

sort_method() click to toggle source

    # File lib/ruby-prof/printers/abstract_printer.rb, line 40
    def sort_method
      @options[:sort_method] || :total_time
    end