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