Class: TestProf::RubyProf::Configuration
- Inherits:
-
Object
- Object
- TestProf::RubyProf::Configuration
- Defined in:
- lib/test_prof/ruby_prof.rb
Overview
RubyProf configuration
Constant Summary collapse
- PRINTERS =
{ 'flat' => 'FlatPrinter', 'flat_wln' => 'FlatPrinterWithLineNumbers', 'graph' => 'GraphPrinter', 'graph_html' => 'GraphHtmlPrinter', 'dot' => 'DotPrinter', '.' => 'DotPrinter', 'call_stack' => 'CallStackPrinter', 'call_tree' => 'CallTreePrinter', 'multi' => 'MultiPrinter' }.freeze
- PRINTER_EXTENSTION =
Mapping from printer to report file extension NOTE: txt is not included and considered default
{ 'graph_html' => 'html', 'dot' => 'dot', '.' => 'dot', 'call_stack' => 'html' }.freeze
- LOGFILE_PREFIX =
"ruby-prof-report"
Instance Attribute Summary collapse
-
#custom_exclusions ⇒ Object
Returns the value of attribute custom_exclusions.
-
#exclude_common_methods ⇒ Object
Returns the value of attribute exclude_common_methods.
-
#include_threads ⇒ Object
Returns the value of attribute include_threads.
-
#min_percent ⇒ Object
Returns the value of attribute min_percent.
-
#mode ⇒ Object
Returns the value of attribute mode.
-
#printer ⇒ Object
Returns the value of attribute printer.
-
#test_prof_exclusions_enabled ⇒ Object
Returns the value of attribute test_prof_exclusions_enabled.
Instance Method Summary collapse
- #exclude_common_methods? ⇒ Boolean
- #include_threads? ⇒ Boolean
-
#initialize ⇒ Configuration
constructor
A new instance of Configuration.
-
#resolve_printer ⇒ Object
Returns an array of printer type (ID) and class.
- #test_prof_exclusions_enabled? ⇒ Boolean
Constructor Details
#initialize ⇒ Configuration
Returns a new instance of Configuration.
53 54 55 56 57 58 59 60 61 62 |
# File 'lib/test_prof/ruby_prof.rb', line 53 def initialize @printer = ENV['TEST_RUBY_PROF'].to_sym if PRINTERS.key?(ENV['TEST_RUBY_PROF']) @printer ||= ENV.fetch('TEST_RUBY_PROF_PRINTER', :flat).to_sym @mode = ENV.fetch('TEST_RUBY_PROF_MODE', :wall).to_sym @min_percent = 1 @include_threads = false @exclude_common_methods = true @test_prof_exclusions_enabled = true @custom_exclusions = {} end |
Instance Attribute Details
#custom_exclusions ⇒ Object
Returns the value of attribute custom_exclusions.
48 49 50 |
# File 'lib/test_prof/ruby_prof.rb', line 48 def custom_exclusions @custom_exclusions end |
#exclude_common_methods ⇒ Object
Returns the value of attribute exclude_common_methods.
48 49 50 |
# File 'lib/test_prof/ruby_prof.rb', line 48 def exclude_common_methods @exclude_common_methods end |
#include_threads ⇒ Object
Returns the value of attribute include_threads.
48 49 50 |
# File 'lib/test_prof/ruby_prof.rb', line 48 def include_threads @include_threads end |
#min_percent ⇒ Object
Returns the value of attribute min_percent.
48 49 50 |
# File 'lib/test_prof/ruby_prof.rb', line 48 def min_percent @min_percent end |
#mode ⇒ Object
Returns the value of attribute mode.
48 49 50 |
# File 'lib/test_prof/ruby_prof.rb', line 48 def mode @mode end |
#printer ⇒ Object
Returns the value of attribute printer.
48 49 50 |
# File 'lib/test_prof/ruby_prof.rb', line 48 def printer @printer end |
#test_prof_exclusions_enabled ⇒ Object
Returns the value of attribute test_prof_exclusions_enabled.
48 49 50 |
# File 'lib/test_prof/ruby_prof.rb', line 48 def test_prof_exclusions_enabled @test_prof_exclusions_enabled end |
Instance Method Details
#exclude_common_methods? ⇒ Boolean
68 69 70 |
# File 'lib/test_prof/ruby_prof.rb', line 68 def exclude_common_methods? exclude_common_methods == true end |
#include_threads? ⇒ Boolean
64 65 66 |
# File 'lib/test_prof/ruby_prof.rb', line 64 def include_threads? include_threads == true end |
#resolve_printer ⇒ Object
Returns an array of printer type (ID) and class.
77 78 79 80 81 82 83 84 85 86 |
# File 'lib/test_prof/ruby_prof.rb', line 77 def resolve_printer return ['custom', printer] if printer.is_a?(Module) type = printer.to_s raise ArgumentError, "Unknown printer: #{type}" unless PRINTERS.key?(type) [type, ::RubyProf.const_get(PRINTERS[type])] end |
#test_prof_exclusions_enabled? ⇒ Boolean
72 73 74 |
# File 'lib/test_prof/ruby_prof.rb', line 72 def test_prof_exclusions_enabled? @test_prof_exclusions_enabled == true end |