audited_controller 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
data/lib/audited_controller.rb
CHANGED
@@ -1,6 +1,29 @@
|
|
1
1
|
require "audited_controller/version"
|
2
|
-
require 'app/controllers/application_controller'
|
3
2
|
|
4
3
|
module AuditedController
|
5
|
-
|
4
|
+
# -*- encoding : utf-8 -*-
|
5
|
+
class ApplicationController < ActionController::Base
|
6
|
+
helper_method :add_to_audit
|
7
|
+
def add_to_audit
|
8
|
+
audit_config = HashWithIndifferentAccess.new(YAML.load(File.read(
|
9
|
+
File.expand_path("#{Rails.root}/config/audits.yml", __FILE__))))
|
10
|
+
controller = params[:controller]
|
11
|
+
action = params[:action]
|
12
|
+
request_type = restful_method(params)
|
13
|
+
return if !audit_get_request?(audit_config) && request_type == 'get'
|
14
|
+
Audit.create!(action: action, controller: controller, user_name: current_user.login,
|
15
|
+
description: audit_config[controller][action],
|
16
|
+
:params => params.inspect,
|
17
|
+
remote_ip: request.remote_ip, restful_method: restful_method(params) )
|
18
|
+
end
|
19
|
+
private
|
20
|
+
def audit_get_request?(audit_config)
|
21
|
+
audit_config["audit_get_request"]
|
22
|
+
end
|
23
|
+
# return: get, post, put or delete
|
24
|
+
def restful_method(params)
|
25
|
+
params[:authenticity_token].blank? ? 'get' : ((params[:_method]) || 'post')
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
6
29
|
end
|