aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorrhenium <re4k@re4k.info>2013-05-18 20:27:20 +0900
committerrhenium <re4k@re4k.info>2013-05-18 20:27:20 +0900
commit28ef1eda1cb1d0810a49fbbacee5d7628e531001 (patch)
tree3a974d3b7f4779a31d8d0a0bc5326d550f67c846 /app
parent0b01cf035bb7c8048e9d69e59a0fc8176e4fb06c (diff)
downloadaclog-28ef1eda1cb1d0810a49fbbacee5d7628e531001.tar.gz
update error handling
Diffstat (limited to 'app')
-rw-r--r--app/controllers/errors_controller.rb9
-rw-r--r--app/views/errors/error.html.haml23
-rw-r--r--app/views/errors/error.json.jbuilder24
3 files changed, 11 insertions, 45 deletions
diff --git a/app/controllers/errors_controller.rb b/app/controllers/errors_controller.rb
index e1d5dcf..eac8028 100644
--- a/app/controllers/errors_controller.rb
+++ b/app/controllers/errors_controller.rb
@@ -1,3 +1,4 @@
+# -*- encoding: utf-8 -*-
class ErrorsController < ApplicationController
layout "index"
skip_before_filter :check_format
@@ -13,20 +14,28 @@ class ErrorsController < ApplicationController
# /i/callback
redirect_to root_path
when Aclog::Exceptions::TweetNotFound
+ @message = "ツイートが見つかりませんでした。"
render "error", status: 404
when Aclog::Exceptions::UserNotFound
+ @message = "ユーザーが見つかりませんでした。"
render "error", status: 404
when Aclog::Exceptions::UserNotRegistered
+ @message = "ユーザーは aclog に登録していません。"
render "error", status: 404
when Aclog::Exceptions::UserProtected
+ @message = "ユーザーは非公開です。"
render "error", status: 403
when Aclog::Exceptions::LoginRequired
+ @message = "このページの表示にはログインが必要です。"
render "error", status: 403
when Aclog::Exceptions::OAuthEchoUnauthorized
+ @message = "OAuth Echo 認証に失敗しました。"
render "error", status: 401
when ActionController::RoutingError
+ @message = "このページは存在しません。"
render "error", status: 404
else
+ @message = "Internal Error: #{@exception.class}"
render "error", status: 500
end
end
diff --git a/app/views/errors/error.html.haml b/app/views/errors/error.html.haml
index 46fd2fb..35eca43 100644
--- a/app/views/errors/error.html.haml
+++ b/app/views/errors/error.html.haml
@@ -1,24 +1,3 @@
%h1= response.status
.lead
- - case @exception
- - when Aclog::Exceptions::TweetNotFound
- ツイートが見つかりませんでした。
- - when Aclog::Exceptions::UserNotFound
- ユーザーが見つかりませんでした。
- - when Aclog::Exceptions::UserNotRegistered
- ユーザーは aclog に登録していません。
- - when Aclog::Exceptions::UserProtected
- ユーザーは非公開です。
- - when Aclog::Exceptions::LoginRequired
- このページの表示にはログインが必要です。
- - when Aclog::Exceptions::OAuthEchoUnauthorized
- OAuth Echo 認証に失敗しました。
- - when ActionController::RoutingError
- このページは存在しません。
- - else
- - if response.status == 404
- Not Found (Unknown):
- = @exception.class
- - else
- Internal Error (Unknown):
- = @exception.class
+ = @message
diff --git a/app/views/errors/error.json.jbuilder b/app/views/errors/error.json.jbuilder
index b3dbb77..ebbeb4d 100644
--- a/app/views/errors/error.json.jbuilder
+++ b/app/views/errors/error.json.jbuilder
@@ -1,27 +1,5 @@
json.error do |json|
json.status response.status
- case @exception
- when Aclog::Exceptions::TweetNotFound
- json.message "ツイートが見つかりませんでした。"
- when Aclog::Exceptions::UserNotFound
- json.message "ユーザーが見つかりませんでした。"
- when Aclog::Exceptions::UserNotRegistered
- json.message "ユーザーは aclog に登録していません。"
- when Aclog::Exceptions::UserProtected
- json.message "ユーザーは非公開です。"
- when Aclog::Exceptions::LoginRequired
- json.message "このページの表示にはログインが必要です。"
- when Aclog::Exceptions::OAuthEchoUnauthorized
- json.message "OAuth Echo 認証に失敗しました。"
- when ActionController::RoutingError
- json.message "このページは存在しません。"
- else
- json.exception @exception.class
- if response.status == 404
- json.message "Not Found (Unknown)"
- else
- json.message "Internal Error (Unknown)"
- end
- end
+ json.message @message
end