Class: GlobalErrorHandler::AppException
- Inherits:
-
Object
- Object
- GlobalErrorHandler::AppException
- Defined in:
- lib/global_error_handler/app_exception.rb
Class Method Summary collapse
- .all(start, field = nil, filter = nil) ⇒ Object
- .count(field = nil, filter = nil) ⇒ Object
- .delete(id) ⇒ Object
- .delete_all(ids) ⇒ Object
- .filtered_ids_by(field, str, len = 1000, start = 0) ⇒ Object
- .filters_for(field) ⇒ Object
- .find(id) ⇒ Object
- .truncate(filter = nil, opts = {}) ⇒ Object
Class Method Details
.all(start, field = nil, filter = nil) ⇒ Object
3 4 5 6 7 8 9 10 11 |
# File 'lib/global_error_handler/app_exception.rb', line 3 def all(start, field = nil, filter = nil) start ||= 0 if field && filter keys = GlobalErrorHandler::Redis.filter_exception_keys start, "error_#{field}", filter else keys = GlobalErrorHandler::Redis.exception_keys start end GlobalErrorHandler::Redis.find_all keys end |
.count(field = nil, filter = nil) ⇒ Object
13 14 15 16 17 18 19 |
# File 'lib/global_error_handler/app_exception.rb', line 13 def count(field = nil, filter = nil) if field && filter GlobalErrorHandler::Redis.filtered_exceptions_count("error_#{field}", filter) else GlobalErrorHandler::Redis.exceptions_count end end |
.delete(id) ⇒ Object
26 27 28 29 |
# File 'lib/global_error_handler/app_exception.rb', line 26 def delete(id) return if id.blank? GlobalErrorHandler::Redis.delete exception_key(id) end |
.delete_all(ids) ⇒ Object
31 32 33 34 35 |
# File 'lib/global_error_handler/app_exception.rb', line 31 def delete_all(ids) return if ids.blank? keys = ids.map{ |id| exception_key id } GlobalErrorHandler::Redis.delete_all keys end |
.filtered_ids_by(field, str, len = 1000, start = 0) ⇒ Object
60 61 62 63 64 |
# File 'lib/global_error_handler/app_exception.rb', line 60 def filtered_ids_by(field, str, len=1000, start=0) keys = GlobalErrorHandler::Redis.filter_exception_keys start, "error_#{field}", str, len return [] if keys.blank? keys.map{ |key| key.split(':').last rescue nil }.compact end |
.filters_for(field) ⇒ Object
51 52 53 54 55 56 57 58 |
# File 'lib/global_error_handler/app_exception.rb', line 51 def filters_for(field) keys = GlobalErrorHandler::Redis.filter_keys_for "error_#{field}" return [] if keys.blank? keys.map do |key| key =~ /^#{GlobalErrorHandler::Redis::FILTER_KEY_PREFIX}:error_#{field}:(.*)/ $1 end end |
.find(id) ⇒ Object
21 22 23 24 |
# File 'lib/global_error_handler/app_exception.rb', line 21 def find(id) return if id.blank? GlobalErrorHandler::Redis.find exception_key(id) end |
.truncate(filter = nil, opts = {}) ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/global_error_handler/app_exception.rb', line 37 def truncate(filter = nil, opts = {}) if filter field = opts.delete(:field) total = opts.delete(:total) || 1000 size = 1000 (total / size.to_f).ceil.times do |iteration| ids = filtered_ids_by field, filter, size, iteration delete_all ids unless ids.blank? end else GlobalErrorHandler::Redis.truncate! end end |