class Eventifier::EventSubscriber
Attributes
klass[R]
method_name[R]
Public Class Methods
new(klass, method_name)
click to toggle source
# File lib/eventifier/event_subscriber.rb, line 8 def initialize(klass, method_name) @klass, @method_name = klass, method_name end
subscribe_to_all(klass, names)
click to toggle source
# File lib/eventifier/event_subscriber.rb, line 2 def self.subscribe_to_all(klass, names) names.each do |method_name| new(klass, method_name).subscribe_to_method end end
Public Instance Methods
subscribe_to_method()
click to toggle source
# File lib/eventifier/event_subscriber.rb, line 12 def subscribe_to_method return if notifications.notifier.listening?(name) notifications.subscribe(name) do |*args| event = Eventifier::EventTranslator.new(*args).translate notifications.instrument "#{prefix}.notification.eventifier", verb: :create, event: event, object: event.eventable unless event.nil? end end
Private Instance Methods
name()
click to toggle source
# File lib/eventifier/event_subscriber.rb, line 26 def name "#{prefix}.event.eventifier" end
notifications()
click to toggle source
# File lib/eventifier/event_subscriber.rb, line 30 def notifications ActiveSupport::Notifications end
prefix()
click to toggle source
# File lib/eventifier/event_subscriber.rb, line 34 def prefix "#{method_name}.#{klass.name.tableize}" end