Class: GrapeDbLogger::Logger

Inherits:
Grape::Middleware::Base
  • Object
show all
Defined in:
lib/grape_db_logger/logger.rb

Instance Method Summary collapse

Instance Method Details

#afterObject



5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/grape_db_logger/logger.rb', line 5

def after
  @request = ::Rack::Request.new(@env)
  options = {
    request_method: @request.request_method,
    path: @request.path,
    params: params,
    referer: @request.referer,
    user_agent: @request.user_agent,
    ip: @request.ip,
    created_at: DateTime.current,
  }
  log(options)
  super
end

#filter_paramsObject



20
21
22
# File 'lib/grape_db_logger/logger.rb', line 20

def filter_params
  %w(password password_confirmation)
end

#log(options) ⇒ Object



32
33
34
# File 'lib/grape_db_logger/logger.rb', line 32

def log(options)
  GrapeLog.create(options)
end

#paramsObject



24
25
26
27
28
29
30
# File 'lib/grape_db_logger/logger.rb', line 24

def params
  params = @request.params.clone
  filter_params.each do |key|
    params[key] = 'FILTERED' if params.key?(key)
  end
  params.to_json
end