global_error_handler 0.0.4 → 0.0.6
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.
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.
|