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: dc697465132b68a588542b15cfddc421537b4d69
4
- data.tar.gz: ee2e3c76923534ed80de41ba447efb7c1c91725f
3
+ metadata.gz: 1d058f4e5d9c2556661eeba4c09ae42089bb29c2
4
+ data.tar.gz: 0c91959443b2c90d8ac7368d16555477116f2813
5
5
  SHA512:
6
- metadata.gz: 6ed1cc6fb7ef0e723c7917970515ddf6b6a2744cd596a374fa8c9c0f0d168e991dd85d4573504b8b01d077713022fde6c7a51b2583a86d53480f747d79d7b48f
7
- data.tar.gz: 9d63c33bab0f301dd19f7542ffcf92691a684900315fb3dc1e52907848b453a1816f8c6e8f65079624193aad73985dc23eaf01ff3637f039cafb031fba0c2846
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
- ids = filtered_ids_by field, filter
41
- delete_all ids
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 0, "error_#{field}", str, len
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
 
@@ -1,3 +1,3 @@
1
1
  module GlobalErrorHandler
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.6"
3
3
  end
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
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-10 00:00:00.000000000 Z
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.2.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.