aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuillermo Iguaran <guilleiguaran@gmail.com>2012-09-07 20:20:09 -0500
committerGuillermo Iguaran <guilleiguaran@gmail.com>2012-12-31 14:40:59 -0500
commit048cd254e6bb77cf223a714cd7cb86b309cd3c15 (patch)
tree7524519ebf71518ba9fe57332c43aa2bac0ab00b
parentfe12e4650802d8f28136660fc9ce62c6a28f19e1 (diff)
downloadrails-048cd254e6bb77cf223a714cd7cb86b309cd3c15.tar.gz
rails-048cd254e6bb77cf223a714cd7cb86b309cd3c15.tar.bz2
rails-048cd254e6bb77cf223a714cd7cb86b309cd3c15.zip
Styling for exception page
-rw-r--r--actionpack/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb15
-rw-r--r--actionpack/lib/action_dispatch/middleware/templates/rescues/_source.erb25
-rw-r--r--actionpack/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb25
-rw-r--r--actionpack/lib/action_dispatch/middleware/templates/rescues/layout.erb97
-rw-r--r--actionpack/lib/action_dispatch/middleware/templates/rescues/missing_template.erb9
-rw-r--r--actionpack/lib/action_dispatch/middleware/templates/rescues/unknown_action.erb8
6 files changed, 150 insertions, 29 deletions
diff --git a/actionpack/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb b/actionpack/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb
index 823f5d25b6..9688bf6a57 100644
--- a/actionpack/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb
+++ b/actionpack/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb
@@ -20,12 +20,15 @@
<h2 style="margin-top: 30px">Request</h2>
<p><b>Parameters</b>: <pre><%=h request_dump %></pre></p>
-<p><a href="#" onclick="document.getElementById('session_dump').style.display='block'; return false;">Show session dump</a></p>
-<div id="session_dump" style="display:none"><pre><%= debug_hash @request.session %></pre></div>
-
-<p><a href="#" onclick="document.getElementById('env_dump').style.display='block'; return false;">Show env dump</a></p>
-<div id="env_dump" style="display:none"><pre><%= debug_hash @request.env.slice(*@request.class::ENV_METHODS) %></pre></div>
-
+<details>
+<summary>Show session dump</summary>
+<p><pre><%= debug_hash @request.session %></pre></p>
+</details>
+
+<details>
+<summary>Show env dump</summary>
+<p><pre><%= debug_hash @request.env.slice(*@request.class::ENV_METHODS) %></pre></p>
+</details>
<h2 style="margin-top: 30px">Response</h2>
<p><b>Headers</b>: <pre><%=h defined?(@response) ? @response.headers.inspect.gsub(',', ",\n") : 'None' %></pre></p>
diff --git a/actionpack/lib/action_dispatch/middleware/templates/rescues/_source.erb b/actionpack/lib/action_dispatch/middleware/templates/rescues/_source.erb
index 032705c01a..38429cb78e 100644
--- a/actionpack/lib/action_dispatch/middleware/templates/rescues/_source.erb
+++ b/actionpack/lib/action_dispatch/middleware/templates/rescues/_source.erb
@@ -1,8 +1,25 @@
<% if @source_extract %>
-Extracted source (around line <strong>#<%= @line_number %></strong>):
+<div class="source">
+<div class="info">
+ Extracted source (around line <strong>#<%= @line_number %></strong>):
+</div>
+<div class="data">
+ <table cellpadding="0" cellspacing="0" class="lines">
+ <tr>
+ <td>
+ <pre class="line_numbers">
+ <% @source_extract.keys.each do |line_number| %>
+<span><%= line_number -%></span>
+ <% end %>
+ </pre>
+ </td>
+<td width="100%">
<pre>
-<% @source_extract.each do |line, source| %>
-<%= "#{(@line_number == line) ? "> " : " "}#{line}: #{source}" -%>
-<% end %>
+<% @source_extract.each do |line, source| -%><div class="line<%= " active" if line == @line_number -%>"><%= source -%></div><% end -%>
</pre>
+</td>
+ </tr>
+ </table>
+</div>
+</div>
<% end %>
diff --git a/actionpack/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb b/actionpack/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb
index 5ad96cc657..1c6b5010a3 100644
--- a/actionpack/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb
+++ b/actionpack/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb
@@ -1,11 +1,16 @@
-<h1>
- <%=h @exception.class.to_s %>
- <% if @request.parameters['controller'] %>
- in <%=h @request.parameters['controller'].camelize %>Controller<% if @request.parameters['action'] %>#<%=h @request.parameters['action'] %><% end %>
- <% end %>
-</h1>
-<pre><%=h @exception.message %></pre>
+<header>
+ <h1>
+ <%=h @exception.class.to_s %>
+ <% if @request.parameters['controller'] %>
+ in <%=h @request.parameters['controller'].camelize %>Controller<% if @request.parameters['action'] %>#<%=h @request.parameters['action'] %><% end %>
+ <% end %>
+ </h1>
+</header>
-<%= render template: "rescues/_source" %>
-<%= render template: "rescues/_trace" %>
-<%= render template: "rescues/_request_and_response" %>
+<div id="container">
+ <h2><%=h @exception.message %></h2>
+
+ <%= render template: "rescues/_source" %>
+ <%= render template: "rescues/_trace" %>
+ <%= render template: "rescues/_request_and_response" %>
+</div>
diff --git a/actionpack/lib/action_dispatch/middleware/templates/rescues/layout.erb b/actionpack/lib/action_dispatch/middleware/templates/rescues/layout.erb
index 1a308707d1..0aba130f05 100644
--- a/actionpack/lib/action_dispatch/middleware/templates/rescues/layout.erb
+++ b/actionpack/lib/action_dispatch/middleware/templates/rescues/layout.erb
@@ -4,7 +4,7 @@
<meta charset="utf-8" />
<title>Action Controller: Exception caught</title>
<style>
- body { background-color: #fff; color: #333; }
+ body { background-color: #fff; color: #333; margin: 0px}
body, p, ol, ul, td {
font-family: helvetica, verdana, arial, sans-serif;
@@ -13,15 +13,102 @@
}
pre {
- background-color: #eee;
- padding: 10px;
font-size: 11px;
white-space: pre-wrap;
}
- a { color: #000; }
+ pre.box {
+ border: #eee solid 1px;
+ padding: 10px;
+ margin: 0px;
+ width: 958px;
+ }
+
+ header {
+ background: whiteSmoke;
+ filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#980905',endColorstr='#c52f24');
+ background: -webkit-gradient(linear,0% 0,0% 100%,from(#980905),to(#C52F24));
+ background: -moz-linear-gradient(270deg,#980905,#C52F24);
+ color: #fff;
+ padding: 0.5em;
+ }
+
+ h2 {
+ color: #C52F24;
+ padding: 2px;
+ }
+
+ details {
+ border: 1px solid #E5E5E5;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+ margin: 1em 0px;
+ display: block;
+ width: 978px;
+ }
+
+ summary {
+ padding: 8px 15px;
+ border-bottom: 1px solid #E5E5E5;
+ display: block;
+ }
+
+ details pre {
+ margin: 0px;
+ border: none;
+ }
+
+ #container {
+ margin: auto;
+ width: 98%;
+ }
+
+ .source * {
+ margin: 0px;
+ padding: 0px;
+ }
+
+ .source {
+ border: 1px solid #D9D9D9;
+ background: #ECECEC;
+ width: 978px;
+ }
+
+ .source pre {
+ padding: 10px 0px;
+ border: none;
+ }
+
+ .source .data {
+ font-size: 80%;
+ overflow: auto;
+ background-color: #fff;
+ }
+
+ .info {
+ padding: 0.5em;
+ }
+
+ .source .data .line_numbers {
+ background-color: #ECECEC;
+ color: #AAA;
+ padding: 1em .5em;
+ border-right: 1px solid #DDD;
+ text-align: right;
+ }
+
+ .line:hover {
+ background-color: #f6f6f6;
+ }
+
+ .line.active {
+ background-color: #FFCCCC;
+ }
+
+ a { color: #980905; }
a:visited { color: #666; }
- a:hover { color: #fff; background-color:#000; }
+ a:hover { color: #C52F24;}
</style>
</head>
<body>
diff --git a/actionpack/lib/action_dispatch/middleware/templates/rescues/missing_template.erb b/actionpack/lib/action_dispatch/middleware/templates/rescues/missing_template.erb
index dbfdf76947..c5917b9acb 100644
--- a/actionpack/lib/action_dispatch/middleware/templates/rescues/missing_template.erb
+++ b/actionpack/lib/action_dispatch/middleware/templates/rescues/missing_template.erb
@@ -1,2 +1,7 @@
-<h1>Template is missing</h1>
-<p><%=h @exception.message %></p>
+<header>
+ <h1>Template is missing</h1>
+</header>
+
+<div id="container">
+ <h2><%=h @exception.message %></h2>
+</div>
diff --git a/actionpack/lib/action_dispatch/middleware/templates/rescues/unknown_action.erb b/actionpack/lib/action_dispatch/middleware/templates/rescues/unknown_action.erb
index 683379da10..65fc34df90 100644
--- a/actionpack/lib/action_dispatch/middleware/templates/rescues/unknown_action.erb
+++ b/actionpack/lib/action_dispatch/middleware/templates/rescues/unknown_action.erb
@@ -1,2 +1,6 @@
-<h1>Unknown action</h1>
-<p><%=h @exception.message %></p>
+<header>
+ <h1>Unknown action</h1>
+</header>
+<div id="container">
+ <h2><%=h @exception.message %></h2>
+ </div>