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.



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

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.



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

def event
  @event
end

#instrumenterObject

Returns the value of attribute instrumenter.



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

def instrumenter
  @instrumenter
end

#per_exampleObject

Returns the value of attribute per_example.



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

def per_example
  @per_example
end

#rank_byObject

Returns the value of attribute rank_by.



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

def rank_by
  @rank_by
end

#top_countObject

Returns the value of attribute top_count.



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

def top_count
  @top_count
end

Instance Method Details

#per_example?Boolean

Returns:

  • (Boolean)


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

def per_example?
  per_example == true
end

#resolve_instrumenterObject

Raises:

  • (ArgumentError)


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

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)


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

def stamp?
  !@stamp.nil?
end