global_error_handler 0.0.4 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1d058f4e5d9c2556661eeba4c09ae42089bb29c2
|
4
|
+
data.tar.gz: 0c91959443b2c90d8ac7368d16555477116f2813
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9904aac4b619724df9f9322c88d362bd9de3a9ecdb2c82945fec8f8d573fc19e3497ae798ebb61b33505067cfc9c1e26f541d8969fcc5031db97df4c671f5bf0
|
7
|
+
data.tar.gz: 30f4ecd49fab72f0f2a2e70a15c3eb2c37e64e0e7269e9fdf148d037d4f78e2301e462e667324a25447cc92e058a849abe756a9cd96add3cadbb36bd0d0f66e1
|
@@ -37,8 +37,12 @@ class GlobalErrorHandler::AppException
|
|
37
37
|
def truncate(filter = nil, opts = {})
|
38
38
|
if filter
|
39
39
|
field = opts.delete(:field)
|
40
|
-
|
41
|
-
|
40
|
+
total = opts.delete(:total) || 1000
|
41
|
+
size = 1000
|
42
|
+
(total / size.to_f).ceil.times do |iteration|
|
43
|
+
ids = filtered_ids_by field, filter, size, iteration
|
44
|
+
delete_all ids unless ids.blank?
|
45
|
+
end
|
42
46
|
else
|
43
47
|
GlobalErrorHandler::Redis.truncate!
|
44
48
|
end
|
@@ -53,8 +57,8 @@ class GlobalErrorHandler::AppException
|
|
53
57
|
end
|
54
58
|
end
|
55
59
|
|
56
|
-
def filtered_ids_by(field, str)
|
57
|
-
GlobalErrorHandler::Redis.filter_exception_keys
|
60
|
+
def filtered_ids_by(field, str, len=1000, page=0)
|
61
|
+
keys = GlobalErrorHandler::Redis.filter_exception_keys page, "error_#{field}", str, len
|
58
62
|
return [] if keys.blank?
|
59
63
|
keys.map{ |key| key.split(':').last rescue nil }.compact
|
60
64
|
end
|
@@ -10,7 +10,7 @@ class GlobalErrorHandler::Redis
|
|
10
10
|
redis.hmset redis_key, info_hash.merge(id: current_id).to_a.flatten
|
11
11
|
redis.rpush EXCEPTIONS_REDIS_KEY, redis_key
|
12
12
|
%w(error_class error_message).each do |field|
|
13
|
-
redis.rpush filter_key(field, info_hash[field.to_sym]), redis_key
|
13
|
+
redis.rpush filter_key(field, build_filter_value(info_hash[field.to_sym])), redis_key
|
14
14
|
end
|
15
15
|
end
|
16
16
|
|
@@ -95,5 +95,11 @@ class GlobalErrorHandler::Redis
|
|
95
95
|
end
|
96
96
|
end
|
97
97
|
end
|
98
|
+
|
99
|
+
private
|
100
|
+
|
101
|
+
def build_filter_value(txt)
|
102
|
+
txt.split("\n").first rescue ''
|
103
|
+
end
|
98
104
|
end
|
99
105
|
end
|
@@ -57,7 +57,7 @@ module GlobalErrorHandler
|
|
57
57
|
end
|
58
58
|
|
59
59
|
def truncate_and_redirect_to_exceptions
|
60
|
-
GlobalErrorHandler::AppException.truncate(get_filter, field: params[:filter_by])
|
60
|
+
GlobalErrorHandler::AppException.truncate(get_filter, field: params[:filter_by], total: apps_size)
|
61
61
|
redirect exceptions_path
|
62
62
|
end
|
63
63
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: global_error_handler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrii Rudenko
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-12-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -132,7 +132,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
132
132
|
version: '0'
|
133
133
|
requirements: []
|
134
134
|
rubyforge_project:
|
135
|
-
rubygems_version: 2.
|
135
|
+
rubygems_version: 2.4.3
|
136
136
|
signing_key:
|
137
137
|
specification_version: 4
|
138
138
|
summary: Records application' exceptions into the separated redis database.
|