エラーを使うならグレープで!メソッドはエラーをスローし、Grape::Endpoint の「後」コールバックを呼び出すことはありません。
エラー時にアフターフックを呼び出すアプリが欲しい!呼ばれました。
これを実現するために、このミドルウェアを追加しました。
class AfterFailure < Grape::Middleware::Base
def call!(env)
@env = env
before
error = catch (:error) do
@app_response = @app.call(@env)
return after || @app_response
end
after_failure(error) || throw(:error, error)
end
def after_failure(error)
puts "After Failure"
nil
end
end
これを達成するためのより良い方法はありますか?
ありがとう