Class: TestProf::Vernier::Listener

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

Overview

Reporter for RSpec to profile specific examples with Vernier

Constant Summary collapse

NOTIFICATIONS =
i[
  example_started
  example_finished
].freeze

Class Attribute Summary collapse

Instance Method Summary collapse

Class Attribute Details

.report_name_generatorObject

Returns the value of attribute report_name_generator.



10
11
12
# File 'lib/test_prof/vernier/rspec.rb', line 10

def report_name_generator
  @report_name_generator
end

Instance Method Details

#example_finished(notification) ⇒ Object



25
26
27
28
29
30
31
32
33
# File 'lib/test_prof/vernier/rspec.rb', line 25

def example_finished(notification)
  return unless profile?(notification.example)
  return unless notification.example.[:vernier_collector]

  TestProf::Vernier.dump(
    notification.example.[:vernier_collector],
    self.class.report_name_generator.call(notification.example)
  )
end

#example_started(notification) ⇒ Object



20
21
22
23
# File 'lib/test_prof/vernier/rspec.rb', line 20

def example_started(notification)
  return unless profile?(notification.example)
  notification.example.[:vernier_collector] = TestProf::Vernier.profile
end