Sha256: 74ccf85848a5eb17a13b43105ab16cefba38fd644d4c986c74439f4f8335c0e1
Contents?: true
Size: 687 Bytes
Versions: 8
Compression:
Stored size: 687 Bytes
Contents
module BusinessFlow # Fire ActiveSupport events for every step that's run and on errors class InstrumentedExecutor < DefaultStepExecutor def call name = flow_event_name payload = { flow: flow } ActiveSupport::Notifications.instrument(name, payload) do super end notify_errors(name, payload) end protected def notify_errors(name, payload) return unless flow.errors? ActiveSupport::Notifications.publish(name + '.error', payload) end def flow_name @flow_name ||= flow.class.to_s.underscore end def flow_event_name @flow_event_name ||= "business_flow.flow.#{flow_name}" end end end
Version data entries
8 entries across 8 versions & 1 rubygems