ixtlan-audit 0.4.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/ixtlan/audit/manager.rb +11 -4
- data/lib/ixtlan/audit/rack.rb +33 -2
- metadata +2 -2
data/lib/ixtlan/audit/manager.rb
CHANGED
@@ -27,9 +27,16 @@ module Ixtlan
|
|
27
27
|
if defined? ::Slf4r
|
28
28
|
include ::Slf4r::Logger
|
29
29
|
else
|
30
|
-
|
30
|
+
class Log
|
31
|
+
def info( msg )
|
32
|
+
puts "[Ixtlan::Audits] #{msg}"
|
33
|
+
end
|
34
|
+
def warn( msg )
|
35
|
+
warn "[Ixtlan::Audits] #{msg}"
|
36
|
+
end
|
37
|
+
end
|
31
38
|
def logger
|
32
|
-
@logger ||=
|
39
|
+
@logger ||= Log.new
|
33
40
|
end
|
34
41
|
end
|
35
42
|
|
@@ -87,9 +94,9 @@ module Ixtlan
|
|
87
94
|
list.last
|
88
95
|
end
|
89
96
|
|
90
|
-
def save_all
|
97
|
+
def save_all( l = list )
|
91
98
|
daily_cleanup
|
92
|
-
|
99
|
+
l.each do |audit|
|
93
100
|
begin
|
94
101
|
audit.save
|
95
102
|
if ( audit.respond_to?( :errors ) && audit.errors.size > 0 )
|
data/lib/ixtlan/audit/rack.rb
CHANGED
@@ -22,17 +22,48 @@ module Ixtlan
|
|
22
22
|
module Audit
|
23
23
|
class Rack
|
24
24
|
|
25
|
+
def self.runner( manager )
|
26
|
+
@runner ||= Thread.new do
|
27
|
+
while true do
|
28
|
+
sleep 1
|
29
|
+
while not queue.empty?
|
30
|
+
list = queue.pop
|
31
|
+
manager.save_all( list )
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
def self.queue
|
38
|
+
@queue ||= Queue.new
|
39
|
+
end
|
40
|
+
|
25
41
|
def initialize(app, audit_manager)
|
26
42
|
@app = app
|
27
43
|
@audit_manager = audit_manager
|
44
|
+
self.class.runner( audit_manager )
|
28
45
|
end
|
29
46
|
|
30
47
|
def call(env)
|
31
48
|
result = @app.call(env)
|
32
|
-
@audit_manager.
|
49
|
+
self.class.queue.push( @audit_manager.send( :list ) )
|
33
50
|
result
|
34
51
|
end
|
35
52
|
|
53
|
+
if defined? Thread
|
54
|
+
def save_all
|
55
|
+
l = @audit_manager.send :list
|
56
|
+
f = Thread.new do
|
57
|
+
sleep 0.1
|
58
|
+
@audit_manager.save_all( l )
|
59
|
+
end
|
60
|
+
end
|
61
|
+
else
|
62
|
+
def save_all
|
63
|
+
@audit_manager.save_all
|
64
|
+
end
|
65
|
+
end
|
36
66
|
end
|
67
|
+
Rack.queue
|
37
68
|
end
|
38
|
-
end
|
69
|
+
end
|
metadata
CHANGED
@@ -2,14 +2,14 @@
|
|
2
2
|
name: ixtlan-audit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.4.
|
5
|
+
version: 0.4.1
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Christian Meier
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-02-22 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: slf4r
|