module StreamRails::SyncPolicy::SyncDestroy

Public Class Methods

included(base) click to toggle source
Calls superclass method
# File lib/stream_rails/sync_policies.rb, line 30
def self.included(base)
  if base.respond_to? :before_destroy
    base.before_destroy :remove_from_feed
  elsif base <= Sequel::Model
    base.class_eval do
      define_method(:before_destroy) do |*args|
        remove_from_feed
        super(*args)
      end
    end
  else
    raise 'Your ORM is not supported'
  end
end

Private Instance Methods

remove_from_feed() click to toggle source
# File lib/stream_rails/sync_policies.rb, line 47
def remove_from_feed
  StreamRails.feed_manager.destroyed_activity(self)
rescue StandardError => e
  StreamRails.logger.error "Something went wrong deleting an activity: #{e}"
  raise
end