Skip to content

Instantly share code, notes, and snippets.

@psylone
Created August 1, 2020 14:11
Show Gist options
  • Save psylone/11ecee906a10951284dca3c42dab6b53 to your computer and use it in GitHub Desktop.
Save psylone/11ecee906a10951284dca3c42dab6b53 to your computer and use it in GitHub Desktop.
Roda errors handler in separate file
require_relative 'errors'
class App < Roda
plugin :error_handler
include Errors
route do |r|
r.root do
raise ArgumentError
'root'
end
end
end
module Errors
def self.included(base)
base.error do |e|
handle_errors(e)
end
end
private
def handle_errors(e)
case e
when ArgumentError
'argument error'
else
'runtime error'
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment