module MultipleMan::Publisher
Public Class Methods
included(base)
click to toggle source
# File lib/multiple_man/mixins/publisher.rb, line 5 def Publisher.included(base) base.extend(ClassMethods) if base.respond_to?(:after_commit) base.after_commit(on: :create) { |r| r.multiple_man_publish(:create) } base.after_commit(on: :update) do |r| if !r.respond_to?(:previous_changes) || r.previous_changes.any? r.multiple_man_publish(:update) end end base.after_commit(on: :destroy) { |r| r.multiple_man_publish(:destroy) } end base.class_attribute :multiple_man_publisher end
Public Instance Methods
multiple_man_publish(operation=:create)
click to toggle source
# File lib/multiple_man/mixins/publisher.rb, line 20 def multiple_man_publish(operation=:create) self.class.multiple_man_publisher.publish(self, operation) end