app_status 1.1.2 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. data/app/controllers/app_status/application_controller.rb +3 -1
  2. data/app/controllers/app_status/status_controller.rb +8 -2
  3. data/app/views/app_status/status/index.html.erb +3 -1
  4. data/bin/nokogiri +16 -0
  5. data/config/routes.rb +2 -2
  6. data/lib/app_status/engine.rb +0 -3
  7. data/lib/app_status/version.rb +1 -1
  8. data/spec/dummy/app/controllers/widgets_controller.rb +83 -0
  9. data/spec/dummy/app/views/layouts/application.html.erb +4 -0
  10. data/spec/dummy/app/views/widgets/_form.html.erb +17 -0
  11. data/spec/dummy/app/views/widgets/edit.html.erb +6 -0
  12. data/spec/dummy/app/views/widgets/index.html.erb +21 -0
  13. data/spec/dummy/app/views/widgets/new.html.erb +5 -0
  14. data/spec/dummy/app/views/widgets/show.html.erb +5 -0
  15. data/spec/dummy/config/routes.rb +3 -1
  16. data/spec/dummy/log/development.log +150 -0
  17. data/spec/dummy/log/test.log +1554 -0
  18. data/spec/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953 +0 -0
  19. data/spec/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
  20. data/spec/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655 +0 -0
  21. data/spec/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6 +0 -0
  22. data/spec/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994 +0 -0
  23. data/spec/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
  24. data/spec/features/app_status_features_spec.rb +90 -0
  25. data/spec/spec_helper.rb +1 -4
  26. metadata +47 -7
  27. data/app/views/layouts/app_status/application.html.erb +0 -14
  28. data/spec/controllers/status_controller_spec.rb +0 -28
@@ -1,4 +1,6 @@
1
1
  module AppStatus
2
- class ApplicationController < ActionController::Base
2
+ # inherit from the parent app's ApplicationController so we can
3
+ # render inside it's default layout.
4
+ class ApplicationController < ::ApplicationController
3
5
  end
4
6
  end
@@ -1,11 +1,17 @@
1
1
  module AppStatus
2
- class StatusController < ApplicationController
2
+ class StatusController < ::ApplicationController
3
3
  def index
4
4
  @checks = CheckCollection.new
5
5
  @checks.evaluate!
6
6
 
7
7
  json_data = @checks.as_json
8
- json_data['more_info'] = app_status_url
8
+
9
+ more_info = app_status_engine.root_url
10
+ # try to build html url, when main app has route like '/status(.:format)'
11
+ if match = more_info.match(/(.*)\.json/)
12
+ more_info = match[1]+'.html'
13
+ end
14
+ json_data['more_info'] = more_info
9
15
 
10
16
  respond_to do |format|
11
17
  format.json { render json: json_data}
@@ -1,5 +1,4 @@
1
1
  <div class="app_status">
2
-
3
2
  <h1 class="<%= @checks.status %>">Current Status : <%= @checks.status %></h1>
4
3
 
5
4
  <% if @checks.size > 0 %>
@@ -10,6 +9,9 @@
10
9
  <td class="name"><%= check.name %></td>
11
10
  <td class="details"><%= check.details %></td>
12
11
  <td class="ms"><%= check.ms %>ms</td>
12
+ <td class="more_info">
13
+ <% if check.description.present? -%>More Info<% end %>
14
+ </td>
13
15
  </tr>
14
16
  <% if check.description.present? -%>
15
17
  <tr class="<%= check.name %> description" style="display: none;">
data/bin/nokogiri ADDED
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # This file was generated by Bundler.
4
+ #
5
+ # The application 'nokogiri' is installed as part of a gem, and
6
+ # this file is here to facilitate running it.
7
+ #
8
+
9
+ require 'pathname'
10
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
11
+ Pathname.new(__FILE__).realpath)
12
+
13
+ require 'rubygems'
14
+ require 'bundler/setup'
15
+
16
+ load Gem.bin_path('nokogiri', 'nokogiri')
data/config/routes.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  AppStatus::Engine.routes.draw do
2
- root :to => 'status#index', :defaults => {:format => 'json'}
3
- get "/index" => 'status#index', :as => 'app_status'
2
+ get '/index(.:format)', to: 'app_status/status#index'
3
+ root to: 'app_status/status#index'
4
4
  end
@@ -1,10 +1,7 @@
1
1
  module AppStatus
2
2
  class Engine < ::Rails::Engine
3
- isolate_namespace AppStatus
4
-
5
3
  config.generators do |g|
6
4
  g.test_framework :rspec, :fixture => false
7
- #g.fixture_replacement :factory_girl, :dir => 'spec/factories'
8
5
  g.assets false
9
6
  g.helper false
10
7
  end
@@ -1,3 +1,3 @@
1
1
  module AppStatus
2
- VERSION = "1.1.2"
2
+ VERSION = "1.2.0"
3
3
  end
@@ -0,0 +1,83 @@
1
+ class WidgetsController < ApplicationController
2
+ # GET /widgets
3
+ # GET /widgets.json
4
+ def index
5
+ @widgets = Widget.all
6
+
7
+ respond_to do |format|
8
+ format.html # index.html.erb
9
+ format.json { render json: @widgets }
10
+ end
11
+ end
12
+
13
+ # GET /widgets/1
14
+ # GET /widgets/1.json
15
+ def show
16
+ @widget = Widget.find(params[:id])
17
+
18
+ respond_to do |format|
19
+ format.html # show.html.erb
20
+ format.json { render json: @widget }
21
+ end
22
+ end
23
+
24
+ # GET /widgets/new
25
+ # GET /widgets/new.json
26
+ def new
27
+ @widget = Widget.new
28
+
29
+ respond_to do |format|
30
+ format.html # new.html.erb
31
+ format.json { render json: @widget }
32
+ end
33
+ end
34
+
35
+ # GET /widgets/1/edit
36
+ def edit
37
+ @widget = Widget.find(params[:id])
38
+ end
39
+
40
+ # POST /widgets
41
+ # POST /widgets.json
42
+ def create
43
+ @widget = Widget.new(params[:widget])
44
+
45
+ respond_to do |format|
46
+ if @widget.save
47
+ format.html { redirect_to @widget, notice: 'Widget was successfully created.' }
48
+ format.json { render json: @widget, status: :created, location: @widget }
49
+ else
50
+ format.html { render action: "new" }
51
+ format.json { render json: @widget.errors, status: :unprocessable_entity }
52
+ end
53
+ end
54
+ end
55
+
56
+ # PUT /widgets/1
57
+ # PUT /widgets/1.json
58
+ def update
59
+ @widget = Widget.find(params[:id])
60
+
61
+ respond_to do |format|
62
+ if @widget.update_attributes(params[:widget])
63
+ format.html { redirect_to @widget, notice: 'Widget was successfully updated.' }
64
+ format.json { head :no_content }
65
+ else
66
+ format.html { render action: "edit" }
67
+ format.json { render json: @widget.errors, status: :unprocessable_entity }
68
+ end
69
+ end
70
+ end
71
+
72
+ # DELETE /widgets/1
73
+ # DELETE /widgets/1.json
74
+ def destroy
75
+ @widget = Widget.find(params[:id])
76
+ @widget.destroy
77
+
78
+ respond_to do |format|
79
+ format.html { redirect_to widgets_url }
80
+ format.json { head :no_content }
81
+ end
82
+ end
83
+ end
@@ -8,6 +8,10 @@
8
8
  </head>
9
9
  <body>
10
10
 
11
+ <div id="widget_menu">
12
+ Widgets are at <%= widgets_url %>.
13
+ </div>
14
+
11
15
  <%= yield %>
12
16
 
13
17
  </body>
@@ -0,0 +1,17 @@
1
+ <%= form_for(@widget) do |f| %>
2
+ <% if @widget.errors.any? %>
3
+ <div id="error_explanation">
4
+ <h2><%= pluralize(@widget.errors.count, "error") %> prohibited this widget from being saved:</h2>
5
+
6
+ <ul>
7
+ <% @widget.errors.full_messages.each do |msg| %>
8
+ <li><%= msg %></li>
9
+ <% end %>
10
+ </ul>
11
+ </div>
12
+ <% end %>
13
+
14
+ <div class="actions">
15
+ <%= f.submit %>
16
+ </div>
17
+ <% end %>
@@ -0,0 +1,6 @@
1
+ <h1>Editing widget</h1>
2
+
3
+ <%= render 'form' %>
4
+
5
+ <%= link_to 'Show', @widget %> |
6
+ <%= link_to 'Back', widgets_path %>
@@ -0,0 +1,21 @@
1
+ <h1>Listing widgets</h1>
2
+
3
+ <table>
4
+ <tr>
5
+ <th></th>
6
+ <th></th>
7
+ <th></th>
8
+ </tr>
9
+
10
+ <% @widgets.each do |widget| %>
11
+ <tr>
12
+ <td><%= link_to 'Show', widget %></td>
13
+ <td><%= link_to 'Edit', edit_widget_path(widget) %></td>
14
+ <td><%= link_to 'Destroy', widget, method: :delete, data: { confirm: 'Are you sure?' } %></td>
15
+ </tr>
16
+ <% end %>
17
+ </table>
18
+
19
+ <br />
20
+
21
+ <%= link_to 'New Widget', new_widget_path %>
@@ -0,0 +1,5 @@
1
+ <h1>New widget</h1>
2
+
3
+ <%= render 'form' %>
4
+
5
+ <%= link_to 'Back', widgets_path %>
@@ -0,0 +1,5 @@
1
+ <p id="notice"><%= notice %></p>
2
+
3
+
4
+ <%= link_to 'Edit', edit_widget_path(@widget) %> |
5
+ <%= link_to 'Back', widgets_path %>
@@ -1,3 +1,5 @@
1
1
  Rails.application.routes.draw do
2
- mount AppStatus::Engine => "/status"
2
+ resources :widgets
3
+
4
+ mount AppStatus::Engine => "/status(.:format)", defaults: {format: 'json'}
3
5
  end
@@ -815,3 +815,153 @@ Served asset /jquery.js - 304 Not Modified (0ms)
815
815
 
816
816
  Started GET "/assets/jquery_ujs.js?body=1" for 127.0.0.1 at 2013-10-08 21:51:51 -0500
817
817
  Served asset /jquery_ujs.js - 304 Not Modified (0ms)
818
+
819
+
820
+ Started GET "/status/index.json" for 127.0.0.1 at 2013-10-12 17:01:20 -0500
821
+ Processing by AppStatus::StatusController#index as JSON
822
+ Completed 200 OK in 3ms (Views: 0.5ms)
823
+
824
+
825
+ Started GET "/status/index.html" for 127.0.0.1 at 2013-10-12 17:01:27 -0500
826
+ Processing by AppStatus::StatusController#index as HTML
827
+ Rendered /Users/alex/Code/app_status/app/views/app_status/status/index.html.erb within layouts/application (80.8ms)
828
+ Compiled application.css (0ms) (pid 62743)
829
+ Compiled application.js (6ms) (pid 62743)
830
+ Completed 200 OK in 128ms (Views: 128.0ms)
831
+
832
+
833
+ Started GET "/assets/application.css?body=1" for 127.0.0.1 at 2013-10-12 17:01:27 -0500
834
+ Served asset /application.css - 200 OK (1ms)
835
+
836
+
837
+ Started GET "/assets/jquery.js?body=1" for 127.0.0.1 at 2013-10-12 17:01:27 -0500
838
+ Served asset /jquery.js - 200 OK (1ms)
839
+
840
+
841
+ Started GET "/assets/jquery_ujs.js?body=1" for 127.0.0.1 at 2013-10-12 17:01:27 -0500
842
+ Served asset /jquery_ujs.js - 200 OK (1ms)
843
+
844
+
845
+ Started GET "/assets/application.js?body=1" for 127.0.0.1 at 2013-10-12 17:01:27 -0500
846
+ Served asset /application.js - 200 OK (2ms)
847
+
848
+
849
+ Started GET "/status.html" for 127.0.0.1 at 2013-10-12 17:10:04 -0500
850
+ Processing by AppStatus::StatusController#index as HTML
851
+ Rendered /Users/alex/Code/app_status/app/views/app_status/status/index.html.erb within layouts/application (5.4ms)
852
+ Completed 500 Internal Server Error in 12ms
853
+
854
+ ActionView::Template::Error (rendering HTML):
855
+ 1: <% raise "rendering HTML" %>
856
+ 2: <div class="app_status">
857
+ 3: <h1 class="<%= @checks.status %>">Current Status : <%= @checks.status %></h1>
858
+ 4:
859
+ /Users/alex/Code/app_status/app/views/app_status/status/index.html.erb:1:in `___sers_alex__ode_app_status_app_views_app_status_status_index_html_erb__4255533823524142632_70320794355040'
860
+ actionpack (3.2.14) lib/action_view/template.rb:145:in `block in render'
861
+ activesupport (3.2.14) lib/active_support/notifications.rb:125:in `instrument'
862
+ actionpack (3.2.14) lib/action_view/template.rb:143:in `render'
863
+ actionpack (3.2.14) lib/action_view/renderer/template_renderer.rb:48:in `block (2 levels) in render_template'
864
+ actionpack (3.2.14) lib/action_view/renderer/abstract_renderer.rb:38:in `block in instrument'
865
+ activesupport (3.2.14) lib/active_support/notifications.rb:123:in `block in instrument'
866
+ activesupport (3.2.14) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
867
+ activesupport (3.2.14) lib/active_support/notifications.rb:123:in `instrument'
868
+ actionpack (3.2.14) lib/action_view/renderer/abstract_renderer.rb:38:in `instrument'
869
+ actionpack (3.2.14) lib/action_view/renderer/template_renderer.rb:47:in `block in render_template'
870
+ actionpack (3.2.14) lib/action_view/renderer/template_renderer.rb:55:in `render_with_layout'
871
+ actionpack (3.2.14) lib/action_view/renderer/template_renderer.rb:46:in `render_template'
872
+ actionpack (3.2.14) lib/action_view/renderer/template_renderer.rb:19:in `render'
873
+ actionpack (3.2.14) lib/action_view/renderer/renderer.rb:36:in `render_template'
874
+ actionpack (3.2.14) lib/action_view/renderer/renderer.rb:17:in `render'
875
+ actionpack (3.2.14) lib/abstract_controller/rendering.rb:110:in `_render_template'
876
+ actionpack (3.2.14) lib/action_controller/metal/streaming.rb:225:in `_render_template'
877
+ actionpack (3.2.14) lib/abstract_controller/rendering.rb:103:in `render_to_body'
878
+ actionpack (3.2.14) lib/action_controller/metal/renderers.rb:28:in `render_to_body'
879
+ actionpack (3.2.14) lib/action_controller/metal/compatibility.rb:50:in `render_to_body'
880
+ actionpack (3.2.14) lib/abstract_controller/rendering.rb:88:in `render'
881
+ actionpack (3.2.14) lib/action_controller/metal/rendering.rb:16:in `render'
882
+ actionpack (3.2.14) lib/action_controller/metal/instrumentation.rb:40:in `block (2 levels) in render'
883
+ activesupport (3.2.14) lib/active_support/core_ext/benchmark.rb:5:in `block in ms'
884
+ /Users/alex/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/benchmark.rb:295:in `realtime'
885
+ activesupport (3.2.14) lib/active_support/core_ext/benchmark.rb:5:in `ms'
886
+ actionpack (3.2.14) lib/action_controller/metal/instrumentation.rb:40:in `block in render'
887
+ actionpack (3.2.14) lib/action_controller/metal/instrumentation.rb:83:in `cleanup_view_runtime'
888
+ actionpack (3.2.14) lib/action_controller/metal/instrumentation.rb:39:in `render'
889
+ actionpack (3.2.14) lib/action_controller/metal/implicit_render.rb:10:in `default_render'
890
+ actionpack (3.2.14) lib/action_controller/metal/mime_responds.rb:196:in `respond_to'
891
+ /Users/alex/Code/app_status/app/controllers/app_status/status_controller.rb:18:in `index'
892
+ actionpack (3.2.14) lib/action_controller/metal/implicit_render.rb:4:in `send_action'
893
+ actionpack (3.2.14) lib/abstract_controller/base.rb:167:in `process_action'
894
+ actionpack (3.2.14) lib/action_controller/metal/rendering.rb:10:in `process_action'
895
+ actionpack (3.2.14) lib/abstract_controller/callbacks.rb:18:in `block in process_action'
896
+ activesupport (3.2.14) lib/active_support/callbacks.rb:414:in `_run__3823003795726122098__process_action__1171103283506279445__callbacks'
897
+ activesupport (3.2.14) lib/active_support/callbacks.rb:405:in `__run_callback'
898
+ activesupport (3.2.14) lib/active_support/callbacks.rb:385:in `_run_process_action_callbacks'
899
+ activesupport (3.2.14) lib/active_support/callbacks.rb:81:in `run_callbacks'
900
+ actionpack (3.2.14) lib/abstract_controller/callbacks.rb:17:in `process_action'
901
+ actionpack (3.2.14) lib/action_controller/metal/rescue.rb:29:in `process_action'
902
+ actionpack (3.2.14) lib/action_controller/metal/instrumentation.rb:30:in `block in process_action'
903
+ activesupport (3.2.14) lib/active_support/notifications.rb:123:in `block in instrument'
904
+ activesupport (3.2.14) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
905
+ activesupport (3.2.14) lib/active_support/notifications.rb:123:in `instrument'
906
+ actionpack (3.2.14) lib/action_controller/metal/instrumentation.rb:29:in `process_action'
907
+ actionpack (3.2.14) lib/action_controller/metal/params_wrapper.rb:207:in `process_action'
908
+ actionpack (3.2.14) lib/abstract_controller/base.rb:121:in `process'
909
+ actionpack (3.2.14) lib/abstract_controller/rendering.rb:45:in `process'
910
+ actionpack (3.2.14) lib/action_controller/metal.rb:203:in `dispatch'
911
+ actionpack (3.2.14) lib/action_controller/metal/rack_delegation.rb:14:in `dispatch'
912
+ actionpack (3.2.14) lib/action_controller/metal.rb:246:in `block in action'
913
+ actionpack (3.2.14) lib/action_dispatch/routing/route_set.rb:73:in `call'
914
+ actionpack (3.2.14) lib/action_dispatch/routing/route_set.rb:73:in `dispatch'
915
+ actionpack (3.2.14) lib/action_dispatch/routing/route_set.rb:36:in `call'
916
+ journey (1.0.4) lib/journey/router.rb:68:in `block in call'
917
+ journey (1.0.4) lib/journey/router.rb:56:in `each'
918
+ journey (1.0.4) lib/journey/router.rb:56:in `call'
919
+ actionpack (3.2.14) lib/action_dispatch/routing/route_set.rb:608:in `call'
920
+ railties (3.2.14) lib/rails/engine.rb:484:in `call'
921
+ railties (3.2.14) lib/rails/railtie/configurable.rb:30:in `method_missing'
922
+ journey (1.0.4) lib/journey/router.rb:68:in `block in call'
923
+ journey (1.0.4) lib/journey/router.rb:56:in `each'
924
+ journey (1.0.4) lib/journey/router.rb:56:in `call'
925
+ actionpack (3.2.14) lib/action_dispatch/routing/route_set.rb:608:in `call'
926
+ actionpack (3.2.14) lib/action_dispatch/middleware/best_standards_support.rb:17:in `call'
927
+ rack (1.4.5) lib/rack/etag.rb:23:in `call'
928
+ rack (1.4.5) lib/rack/conditionalget.rb:25:in `call'
929
+ actionpack (3.2.14) lib/action_dispatch/middleware/head.rb:14:in `call'
930
+ actionpack (3.2.14) lib/action_dispatch/middleware/params_parser.rb:21:in `call'
931
+ actionpack (3.2.14) lib/action_dispatch/middleware/flash.rb:242:in `call'
932
+ rack (1.4.5) lib/rack/session/abstract/id.rb:210:in `context'
933
+ rack (1.4.5) lib/rack/session/abstract/id.rb:205:in `call'
934
+ actionpack (3.2.14) lib/action_dispatch/middleware/cookies.rb:341:in `call'
935
+ actionpack (3.2.14) lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'
936
+ activesupport (3.2.14) lib/active_support/callbacks.rb:405:in `_run__3779300152876328565__call__313638182897300773__callbacks'
937
+ activesupport (3.2.14) lib/active_support/callbacks.rb:405:in `__run_callback'
938
+ activesupport (3.2.14) lib/active_support/callbacks.rb:385:in `_run_call_callbacks'
939
+ activesupport (3.2.14) lib/active_support/callbacks.rb:81:in `run_callbacks'
940
+ actionpack (3.2.14) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
941
+ actionpack (3.2.14) lib/action_dispatch/middleware/reloader.rb:65:in `call'
942
+ actionpack (3.2.14) lib/action_dispatch/middleware/remote_ip.rb:31:in `call'
943
+ actionpack (3.2.14) lib/action_dispatch/middleware/debug_exceptions.rb:16:in `call'
944
+ actionpack (3.2.14) lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
945
+ railties (3.2.14) lib/rails/rack/logger.rb:32:in `call_app'
946
+ railties (3.2.14) lib/rails/rack/logger.rb:16:in `block in call'
947
+ activesupport (3.2.14) lib/active_support/tagged_logging.rb:22:in `tagged'
948
+ railties (3.2.14) lib/rails/rack/logger.rb:16:in `call'
949
+ actionpack (3.2.14) lib/action_dispatch/middleware/request_id.rb:22:in `call'
950
+ rack (1.4.5) lib/rack/methodoverride.rb:21:in `call'
951
+ rack (1.4.5) lib/rack/runtime.rb:17:in `call'
952
+ activesupport (3.2.14) lib/active_support/cache/strategy/local_cache.rb:72:in `call'
953
+ rack (1.4.5) lib/rack/lock.rb:15:in `call'
954
+ actionpack (3.2.14) lib/action_dispatch/middleware/static.rb:63:in `call'
955
+ railties (3.2.14) lib/rails/engine.rb:484:in `call'
956
+ railties (3.2.14) lib/rails/application.rb:231:in `call'
957
+ rack (1.4.5) lib/rack/content_length.rb:14:in `call'
958
+ railties (3.2.14) lib/rails/rack/log_tailer.rb:17:in `call'
959
+ rack (1.4.5) lib/rack/handler/webrick.rb:59:in `service'
960
+ /Users/alex/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/httpserver.rb:138:in `service'
961
+ /Users/alex/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run'
962
+ /Users/alex/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread'
963
+
964
+
965
+ Rendered /Users/alex/.rvm/gems/ruby-1.9.3-p194@app_status/gems/actionpack-3.2.14/lib/action_dispatch/middleware/templates/rescues/_trace.erb (12.1ms)
966
+ Rendered /Users/alex/.rvm/gems/ruby-1.9.3-p194@app_status/gems/actionpack-3.2.14/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (0.7ms)
967
+ Rendered /Users/alex/.rvm/gems/ruby-1.9.3-p194@app_status/gems/actionpack-3.2.14/lib/action_dispatch/middleware/templates/rescues/template_error.erb within rescues/layout (19.5ms)