clean up middleware code & unsubscribe in the end

This commit is contained in:
Vladimir Kochnev 2015-06-26 00:04:53 +03:00
parent d130386947
commit 296705e02e

View file

@ -7,7 +7,7 @@ module GrapeLogging
start_time start_time
@db_duration = 0 @db_duration = 0
ActiveSupport::Notifications.subscribe('sql.active_record') do |*args| @subscription = ActiveSupport::Notifications.subscribe('sql.active_record') do |*args|
event = ActiveSupport::Notifications::Event.new(*args) event = ActiveSupport::Notifications::Event.new(*args)
@db_duration += event.duration @db_duration += event.duration
end if defined?(ActiveRecord) end if defined?(ActiveRecord)
@ -15,12 +15,13 @@ module GrapeLogging
def after def after
stop_time stop_time
logger.info parameters(request, response) logger.info parameters
ActiveSupport::Notifications.unsubscribe(@subscription) if @subscription
nil nil
end end
protected protected
def parameters(request, response) def parameters
{ {
path: request.path, path: request.path,
params: request.params.to_hash, params: request.params.to_hash,