Module: StreamRails::SyncPolicy::SyncDestroy

Defined in:
lib/stream_rails/sync_policies.rb

Class Method Summary collapse

Class Method Details

.included(base) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/stream_rails/sync_policies.rb', line 30

def self.included(base)
  if base.respond_to? :after_commit
    base.after_commit :remove_from_feed, on: :destroy
  elsif Object.const_defined?('Sequel') && base < Sequel::Model
    base.instance_eval do
      define_method(:before_destroy) do |*args|
        remove_from_feed
        super(*args)
      end
    end
  else
    raise 'Your ORM is not supported'
  end
end