class Bizness::Filters::EventFilter
Public Instance Methods
call()
click to toggle source
# File lib/bizness/filters/event_filter.rb, line 3 def call Hey.publish!("#{event_name}#{delimiter}executed", payload) do evented_call end end
Private Instance Methods
delimiter()
click to toggle source
# File lib/bizness/filters/event_filter.rb, line 35 def delimiter Hey.configuration.delimiter end
event_name()
click to toggle source
# File lib/bizness/filters/event_filter.rb, line 21 def event_name __original_operation__.class.name.underscore.gsub("/", delimiter) end
evented_call()
click to toggle source
# File lib/bizness/filters/event_filter.rb, line 11 def evented_call result = filtered_operation.call event_status = (respond_to?(:successful?) && !successful?) ? "failed" : "succeeded" Hey.publish!("#{event_name}#{delimiter}#{event_status}", payload(result)) result rescue Exception => e Hey.publish!("#{event_name}#{delimiter}aborted", payload.merge(error: e.message, stacktrace: e.backtrace, exception: e.class.name)) raise e end
payload(result = nil)
click to toggle source
# File lib/bizness/filters/event_filter.rb, line 25 def payload(result = nil) if self.respond_to?(:to_h) to_h elsif result.is_a?(Hash) result else Hash.new end end