lib/enhanced/exception.rb in enhanced_errors-3.0.3 vs lib/enhanced/exception.rb in enhanced_errors-3.0.4
- old
+ new
@@ -1,55 +1,54 @@
# exception.rb
-require_relative 'enhanced_exception_context'
+require_relative 'exception_context'
-module ExceptionBindingInfos
- def binding_infos
- ctx = EnhancedExceptionContext.context_for(self)
- unless ctx
- ctx = Context.new
- EnhancedExceptionContext.store_context(self, ctx)
+module Enhanced
+ module ExceptionBindingInfos
+ def binding_infos
+ ctx = Enhanced::ExceptionContext.context_for(self)
+ unless ctx
+ ctx = Context.new
+ Enhanced::ExceptionContext.store_context(self, ctx)
+ end
+ ctx.binding_infos
end
- ctx.binding_infos
- end
- def captured_variables
- if binding_infos.any?
+ def captured_variables
+ return '' unless binding_infos&.any?
bindings_of_interest = select_binding_infos
EnhancedErrors.format(bindings_of_interest)
- else
+ rescue
''
end
- rescue
- ''
- end
- private
+ private
- def select_binding_infos
- # Preference:
- # 1. First 'raise' binding that isn't from a library (gem).
- # 2. If none, the first binding.
- # 3. The last 'rescue' binding if available.
+ def select_binding_infos
+ # Preference:
+ # 1. First 'raise' binding that isn't from a library (gem).
+ # 2. If none, the first binding.
+ # 3. The last 'rescue' binding if available.
- bindings_of_interest = []
+ bindings_of_interest = []
- first_app_raise = binding_infos.find do |info|
- info[:capture_event] == 'raise' && !info[:library]
- end
- bindings_of_interest << first_app_raise if first_app_raise
+ first_app_raise = binding_infos.find do |info|
+ info[:capture_event] == 'raise' && !info[:library]
+ end
+ bindings_of_interest << first_app_raise if first_app_raise
- if bindings_of_interest.empty? && binding_infos.first
- bindings_of_interest << binding_infos.first
- end
+ if bindings_of_interest.empty? && binding_infos.first
+ bindings_of_interest << binding_infos.first
+ end
- last_rescue = binding_infos.reverse.find do |info|
- info[:capture_event] == 'rescue'
- end
- bindings_of_interest << last_rescue if last_rescue
+ last_rescue = binding_infos.reverse.find do |info|
+ info[:capture_event] == 'rescue'
+ end
+ bindings_of_interest << last_rescue if last_rescue
- bindings_of_interest.compact
+ bindings_of_interest.compact
+ end
end
end
class Exception
- prepend ExceptionBindingInfos
+ prepend Enhanced::ExceptionBindingInfos
end