class Eventifier::EventTranslator
Attributes
event[R]
Public Class Methods
new(*args)
click to toggle source
# File lib/eventifier/event_translator.rb, line 2 def initialize(*args) @event = ActiveSupport::Notifications::Event.new *args end
Public Instance Methods
translate()
click to toggle source
# File lib/eventifier/event_translator.rb, line 6 def translate return unless conditional_call Eventifier::EventBuilder.store payload[:object], user, payload[:event], groupable, options.except(:if, :unless) end
Private Instance Methods
conditional()
click to toggle source
# File lib/eventifier/event_translator.rb, line 19 def conditional options[:if] || options[:unless] end
conditional_call()
click to toggle source
# File lib/eventifier/event_translator.rb, line 23 def conditional_call if options[:if] conditional.call payload[:object] elsif options[:unless] !conditional.call payload[:object] else true end end
groupable()
click to toggle source
# File lib/eventifier/event_translator.rb, line 33 def groupable payload[:group_by] ? relationship(payload[:group_by]) : payload[:object] end
options()
click to toggle source
# File lib/eventifier/event_translator.rb, line 37 def options payload[:options] || {} end
relationship(key)
click to toggle source
# File lib/eventifier/event_translator.rb, line 41 def relationship(key) Eventifier::Relationship.new(payload[:object], key).users.first end
user()
click to toggle source
# File lib/eventifier/event_translator.rb, line 45 def user payload[:user] ? relationship(payload[:user]) : payload[:object].user end