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: 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.