class Rabbitek::Server::Hooks::ActiveRecordConnectionReset

Active record connection reset to maintain correct connection state Used only in Rails < 5

Public Class Methods

new() click to toggle source
# File lib/rabbitek/server/hooks/active_record_connection_reset.rb, line 12
def initialize
  raise ArgumentError, 'Use AR connection reset only in Rails < 5!' unless should_allow_hook?
end

Public Instance Methods

call(consumer, message) click to toggle source
Calls superclass method Rabbitek::ServerHook#call
# File lib/rabbitek/server/hooks/active_record_connection_reset.rb, line 16
def call(consumer, message)
  ::ActiveRecord::Base.establish_connection unless ::ActiveRecord::Base.connection.active?

  super
ensure
  ::ActiveRecord::Base.clear_active_connections!
end

Private Instance Methods

should_allow_hook?() click to toggle source
# File lib/rabbitek/server/hooks/active_record_connection_reset.rb, line 26
def should_allow_hook?
  defined?(::Rails) && ::Rails::VERSION::MAJOR < 5
end