module BusinessFlow::Instrument::ClassMethods

Contains methods that we add to the DSL

Constants

INSTRUMENTATION_PREFIX

Public Instance Methods

event_name() click to toggle source
# File lib/business_flow/instrument.rb, line 32
def event_name
  @event_name ||=
    "#{INSTRUMENTATION_PREFIX}.flow.#{instrumentation_name}".freeze
end
instrument(name, flow) { |payload| ... } click to toggle source
# File lib/business_flow/instrument.rb, line 14
def instrument(name, flow)
  payload = { flow: flow }
  ActiveSupport::Notifications.instrument(
    "#{INSTRUMENTATION_PREFIX}.#{name}.#{instrumentation_name}", payload
  ) do
    yield payload
  end
end
instrument_steps() click to toggle source
# File lib/business_flow/instrument.rb, line 23
def instrument_steps
  step_executor ::BusinessFlow::InstrumentedStepExecutor
end
instrumentation_name() click to toggle source
# File lib/business_flow/instrument.rb, line 27
def instrumentation_name
  @instrumentation_name ||=
    to_s.underscore.freeze
end