module Remap::Catchable
@api private
Public Instance Methods
catch_fatal(state, backtrace, &block)
click to toggle source
@param state [State] @param backtrace [Array<String>]
@yieldparam state [State] @yieldparam id [Symbol, String] @yieldreturn [State<T>]
@return [State<T>] @raise [Failure::Error]
# File lib/remap/catchable.rb, line 32 def catch_fatal(state, backtrace, &block) id = to_id(:fatal) failure = catch(id) do return block[state.set(fatal_id: id), fatal_id: id].remove_fatal_id end raise failure.exception(backtrace) end
catch_ignored(state, &block)
click to toggle source
@param state [State]
@yieldparam state [State] @yieldparam id [Symbol, String] @yieldreturn [State<T>]
@return [State<T>]
# File lib/remap/catchable.rb, line 15 def catch_ignored(state, &block) id = to_id(:ignored) catch(id) do block[state.set(id: id), id: id].remove_id end end
Private Instance Methods
to_id(value)
click to toggle source
# File lib/remap/catchable.rb, line 44 def to_id(value) [value, self.class.name&.downcase || :unknown].join("::") end