Class: TestProf::EventProf::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/test_prof/event_prof.rb

Overview

EventProf configuration

Constant Summary collapse

INSTRUMENTERS =

Map of supported instrumenters

{
  active_support: "ActiveSupport"
}.freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



39
40
41
42
43
44
45
46
47
48
# File 'lib/test_prof/event_prof.rb', line 39

def initialize
  @event = ENV["EVENT_PROF"]
  @instrumenter = :active_support
  @top_count = (ENV["EVENT_PROF_TOP"] || 5).to_i
  @per_example = ENV["EVENT_PROF_EXAMPLES"] == "1"
  @rank_by = (ENV["EVENT_PROF_RANK"] || :time).to_sym
  @stamp = ENV["EVENT_PROF_STAMP"]

  RSpecStamp.config.tags = @stamp if stamp?
end

Instance Attribute Details

#eventObject

Returns the value of attribute event.



36
37
38
# File 'lib/test_prof/event_prof.rb', line 36

def event
  @event
end

#instrumenterObject

Returns the value of attribute instrumenter.



36
37
38
# File 'lib/test_prof/event_prof.rb', line 36

def instrumenter
  @instrumenter
end

#per_exampleObject

Returns the value of attribute per_example.



36
37
38
# File 'lib/test_prof/event_prof.rb', line 36

def per_example
  @per_example
end

#rank_byObject

Returns the value of attribute rank_by.



36
37
38
# File 'lib/test_prof/event_prof.rb', line 36

def rank_by
  @rank_by
end

#top_countObject

Returns the value of attribute top_count.



36
37
38
# File 'lib/test_prof/event_prof.rb', line 36

def top_count
  @top_count
end

Instance Method Details

#per_example?Boolean

Returns:

  • (Boolean)


54
55
56
# File 'lib/test_prof/event_prof.rb', line 54

def per_example?
  per_example == true
end

#resolve_instrumenterObject

Raises:

  • (ArgumentError)


58
59
60
61
62
63
64
65
# File 'lib/test_prof/event_prof.rb', line 58

def resolve_instrumenter
  return instrumenter if instrumenter.is_a?(Module)

  raise ArgumentError, "Unknown instrumenter: #{instrumenter}" unless
    INSTRUMENTERS.key?(instrumenter)

  Instrumentations.const_get(INSTRUMENTERS[instrumenter])
end

#stamp?Boolean

Returns:

  • (Boolean)


50
51
52
# File 'lib/test_prof/event_prof.rb', line 50

def stamp?
  !@stamp.nil?
end