Skip to content

Instantly share code, notes, and snippets.

@cjohansen
Created August 19, 2014 07:13
Show Gist options
  • Save cjohansen/419cd5f2d19e298efcb0 to your computer and use it in GitHub Desktop.
Save cjohansen/419cd5f2d19e298efcb0 to your computer and use it in GitHub Desktop.
<body>
<style>
/* Basic reset */
* {
margin: 0;
padding: 0;
}
table {
width: 100%;
border-collapse: collapse;
}
th, td {
vertical-align: top;
text-align: left;
}
textarea {
resize: none;
}
body {
font-size: 10pt;
}
body, td, input, textarea {
font-family: helvetica neue, lucida grande, sans-serif;
line-height: 1.5;
color: #333;
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6);
}
html {
background: #f0f0f5;
}
.clearfix::after{
clear: both;
content: ".";
display: block;
height: 0;
visibility: hidden;
}
/* ---------------------------------------------------------------------
* Basic layout
* --------------------------------------------------------------------- */
/* Small */
@media screen and (max-width: 1100px) {
html {
overflow-y: scroll;
}
body {
margin: 0 20px;
}
header.exception {
margin: 0 -20px;
}
nav.sidebar {
padding: 0;
margin: 20px 0;
}
ul.frames {
max-height: 200px;
overflow: auto;
}
}
/* Wide */
@media screen and (min-width: 1100px) {
header.exception {
position: fixed;
top: 0;
left: 0;
right: 0;
}
nav.sidebar,
.frame_info {
position: fixed;
top: 95px;
bottom: 0;
box-sizing: border-box;
overflow-y: auto;
overflow-x: hidden;
}
nav.sidebar {
width: 40%;
left: 20px;
top: 115px;
bottom: 20px;
}
.frame_info {
right: 0;
left: 40%;
padding: 20px;
padding-left: 10px;
margin-left: 30px;
}
}
nav.sidebar {
background: #d3d3da;
border-top: solid 3px #a33;
border-bottom: solid 3px #a33;
border-radius: 4px;
box-shadow: 0 0 6px rgba(0, 0, 0, 0.2), inset 0 0 0 1px rgba(0, 0, 0, 0.1);
}
/* ---------------------------------------------------------------------
* Header
* --------------------------------------------------------------------- */
header.exception {
padding: 18px 20px;
height: 59px;
min-height: 59px;
overflow: hidden;
background-color: #20202a;
color: #aaa;
text-shadow: 0 1px 0 rgba(0, 0, 0, 0.3);
font-weight: 200;
box-shadow: inset 0 -5px 3px -3px rgba(0, 0, 0, 0.05), inset 0 -1px 0 rgba(0, 0, 0, 0.05);
-webkit-text-smoothing: antialiased;
}
/* Heading */
header.exception h2 {
font-weight: 200;
font-size: 11pt;
}
header.exception h2,
header.exception p {
line-height: 1.4em;
overflow: hidden;
white-space: pre;
text-overflow: ellipsis;
}
header.exception h2 strong {
font-weight: 700;
color: #d55;
}
header.exception p {
font-weight: 200;
font-size: 20pt;
color: white;
}
header.exception:hover {
height: auto;
z-index: 2;
}
header.exception:hover h2,
header.exception:hover p {
padding-right: 20px;
overflow-y: auto;
word-wrap: break-word;
white-space: pre-wrap;
height: auto;
max-height: 7em;
}
@media screen and (max-width: 1100px) {
header.exception {
height: auto;
}
header.exception h2,
header.exception p {
padding-right: 20px;
overflow-y: auto;
word-wrap: break-word;
height: auto;
max-height: 7em;
}
}
/* ---------------------------------------------------------------------
* Navigation
* --------------------------------------------------------------------- */
nav.tabs {
border-bottom: solid 1px #ddd;
background-color: #eee;
text-align: center;
padding: 6px;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
nav.tabs a {
display: inline-block;
height: 22px;
line-height: 22px;
padding: 0 10px;
text-decoration: none;
font-size: 8pt;
font-weight: bold;
color: #999;
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6);
}
nav.tabs a.selected {
color: white;
background: rgba(0, 0, 0, 0.5);
border-radius: 16px;
box-shadow: 1px 1px 0 rgba(255, 255, 255, 0.1);
text-shadow: 0 0 4px rgba(0, 0, 0, 0.4), 0 1px 0 rgba(0, 0, 0, 0.4);
}
nav.tabs a.disabled {
text-decoration: line-through;
text-shadow: none;
cursor: default;
}
/* ---------------------------------------------------------------------
* Sidebar
* --------------------------------------------------------------------- */
ul.frames {
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
/* Each item */
ul.frames li {
background-color: #f8f8f8;
background: -webkit-linear-gradient(top, #f8f8f8 80%, #f0f0f0);
background: -moz-linear-gradient(top, #f8f8f8 80%, #f0f0f0);
background: linear-gradient(top, #f8f8f8 80%, #f0f0f0);
box-shadow: inset 0 -1px 0 #e2e2e2;
padding: 7px 20px;
cursor: pointer;
overflow: hidden;
}
ul.frames .name,
ul.frames .location {
overflow: hidden;
height: 1.5em;
white-space: nowrap;
word-wrap: none;
text-overflow: ellipsis;
}
ul.frames .method {
color: #966;
}
ul.frames .location {
font-size: 0.85em;
font-weight: 400;
color: #999;
}
ul.frames .line {
font-weight: bold;
}
/* Selected frame */
ul.frames li.selected {
background: #38a;
box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.1), inset 0 2px 0 rgba(255, 255, 255, 0.01), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
}
ul.frames li.selected .name,
ul.frames li.selected .method,
ul.frames li.selected .location {
color: white;
text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
}
ul.frames li.selected .location {
opacity: 0.6;
}
/* Iconography */
ul.frames li {
padding-left: 60px;
position: relative;
}
ul.frames li .icon {
display: block;
width: 20px;
height: 20px;
line-height: 20px;
border-radius: 15px;
text-align: center;
background: white;
border: solid 2px #ccc;
font-size: 9pt;
font-weight: 200;
font-style: normal;
position: absolute;
top: 14px;
left: 20px;
}
ul.frames .icon.application {
background: #808090;
border-color: #555;
}
ul.frames .icon.application:before {
content: 'A';
color: white;
text-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
}
/* Responsiveness -- flow to single-line mode */
@media screen and (max-width: 1100px) {
ul.frames li {
padding-top: 6px;
padding-bottom: 6px;
padding-left: 36px;
line-height: 1.3;
}
ul.frames li .icon {
width: 11px;
height: 11px;
line-height: 11px;
top: 7px;
left: 10px;
font-size: 5pt;
}
ul.frames .name,
ul.frames .location {
display: inline-block;
line-height: 1.3;
height: 1.3em;
}
ul.frames .name {
margin-right: 10px;
}
}
/* ---------------------------------------------------------------------
* Monospace
* --------------------------------------------------------------------- */
pre, code, .repl input, .repl .prompt span, textarea, .code_linenums {
font-family: menlo, lucida console, monospace;
font-size: 8pt;
}
/* ---------------------------------------------------------------------
* Display area
* --------------------------------------------------------------------- */
.trace_info {
background: #fff;
padding: 6px;
border-radius: 3px;
margin-bottom: 2px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.03), 1px 1px 0 rgba(0, 0, 0, 0.05), -1px 1px 0 rgba(0, 0, 0, 0.05), 0 0 0 4px rgba(0, 0, 0, 0.04);
}
.code_block{
background: #f1f1f1;
border-left: 1px solid #ccc;
}
/* Titlebar */
.trace_info .title {
background: #f1f1f1;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.3);
overflow: hidden;
padding: 6px 10px;
border: solid 1px #ccc;
border-bottom: 0;
border-top-left-radius: 2px;
border-top-right-radius: 2px;
}
.trace_info .title .name,
.trace_info .title .location {
font-size: 9pt;
line-height: 26px;
height: 26px;
overflow: hidden;
}
.trace_info .title .location {
float: left;
font-weight: bold;
font-size: 10pt;
}
.trace_info .title .location a {
color:inherit;
text-decoration:none;
border-bottom:1px solid #aaaaaa;
}
.trace_info .title .location a:hover {
border-color:#666666;
}
.trace_info .title .name {
float: right;
font-weight: 200;
}
.code, .console, .unavailable {
background: #fff;
padding: 5px;
box-shadow: inset 3px 3px 3px rgba(0, 0, 0, 0.1), inset 0 0 0 1px rgba(0, 0, 0, 0.1);
}
.code_linenums{
background:#f1f1f1;
padding-top:10px;
padding-bottom:9px;
float:left;
}
.code_linenums span{
display:block;
padding:0 12px;
}
.code {
margin-bottom: -1px;
border-top-left-radius:2px;
padding: 10px 0;
overflow: auto;
}
.code pre{
padding-left:12px;
min-height:16px;
}
/* Source unavailable */
p.unavailable {
padding: 20px 0 40px 0;
text-align: center;
color: #b99;
font-weight: bold;
}
p.unavailable:before {
content: '\00d7';
display: block;
color: #daa;
text-align: center;
font-size: 40pt;
font-weight: normal;
margin-bottom: -10px;
}
@-webkit-keyframes highlight {
0% { background: rgba(220, 30, 30, 0.3); }
100% { background: rgba(220, 30, 30, 0.1); }
}
@-moz-keyframes highlight {
0% { background: rgba(220, 30, 30, 0.3); }
100% { background: rgba(220, 30, 30, 0.1); }
}
@keyframes highlight {
0% { background: rgba(220, 30, 30, 0.3); }
100% { background: rgba(220, 30, 30, 0.1); }
}
.code .highlight, .code_linenums .highlight {
background: rgba(220, 30, 30, 0.1);
-webkit-animation: highlight 400ms linear 1;
-moz-animation: highlight 400ms linear 1;
animation: highlight 400ms linear 1;
}
/* REPL shell */
.console {
padding: 0 1px 10px 1px;
border-bottom-left-radius: 2px;
border-bottom-right-radius: 2px;
}
.console pre {
padding: 10px 10px 0 10px;
max-height: 400px;
overflow-x: none;
overflow-y: auto;
margin-bottom: -3px;
word-wrap: break-word;
white-space: pre-wrap;
}
/* .prompt > span + input */
.console .prompt {
display: table;
width: 100%;
}
.console .prompt span,
.console .prompt input {
display: table-cell;
}
.console .prompt span {
width: 1%;
padding-right: 5px;
padding-left: 10px;
}
.console .prompt input {
width: 99%;
}
/* Input box */
.console input,
.console input:focus {
outline: 0;
border: 0;
padding: 0;
background: transparent;
margin: 0;
}
/* Hint text */
.hint {
margin: 15px 0 20px 0;
font-size: 8pt;
color: #8080a0;
padding-left: 20px;
}
.hint:before {
content: '\25b2';
margin-right: 5px;
opacity: 0.5;
}
/* ---------------------------------------------------------------------
* Variable infos
* --------------------------------------------------------------------- */
.sub {
padding: 10px 0;
margin: 10px 0;
}
.sub:before {
content: '';
display: block;
width: 100%;
height: 4px;
border-radius: 2px;
background: rgba(0, 150, 200, 0.05);
box-shadow: 1px 1px 0 rgba(255, 255, 255, 0.7), inset 0 0 0 1px rgba(0, 0, 0, 0.04), inset 2px 2px 2px rgba(0, 0, 0, 0.07);
}
.sub h3 {
color: #39a;
font-size: 1.1em;
margin: 10px 0;
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6);
-webkit-font-smoothing: antialiased;
}
.sub .inset {
overflow-y: auto;
}
.sub table {
table-layout: fixed;
}
.sub table td {
border-top: dotted 1px #ddd;
padding: 7px 1px;
}
.sub table td.name {
width: 150px;
font-weight: bold;
font-size: 0.8em;
padding-right: 20px;
word-wrap: break-word;
}
.sub table td pre {
max-height: 15em;
overflow-y: auto;
}
.sub table td pre {
width: 100%;
word-wrap: break-word;
white-space: normal;
}
/* "(object doesn't support inspect)" */
.sub .unsupported {
font-family: sans-serif;
color: #777;
}
/* ---------------------------------------------------------------------
* Scrollbar
* --------------------------------------------------------------------- */
nav.sidebar::-webkit-scrollbar,
.inset pre::-webkit-scrollbar,
.console pre::-webkit-scrollbar,
.code::-webkit-scrollbar {
width: 10px;
height: 10px;
}
.inset pre::-webkit-scrollbar-thumb,
.console pre::-webkit-scrollbar-thumb,
.code::-webkit-scrollbar-thumb {
background: #ccc;
border-radius: 5px;
}
nav.sidebar::-webkit-scrollbar-thumb {
background: rgba(0, 0, 0, 0.0);
border-radius: 5px;
}
nav.sidebar:hover::-webkit-scrollbar-thumb {
background-color: #999;
background: -webkit-linear-gradient(left, #aaa, #999);
}
.console pre:hover::-webkit-scrollbar-thumb,
.inset pre:hover::-webkit-scrollbar-thumb,
.code:hover::-webkit-scrollbar-thumb {
background: #888;
}
</style>
<script>
(function() {
var elements = ["section", "nav", "header", "footer", "audio"];
for (var i = 0; i < elements.length; i++) {
document.createElement(elements[i]);
}
})();
</script>
<script>
if (window.Turbolinks) {
for(var i=0; i < document.styleSheets.length; i++) {
if(document.styleSheets[i].href)
document.styleSheets[i].disabled = true;
}
document.addEventListener("page:restore", function restoreCSS(e) {
for(var i=0; i < document.styleSheets.length; i++) {
document.styleSheets[i].disabled = false;
}
document.removeEventListener("page:restore", restoreCSS, false);
});
}
</script>
<div class="top">
<header class="exception">
<h2><strong>ActiveRecord::StatementInvalid</strong> <span>at /books</span></h2>
<p>SQLite3::SQLException: no such table: books: SELECT "books".* FROM "books"</p>
</header>
</div>
<section class="backtrace">
<nav class="sidebar">
<nav class="tabs">
<a href="#" id="application_frames" class="">Application Frames</a>
<a href="#" id="all_frames" class="selected">All Frames</a>
</nav>
<ul class="frames">
<li class="gem" data-context="gem" data-index="0" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>ActiveRecord::ConnectionAdapters::SQLite3Adapter</strong><span class="method">#log</span>
</div>
<div class="location">
<span class="filename">activerecord (3.0.5) lib/active_record/connection_adapters/abstract_adapter.rb</span>, line <span class="line">207</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="1" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>ActiveRecord::ConnectionAdapters::SQLite3Adapter</strong><span class="method">#log</span>
</div>
<div class="location">
<span class="filename">activerecord (3.0.5) lib/active_record/connection_adapters/abstract_adapter.rb</span>, line <span class="line">199</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="2" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>ActiveRecord::ConnectionAdapters::SQLite3Adapter</strong><span class="method">#execute</span>
</div>
<div class="location">
<span class="filename">activerecord (3.0.5) lib/active_record/connection_adapters/sqlite_adapter.rb</span>, line <span class="line">135</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="3" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>ActiveRecord::ConnectionAdapters::SQLite3Adapter</strong><span class="method">#select</span>
</div>
<div class="location">
<span class="filename">activerecord (3.0.5) lib/active_record/connection_adapters/sqlite_adapter.rb</span>, line <span class="line">284</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="4" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>ActiveRecord::ConnectionAdapters::SQLite3Adapter</strong><span class="method">#select_all</span>
</div>
<div class="location">
<span class="filename">activerecord (3.0.5) lib/active_record/connection_adapters/abstract/database_statements.rb</span>, line <span class="line">7</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="5" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>block in ActiveRecord::ConnectionAdapters::SQLite3Adapter</strong><span class="method">#select_all</span>
</div>
<div class="location">
<span class="filename">activerecord (3.0.5) lib/active_record/connection_adapters/abstract/query_cache.rb</span>, line <span class="line">54</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="6" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>ActiveRecord::ConnectionAdapters::SQLite3Adapter</strong><span class="method">#cache_sql</span>
</div>
<div class="location">
<span class="filename">activerecord (3.0.5) lib/active_record/connection_adapters/abstract/query_cache.rb</span>, line <span class="line">68</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="7" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>ActiveRecord::ConnectionAdapters::SQLite3Adapter</strong><span class="method">#select_all</span>
</div>
<div class="location">
<span class="filename">activerecord (3.0.5) lib/active_record/connection_adapters/abstract/query_cache.rb</span>, line <span class="line">54</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="8" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>Book</strong><span class="method">.find_by_sql</span>
</div>
<div class="location">
<span class="filename">activerecord (3.0.5) lib/active_record/base.rb</span>, line <span class="line">467</span>
</div>
</div>
</li>
<li class="" data-context="gem" data-index="9" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>ActiveRecord::Relation</strong><span class="method">#to_a</span>
</div>
<div class="location">
<span class="filename">activerecord (3.0.5) lib/active_record/relation.rb</span>, line <span class="line">64</span>
</div>
</div>
</li>
<li class="" data-context="gem" data-index="10" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>ActiveRecord::Relation</strong><span class="method">#all</span>
</div>
<div class="location">
<span class="filename">activerecord (3.0.5) lib/active_record/relation/finder_methods.rb</span>, line <span class="line">143</span>
</div>
</div>
</li>
<li class="" data-context="gem" data-index="11" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>Book</strong><span class="method">.all</span>
</div>
<div class="location">
<span class="filename">activerecord (3.0.5) lib/active_record/base.rb</span>, line <span class="line">439</span>
</div>
</div>
</li>
<li class="selected" data-context="application" data-index="12" style="display: block;">
<span class="stroke"></span>
<i class="icon application"></i>
<div class="info">
<div class="name">
<strong>BooksController</strong><span class="method">#index</span>
</div>
<div class="location">
<span class="filename">app/controllers/books_controller.rb</span>, line <span class="line">5</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="13" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>BooksController</strong><span class="method">#send_action</span>
</div>
<div class="location">
<span class="filename">actionpack (3.0.5) lib/action_controller/metal/implicit_render.rb</span>, line <span class="line">4</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="14" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>BooksController</strong><span class="method">#process_action</span>
</div>
<div class="location">
<span class="filename">actionpack (3.0.5) lib/abstract_controller/base.rb</span>, line <span class="line">150</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="15" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>BooksController</strong><span class="method">#process_action</span>
</div>
<div class="location">
<span class="filename">actionpack (3.0.5) lib/action_controller/metal/rendering.rb</span>, line <span class="line">11</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="16" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>block in BooksController</strong><span class="method">#process_action</span>
</div>
<div class="location">
<span class="filename">actionpack (3.0.5) lib/abstract_controller/callbacks.rb</span>, line <span class="line">18</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="17" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>BooksController</strong><span class="method">#_run__292662028487434682__process_action__1576781222393237974__callbacks</span>
</div>
<div class="location">
<span class="filename">activesupport (3.0.5) lib/active_support/callbacks.rb</span>, line <span class="line">435</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="18" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>BooksController</strong><span class="method">#_run_process_action_callbacks</span>
</div>
<div class="location">
<span class="filename">activesupport (3.0.5) lib/active_support/callbacks.rb</span>, line <span class="line">409</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="19" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>BooksController</strong><span class="method">#run_callbacks</span>
</div>
<div class="location">
<span class="filename">activesupport (3.0.5) lib/active_support/callbacks.rb</span>, line <span class="line">93</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="20" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>BooksController</strong><span class="method">#process_action</span>
</div>
<div class="location">
<span class="filename">actionpack (3.0.5) lib/abstract_controller/callbacks.rb</span>, line <span class="line">17</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="21" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>block in BooksController</strong><span class="method">#process_action</span>
</div>
<div class="location">
<span class="filename">actionpack (3.0.5) lib/action_controller/metal/instrumentation.rb</span>, line <span class="line">30</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="22" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>block in ActiveSupport::Notifications</strong><span class="method">.instrument</span>
</div>
<div class="location">
<span class="filename">activesupport (3.0.5) lib/active_support/notifications.rb</span>, line <span class="line">52</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="23" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>ActiveSupport::Notifications::Instrumenter</strong><span class="method">#instrument</span>
</div>
<div class="location">
<span class="filename">activesupport (3.0.5) lib/active_support/notifications/instrumenter.rb</span>, line <span class="line">21</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="24" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>ActiveSupport::Notifications</strong><span class="method">.instrument</span>
</div>
<div class="location">
<span class="filename">activesupport (3.0.5) lib/active_support/notifications.rb</span>, line <span class="line">52</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="25" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>BooksController</strong><span class="method">#process_action</span>
</div>
<div class="location">
<span class="filename">actionpack (3.0.5) lib/action_controller/metal/instrumentation.rb</span>, line <span class="line">29</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="26" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>BooksController</strong><span class="method">#process_action</span>
</div>
<div class="location">
<span class="filename">actionpack (3.0.5) lib/action_controller/metal/rescue.rb</span>, line <span class="line">17</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="27" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>BooksController</strong><span class="method">#process</span>
</div>
<div class="location">
<span class="filename">actionpack (3.0.5) lib/abstract_controller/base.rb</span>, line <span class="line">119</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="28" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>BooksController</strong><span class="method">#process</span>
</div>
<div class="location">
<span class="filename">actionpack (3.0.5) lib/abstract_controller/rendering.rb</span>, line <span class="line">41</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="29" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>BooksController</strong><span class="method">#dispatch</span>
</div>
<div class="location">
<span class="filename">actionpack (3.0.5) lib/action_controller/metal.rb</span>, line <span class="line">138</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="30" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>BooksController</strong><span class="method">#dispatch</span>
</div>
<div class="location">
<span class="filename">actionpack (3.0.5) lib/action_controller/metal/rack_delegation.rb</span>, line <span class="line">14</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="31" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>block in BooksController</strong><span class="method">.action</span>
</div>
<div class="location">
<span class="filename">actionpack (3.0.5) lib/action_controller/metal.rb</span>, line <span class="line">178</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="32" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>ActionDispatch::Routing::RouteSet::Dispatcher</strong><span class="method">#dispatch</span>
</div>
<div class="location">
<span class="filename">actionpack (3.0.5) lib/action_dispatch/routing/route_set.rb</span>, line <span class="line">62</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="33" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>ActionDispatch::Routing::RouteSet::Dispatcher</strong><span class="method">#call</span>
</div>
<div class="location">
<span class="filename">actionpack (3.0.5) lib/action_dispatch/routing/route_set.rb</span>, line <span class="line">27</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="34" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>block in Rack::Mount::RouteSet</strong><span class="method">#call</span>
</div>
<div class="location">
<span class="filename">rack-mount (0.6.14) lib/rack/mount/route_set.rb</span>, line <span class="line">148</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="35" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>block in Rack::Mount::RouteSet</strong><span class="method">#recognize</span>
</div>
<div class="location">
<span class="filename">rack-mount (0.6.14) lib/rack/mount/code_generation.rb</span>, line <span class="line">93</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="36" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>Array</strong><span class="method">#optimized_each</span>
</div>
<div class="location">
<span class="filename">rack-mount (0.6.14) lib/rack/mount/code_generation.rb</span>, line <span class="line">68</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="37" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>Rack::Mount::RouteSet</strong><span class="method">#recognize</span>
</div>
<div class="location">
<span class="filename">rack-mount (0.6.14) lib/rack/mount/code_generation.rb</span>, line <span class="line">92</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="38" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>Rack::Mount::RouteSet</strong><span class="method">#call</span>
</div>
<div class="location">
<span class="filename">rack-mount (0.6.14) lib/rack/mount/route_set.rb</span>, line <span class="line">139</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="39" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>ActionDispatch::Routing::RouteSet</strong><span class="method">#call</span>
</div>
<div class="location">
<span class="filename">actionpack (3.0.5) lib/action_dispatch/routing/route_set.rb</span>, line <span class="line">492</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="40" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>BetterErrors::Middleware</strong><span class="method">#protected_app_call</span>
</div>
<div class="location">
<span class="filename">better_errors (1.1.0) lib/better_errors/middleware.rb</span>, line <span class="line">84</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="41" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>BetterErrors::Middleware</strong><span class="method">#better_errors_call</span>
</div>
<div class="location">
<span class="filename">better_errors (1.1.0) lib/better_errors/middleware.rb</span>, line <span class="line">79</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="42" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>BetterErrors::Middleware</strong><span class="method">#call</span>
</div>
<div class="location">
<span class="filename">better_errors (1.1.0) lib/better_errors/middleware.rb</span>, line <span class="line">56</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="43" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>ActionDispatch::BestStandardsSupport</strong><span class="method">#call</span>
</div>
<div class="location">
<span class="filename">actionpack (3.0.5) lib/action_dispatch/middleware/best_standards_support.rb</span>, line <span class="line">17</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="44" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>ActionDispatch::Head</strong><span class="method">#call</span>
</div>
<div class="location">
<span class="filename">actionpack (3.0.5) lib/action_dispatch/middleware/head.rb</span>, line <span class="line">14</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="45" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>Rack::MethodOverride</strong><span class="method">#call</span>
</div>
<div class="location">
<span class="filename">rack (1.2.8) lib/rack/methodoverride.rb</span>, line <span class="line">24</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="46" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>ActionDispatch::ParamsParser</strong><span class="method">#call</span>
</div>
<div class="location">
<span class="filename">actionpack (3.0.5) lib/action_dispatch/middleware/params_parser.rb</span>, line <span class="line">21</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="47" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>ActionDispatch::Flash</strong><span class="method">#call</span>
</div>
<div class="location">
<span class="filename">actionpack (3.0.5) lib/action_dispatch/middleware/flash.rb</span>, line <span class="line">182</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="48" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>ActionDispatch::Session::CookieStore</strong><span class="method">#call</span>
</div>
<div class="location">
<span class="filename">actionpack (3.0.5) lib/action_dispatch/middleware/session/abstract_store.rb</span>, line <span class="line">149</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="49" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>ActionDispatch::Cookies</strong><span class="method">#call</span>
</div>
<div class="location">
<span class="filename">actionpack (3.0.5) lib/action_dispatch/middleware/cookies.rb</span>, line <span class="line">302</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="50" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>block in ActiveRecord::QueryCache</strong><span class="method">#call</span>
</div>
<div class="location">
<span class="filename">activerecord (3.0.5) lib/active_record/query_cache.rb</span>, line <span class="line">32</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="51" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>ActiveRecord::ConnectionAdapters::SQLite3Adapter</strong><span class="method">#cache</span>
</div>
<div class="location">
<span class="filename">activerecord (3.0.5) lib/active_record/connection_adapters/abstract/query_cache.rb</span>, line <span class="line">28</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="52" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>ActiveRecord::Base</strong><span class="method">.cache</span>
</div>
<div class="location">
<span class="filename">activerecord (3.0.5) lib/active_record/query_cache.rb</span>, line <span class="line">12</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="53" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>ActiveRecord::QueryCache</strong><span class="method">#call</span>
</div>
<div class="location">
<span class="filename">activerecord (3.0.5) lib/active_record/query_cache.rb</span>, line <span class="line">31</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="54" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>ActiveRecord::ConnectionAdapters::ConnectionManagement</strong><span class="method">#call</span>
</div>
<div class="location">
<span class="filename">activerecord (3.0.5) lib/active_record/connection_adapters/abstract/connection_pool.rb</span>, line <span class="line">354</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="55" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>block in ActionDispatch::Callbacks</strong><span class="method">#call</span>
</div>
<div class="location">
<span class="filename">actionpack (3.0.5) lib/action_dispatch/middleware/callbacks.rb</span>, line <span class="line">46</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="56" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>ActionDispatch::Callbacks</strong><span class="method">#_run_call_callbacks</span>
</div>
<div class="location">
<span class="filename">activesupport (3.0.5) lib/active_support/callbacks.rb</span>, line <span class="line">415</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="57" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>ActionDispatch::Callbacks</strong><span class="method">#call</span>
</div>
<div class="location">
<span class="filename">actionpack (3.0.5) lib/action_dispatch/middleware/callbacks.rb</span>, line <span class="line">44</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="58" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>Rack::Sendfile</strong><span class="method">#call</span>
</div>
<div class="location">
<span class="filename">rack (1.2.8) lib/rack/sendfile.rb</span>, line <span class="line">106</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="59" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>ActionDispatch::RemoteIp</strong><span class="method">#call</span>
</div>
<div class="location">
<span class="filename">actionpack (3.0.5) lib/action_dispatch/middleware/remote_ip.rb</span>, line <span class="line">48</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="60" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>ActionDispatch::ShowExceptions</strong><span class="method">#call</span>
</div>
<div class="location">
<span class="filename">actionpack (3.0.5) lib/action_dispatch/middleware/show_exceptions.rb</span>, line <span class="line">47</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="61" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>Rails::Rack::Logger</strong><span class="method">#call</span>
</div>
<div class="location">
<span class="filename">railties (3.0.5) lib/rails/rack/logger.rb</span>, line <span class="line">13</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="62" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>Rack::Runtime</strong><span class="method">#call</span>
</div>
<div class="location">
<span class="filename">rack (1.2.8) lib/rack/runtime.rb</span>, line <span class="line">17</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="63" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>ActiveSupport::Cache::Strategy::LocalCache</strong><span class="method">#call</span>
</div>
<div class="location">
<span class="filename">activesupport (3.0.5) lib/active_support/cache/strategy/local_cache.rb</span>, line <span class="line">72</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="64" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>block in Rack::Lock</strong><span class="method">#call</span>
</div>
<div class="location">
<span class="filename">rack (1.2.8) lib/rack/lock.rb</span>, line <span class="line">13</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="65" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>Rack::Lock</strong><span class="method">#call</span>
</div>
<div class="location">
<span class="filename">rack (1.2.8) lib/rack/lock.rb</span>, line <span class="line">13</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="66" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>ActionDispatch::Static</strong><span class="method">#call</span>
</div>
<div class="location">
<span class="filename">actionpack (3.0.5) lib/action_dispatch/middleware/static.rb</span>, line <span class="line">30</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="67" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>Noteworthy::Application</strong><span class="method">#call</span>
</div>
<div class="location">
<span class="filename">railties (3.0.5) lib/rails/application.rb</span>, line <span class="line">168</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="68" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>Noteworthy::Application</strong><span class="method">.method_missing</span>
</div>
<div class="location">
<span class="filename">railties (3.0.5) lib/rails/application.rb</span>, line <span class="line">77</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="69" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>Rails::Rack::LogTailer</strong><span class="method">#call</span>
</div>
<div class="location">
<span class="filename">railties (3.0.5) lib/rails/rack/log_tailer.rb</span>, line <span class="line">14</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="70" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>Rack::ContentLength</strong><span class="method">#call</span>
</div>
<div class="location">
<span class="filename">rack (1.2.8) lib/rack/content_length.rb</span>, line <span class="line">13</span>
</div>
</div>
</li>
<li class="gem" data-context="gem" data-index="71" style="display: block;">
<span class="stroke"></span>
<i class="icon gem"></i>
<div class="info">
<div class="name">
<strong>Rack::Handler::WEBrick</strong><span class="method">#service</span>
</div>
<div class="location">
<span class="filename">rack (1.2.8) lib/rack/handler/webrick.rb</span>, line <span class="line">52</span>
</div>
</div>
</li>
<li class="dunno" data-context="dunno" data-index="72" style="display: block;">
<span class="stroke"></span>
<i class="icon dunno"></i>
<div class="info">
<div class="name">
<strong>WEBrick::HTTPServer</strong><span class="method">#service</span>
</div>
<div class="location">
<span class="filename">/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/webrick/httpserver.rb</span>, line <span class="line">138</span>
</div>
</div>
</li>
<li class="dunno" data-context="dunno" data-index="73" style="display: block;">
<span class="stroke"></span>
<i class="icon dunno"></i>
<div class="info">
<div class="name">
<strong>WEBrick::HTTPServer</strong><span class="method">#run</span>
</div>
<div class="location">
<span class="filename">/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/webrick/httpserver.rb</span>, line <span class="line">94</span>
</div>
</div>
</li>
<li class="dunno" data-context="dunno" data-index="74" style="display: block;">
<span class="stroke"></span>
<i class="icon dunno"></i>
<div class="info">
<div class="name">
<strong>block in WEBrick::HTTPServer</strong><span class="method">#start_thread</span>
</div>
<div class="location">
<span class="filename">/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/webrick/server.rb</span>, line <span class="line">295</span>
</div>
</div>
</li>
</ul>
</nav>
<div class="frame_info" id="frame_info_0" style="display:none;"></div>
<div class="frame_info" id="frame_info_1" style="display:none;"></div>
<div class="frame_info" id="frame_info_2" style="display:none;"></div>
<div class="frame_info" id="frame_info_3" style="display:none;"></div>
<div class="frame_info" id="frame_info_4" style="display:none;"></div>
<div class="frame_info" id="frame_info_5" style="display:none;"></div>
<div class="frame_info" id="frame_info_6" style="display:none;"></div>
<div class="frame_info" id="frame_info_7" style="display:none;"></div>
<div class="frame_info" id="frame_info_8" style="display:none;"></div>
<div class="frame_info" id="frame_info_9" style="display: none;"><header class="trace_info clearfix">
<div class="title">
<h2 class="name">to_a</h2>
<div class="location"><span class="filename"><a href="txmt://open?url=file://%2FLibrary%2FRuby%2FGems%2F2.0.0%2Fgems%2Factiverecord-3.0.5%2Flib%2Factive_record%2Frelation.rb&amp;line=64">activerecord (3.0.5) lib/active_record/relation.rb</a></span></div>
</div>
<div class="code_block clearfix">
<div class="code_linenums"><span class=""> 59</span><span class=""> 60</span><span class=""> 61</span><span class=""> 62</span><span class=""> 63</span><span class="highlight"> 64</span><span class=""> 65</span><span class=""> 66</span><span class=""> 67</span><span class=""> 68</span><span class=""> 69</span></div><div class="code"><pre class=""> <span style="color:#080;font-weight:bold">end</span>
</pre><pre class=""></pre><pre class=""> <span style="color:#080;font-weight:bold">def</span> <span style="color:#06B;font-weight:bold">to_a</span>
</pre><pre class=""> <span style="color:#080;font-weight:bold">return</span> <span style="color:#33B">@records</span> <span style="color:#080;font-weight:bold">if</span> loaded?
</pre><pre class=""></pre><pre class="highlight"> <span style="color:#33B">@records</span> = eager_loading? ? find_with_associations : <span style="color:#33B">@klass</span>.find_by_sql(arel.to_sql)
</pre><pre class=""></pre><pre class=""> preload = <span style="color:#33B">@preload_values</span>
</pre><pre class=""> preload += <span style="color:#33B">@includes_values</span> <span style="color:#080;font-weight:bold">unless</span> eager_loading?
</pre><pre class=""> preload.each {|associations| <span style="color:#33B">@klass</span>.send(<span style="color:#A60">:preload_associations</span>, <span style="color:#33B">@records</span>, associations) }
</pre><pre class=""></pre></div>
</div>
<div class="repl">
<div class="console">
<pre></pre>
<div class="prompt"><span>&gt;&gt;</span> <input></div>
</div>
</div>
</header>
<div class="hint">
This is a live shell. Type in here.
</div>
<div class="variable_info"></div>
<div class="sub">
<h3>Request info</h3>
<div class="inset variables">
<table class="var_table">
<tbody><tr><td class="name">Request parameters</td><td><pre>{"action"=&gt;"index", "controller"=&gt;"books"}</pre></td></tr>
<tr><td class="name">Rack session</td><td><pre>{}</pre></td></tr>
</tbody></table>
</div>
</div>
<div class="sub">
<h3>Local Variables</h3>
<div class="inset variables">
<table class="var_table">
<tbody><tr><td class="name">preload</td><td><pre>nil</pre></td></tr>
<tr><td class="name">readonly</td><td><pre>nil</pre></td></tr>
</tbody></table>
</div>
</div>
<div class="sub">
<h3>Instance Variables</h3>
<div class="inset variables">
<table class="var_table">
<tbody><tr><td class="name">@table</td><td><pre>#&lt;Arel::Table:0x007fd22b2a85a0 @name="books", @engine=ActiveRecord::Base, @columns=nil, @aliases=[], @table_alias=nil, @primary_key=nil&gt;</pre></td></tr>
<tr><td class="name">@klass</td><td><pre>Book(Table doesn't exist)</pre></td></tr>
<tr><td class="name">@implicit_readonly</td><td><pre>nil</pre></td></tr>
<tr><td class="name">@loaded</td><td><pre>nil</pre></td></tr>
<tr><td class="name">@limit_value</td><td><pre>nil</pre></td></tr>
<tr><td class="name">@offset_value</td><td><pre>nil</pre></td></tr>
<tr><td class="name">@lock_value</td><td><pre>nil</pre></td></tr>
<tr><td class="name">@readonly_value</td><td><pre>nil</pre></td></tr>
<tr><td class="name">@create_with_value</td><td><pre>nil</pre></td></tr>
<tr><td class="name">@from_value</td><td><pre>nil</pre></td></tr>
<tr><td class="name">@includes_values</td><td><pre>[]</pre></td></tr>
<tr><td class="name">@eager_load_values</td><td><pre>[]</pre></td></tr>
<tr><td class="name">@preload_values</td><td><pre>[]</pre></td></tr>
<tr><td class="name">@select_values</td><td><pre>[]</pre></td></tr>
<tr><td class="name">@group_values</td><td><pre>[]</pre></td></tr>
<tr><td class="name">@order_values</td><td><pre>[]</pre></td></tr>
<tr><td class="name">@joins_values</td><td><pre>[]</pre></td></tr>
<tr><td class="name">@where_values</td><td><pre>[]</pre></td></tr>
<tr><td class="name">@having_values</td><td><pre>[]</pre></td></tr>
<tr><td class="name">@extensions</td><td><pre>[]</pre></td></tr>
<tr><td class="name">@arel</td><td><pre>#&lt;Arel::SelectManager:0x007fd22b2b3518 @engine=ActiveRecord::Base, @visitor=#&lt;Arel::Visitors::SQLite:0x007fd22b2b34a0 @engine=ActiveRecord::Base, @connection=#&lt;ActiveRecord::ConnectionAdapters::SQLite3Adapter:0x007fd22b31ada8 @active=false, @logger=#&lt;ActiveSupport::BufferedLogger:0x007fd22c374320 @level=0, @buffer={}, @auto_flushing=1, @guard=#&lt;Mutex:0x007fd22c2ff0e8&gt;, @log=#&lt;File:/Users/christian/projects/spid/noteworthy/log/development.log&gt;&gt;, @connection=#&lt;SQLite3::Database:0x007fd22b31ae70 @tracefunc=nil, @authorizer=nil, @encoding=nil, @busy_handler=nil, @collations={}, @functions={}, @results_as_hash=true, @type_translation=nil, @readonly=false&gt;, @query_cache_enabled=false, @query_cache={}, @instrumenter=#&lt;ActiveSupport::Notifications::Instrumenter:0x007fd22b31ac40 @id="e33221010e4b837b1203", @notifier=#&lt;ActiveSupport::Notifications::Fanout:0x007fd22c33ee78 @subscribers=[#&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22c33eef0 @pattern="start_processing.action_controller", @delegate=#&lt;ActionController::LogSubscriber:0x007fd22c30e7f0&gt;&gt;, #&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22c33f170 @pattern="process_action.action_controller", @delegate=#&lt;ActionController::LogSubscriber:0x007fd22c30e7f0&gt;&gt;, #&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22c33f2b0 @pattern="send_file.action_controller", @delegate=#&lt;ActionController::LogSubscriber:0x007fd22c30e7f0&gt;&gt;, #&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22c33f490 @pattern="redirect_to.action_controller", @delegate=#&lt;ActionController::LogSubscriber:0x007fd22c30e7f0&gt;&gt;, #&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22c33fbc0 @pattern="send_data.action_controller", @delegate=#&lt;ActionController::LogSubscriber:0x007fd22c30e7f0&gt;&gt;, #&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22c33f918 @pattern="write_fragment.action_controller", @delegate=#&lt;ActionController::LogSubscriber:0x007fd22c30e7f0&gt;&gt;, #&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22c33f698 @pattern="read_fragment.action_controller", @delegate=#&lt;ActionController::LogSubscriber:0x007fd22c30e7f0&gt;&gt;, #&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22c33ed60 @pattern="exist_fragment?.action_controller", @delegate=#&lt;ActionController::LogSubscriber:0x007fd22c30e7f0&gt;&gt;, #&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22c33eb08 @pattern="expire_fragment.action_controller", @delegate=#&lt;ActionController::LogSubscriber:0x007fd22c30e7f0&gt;&gt;, #&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22c33e8d8 @pattern="expire_page.action_controller", @delegate=#&lt;ActionController::LogSubscriber:0x007fd22c30e7f0&gt;&gt;, #&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22c33e630 @pattern="write_page.action_controller", @delegate=#&lt;ActionController::LogSubscriber:0x007fd22c30e7f0&gt;&gt;, #&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22c33e388 @pattern="logger.action_controller", @delegate=#&lt;ActionController::LogSubscriber:0x007fd22c30e7f0&gt;&gt;, #&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22c619e40 @pattern="render_template.action_view", @delegate=#&lt;ActionView::LogSubscriber:0x007fd22c619fa8&gt;&gt;, #&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22c619cd8 @pattern="render_partial.action_view", @delegate=#&lt;ActionView::LogSubscriber:0x007fd22c619fa8&gt;&gt;, #&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22c619af8 @pattern="render_collection.action_view", @delegate=#&lt;ActionView::LogSubscriber:0x007fd22c619fa8&gt;&gt;, #&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22c619918 @pattern="logger.action_view", @delegate=#&lt;ActionView::LogSubscriber:0x007fd22c619fa8&gt;&gt;, #&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22b33bb98 @pattern="sql.active_record", @delegate=#&lt;ActiveRecord::LogSubscriber:0x007fd22b33bcd8 @odd_or_even=false&gt;&gt;, #&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22b33ba80 @pattern="odd?.active_record", @delegate=#&lt;ActiveRecord::LogSubscriber:0x007fd22b33bcd8 @odd_or_even=false&gt;&gt;, #&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22b33b968 @pattern="logger.active_record", @delegate=#&lt;ActiveRecord::LogSubscriber:0x007fd22b33bcd8 @odd_or_even=false&gt;&gt;], @listeners_for={"start_processing.action_controller"=&gt;[#&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22c33eef0 @pattern="start_processing.action_controller", @delegate=#&lt;ActionController::LogSubscriber:0x007fd22c30e7f0&gt;&gt;], "process_action.action_controller"=&gt;[#&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22c33f170 @pattern="process_action.action_controller", @delegate=#&lt;ActionController::LogSubscriber:0x007fd22c30e7f0&gt;&gt;], "sql.active_record"=&gt;[#&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22b33bb98 @pattern="sql.active_record", @delegate=#&lt;ActiveRecord::LogSubscriber:0x007fd22b33bcd8 @odd_or_even=false&gt;&gt;]}&gt;&gt;, @config={:adapter=&gt;"sqlite3", :database=&gt;"/Users/christian/projects/spid/noteworthy/db/development.sqlite3", :pool=&gt;5, :timeout=&gt;5000}&gt;, @quoted_tables={"books"=&gt;"\"books\""}, @quoted_columns={}&gt;, @ctx=#&lt;Arel::Nodes::SelectCore:0x007fd22b2b3310 @top=nil, @froms=#&lt;Arel::Table:0x007fd22b2a85a0 @name="books", @engine=ActiveRecord::Base, @columns=nil, @aliases=[], @table_alias=nil, @primary_key=nil&gt;, @projections=["\"books\".*"], @wheres=[], @groups=[], @having=nil&gt;, @ast=#&lt;Arel::Nodes::SelectStatement:0x007fd22b2b3338 @cores=[#&lt;Arel::Nodes::SelectCore:0x007fd22b2b3310 @top=nil, @froms=#&lt;Arel::Table:0x007fd22b2a85a0 @name="books", @engine=ActiveRecord::Base, @columns=nil, @aliases=[], @table_alias=nil, @primary_key=nil&gt;, @projections=["\"books\".*"], @wheres=[], @groups=[], @having=nil&gt;], @orders=[], @limit=nil, @lock=nil, @offset=nil&gt;&gt;</pre></td></tr>
<tr><td class="name">@scope_for_create</td><td><pre>nil</pre></td></tr>
<tr><td class="name">@order_clause</td><td><pre>nil</pre></td></tr>
<tr><td class="name">@to_sql</td><td><pre>nil</pre></td></tr>
<tr><td class="name">@last</td><td><pre>nil</pre></td></tr>
<tr><td class="name">@first</td><td><pre>nil</pre></td></tr>
<tr><td class="name">@join_dependency</td><td><pre>nil</pre></td></tr>
<tr><td class="name">@should_eager_load</td><td><pre>false</pre></td></tr>
<tr><td class="name">@records</td><td><pre>[]</pre></td></tr>
</tbody></table>
</div>
</div>
<!-- 0.004834175109863281 seconds -->
</div>
<div class="frame_info" id="frame_info_10" style="display: none;"><header class="trace_info clearfix">
<div class="title">
<h2 class="name">all</h2>
<div class="location"><span class="filename"><a href="txmt://open?url=file://%2FLibrary%2FRuby%2FGems%2F2.0.0%2Fgems%2Factiverecord-3.0.5%2Flib%2Factive_record%2Frelation%2Ffinder_methods.rb&amp;line=143">activerecord (3.0.5) lib/active_record/relation/finder_methods.rb</a></span></div>
</div>
<div class="code_block clearfix">
<div class="code_linenums"><span class=""> 138</span><span class=""> 139</span><span class=""> 140</span><span class=""> 141</span><span class=""> 142</span><span class="highlight"> 143</span><span class=""> 144</span><span class=""> 145</span><span class=""> 146</span><span class=""> 147</span><span class=""> 148</span></div><div class="code"><pre class=""> <span style="color:#080;font-weight:bold">end</span>
</pre><pre class=""></pre><pre class=""> <span style="color:#777"># A convenience wrapper for &lt;tt&gt;find(:all, *args)&lt;/tt&gt;. You can pass in all the</span>
</pre><pre class=""> <span style="color:#777"># same arguments to this method as you can to &lt;tt&gt;find(:all)&lt;/tt&gt;.</span>
</pre><pre class=""> <span style="color:#080;font-weight:bold">def</span> <span style="color:#06B;font-weight:bold">all</span>(*args)
</pre><pre class="highlight"> args.any? ? apply_finder_options(args.first).to_a : to_a
</pre><pre class=""> <span style="color:#080;font-weight:bold">end</span>
</pre><pre class=""></pre><pre class=""> <span style="color:#777"># Returns true if a record exists in the table that matches the +id+ or</span>
</pre><pre class=""> <span style="color:#777"># conditions given, or false otherwise. The argument can take five forms:</span>
</pre><pre class=""> <span style="color:#777">#</span>
</pre></div>
</div>
<div class="repl">
<div class="console">
<pre></pre>
<div class="prompt"><span>&gt;&gt;</span> <input></div>
</div>
</div>
</header>
<div class="hint">
This is a live shell. Type in here.
</div>
<div class="variable_info"></div>
<div class="sub">
<h3>Request info</h3>
<div class="inset variables">
<table class="var_table">
<tbody><tr><td class="name">Request parameters</td><td><pre>{"action"=&gt;"index", "controller"=&gt;"books"}</pre></td></tr>
<tr><td class="name">Rack session</td><td><pre>{}</pre></td></tr>
</tbody></table>
</div>
</div>
<div class="sub">
<h3>Local Variables</h3>
<div class="inset variables">
<table class="var_table">
<tbody><tr><td class="name">args</td><td><pre>[]</pre></td></tr>
</tbody></table>
</div>
</div>
<div class="sub">
<h3>Instance Variables</h3>
<div class="inset variables">
<table class="var_table">
<tbody><tr><td class="name">@table</td><td><pre>#&lt;Arel::Table:0x007fd22b2a85a0 @name="books", @engine=ActiveRecord::Base, @columns=nil, @aliases=[], @table_alias=nil, @primary_key=nil&gt;</pre></td></tr>
<tr><td class="name">@klass</td><td><pre>Book(Table doesn't exist)</pre></td></tr>
<tr><td class="name">@implicit_readonly</td><td><pre>nil</pre></td></tr>
<tr><td class="name">@loaded</td><td><pre>nil</pre></td></tr>
<tr><td class="name">@limit_value</td><td><pre>nil</pre></td></tr>
<tr><td class="name">@offset_value</td><td><pre>nil</pre></td></tr>
<tr><td class="name">@lock_value</td><td><pre>nil</pre></td></tr>
<tr><td class="name">@readonly_value</td><td><pre>nil</pre></td></tr>
<tr><td class="name">@create_with_value</td><td><pre>nil</pre></td></tr>
<tr><td class="name">@from_value</td><td><pre>nil</pre></td></tr>
<tr><td class="name">@includes_values</td><td><pre>[]</pre></td></tr>
<tr><td class="name">@eager_load_values</td><td><pre>[]</pre></td></tr>
<tr><td class="name">@preload_values</td><td><pre>[]</pre></td></tr>
<tr><td class="name">@select_values</td><td><pre>[]</pre></td></tr>
<tr><td class="name">@group_values</td><td><pre>[]</pre></td></tr>
<tr><td class="name">@order_values</td><td><pre>[]</pre></td></tr>
<tr><td class="name">@joins_values</td><td><pre>[]</pre></td></tr>
<tr><td class="name">@where_values</td><td><pre>[]</pre></td></tr>
<tr><td class="name">@having_values</td><td><pre>[]</pre></td></tr>
<tr><td class="name">@extensions</td><td><pre>[]</pre></td></tr>
<tr><td class="name">@arel</td><td><pre>#&lt;Arel::SelectManager:0x007fd22b2b3518 @engine=ActiveRecord::Base, @visitor=#&lt;Arel::Visitors::SQLite:0x007fd22b2b34a0 @engine=ActiveRecord::Base, @connection=#&lt;ActiveRecord::ConnectionAdapters::SQLite3Adapter:0x007fd22b31ada8 @active=false, @logger=#&lt;ActiveSupport::BufferedLogger:0x007fd22c374320 @level=0, @buffer={}, @auto_flushing=1, @guard=#&lt;Mutex:0x007fd22c2ff0e8&gt;, @log=#&lt;File:/Users/christian/projects/spid/noteworthy/log/development.log&gt;&gt;, @connection=#&lt;SQLite3::Database:0x007fd22b31ae70 @tracefunc=nil, @authorizer=nil, @encoding=nil, @busy_handler=nil, @collations={}, @functions={}, @results_as_hash=true, @type_translation=nil, @readonly=false&gt;, @query_cache_enabled=false, @query_cache={}, @instrumenter=#&lt;ActiveSupport::Notifications::Instrumenter:0x007fd22b31ac40 @id="e33221010e4b837b1203", @notifier=#&lt;ActiveSupport::Notifications::Fanout:0x007fd22c33ee78 @subscribers=[#&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22c33eef0 @pattern="start_processing.action_controller", @delegate=#&lt;ActionController::LogSubscriber:0x007fd22c30e7f0&gt;&gt;, #&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22c33f170 @pattern="process_action.action_controller", @delegate=#&lt;ActionController::LogSubscriber:0x007fd22c30e7f0&gt;&gt;, #&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22c33f2b0 @pattern="send_file.action_controller", @delegate=#&lt;ActionController::LogSubscriber:0x007fd22c30e7f0&gt;&gt;, #&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22c33f490 @pattern="redirect_to.action_controller", @delegate=#&lt;ActionController::LogSubscriber:0x007fd22c30e7f0&gt;&gt;, #&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22c33fbc0 @pattern="send_data.action_controller", @delegate=#&lt;ActionController::LogSubscriber:0x007fd22c30e7f0&gt;&gt;, #&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22c33f918 @pattern="write_fragment.action_controller", @delegate=#&lt;ActionController::LogSubscriber:0x007fd22c30e7f0&gt;&gt;, #&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22c33f698 @pattern="read_fragment.action_controller", @delegate=#&lt;ActionController::LogSubscriber:0x007fd22c30e7f0&gt;&gt;, #&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22c33ed60 @pattern="exist_fragment?.action_controller", @delegate=#&lt;ActionController::LogSubscriber:0x007fd22c30e7f0&gt;&gt;, #&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22c33eb08 @pattern="expire_fragment.action_controller", @delegate=#&lt;ActionController::LogSubscriber:0x007fd22c30e7f0&gt;&gt;, #&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22c33e8d8 @pattern="expire_page.action_controller", @delegate=#&lt;ActionController::LogSubscriber:0x007fd22c30e7f0&gt;&gt;, #&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22c33e630 @pattern="write_page.action_controller", @delegate=#&lt;ActionController::LogSubscriber:0x007fd22c30e7f0&gt;&gt;, #&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22c33e388 @pattern="logger.action_controller", @delegate=#&lt;ActionController::LogSubscriber:0x007fd22c30e7f0&gt;&gt;, #&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22c619e40 @pattern="render_template.action_view", @delegate=#&lt;ActionView::LogSubscriber:0x007fd22c619fa8&gt;&gt;, #&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22c619cd8 @pattern="render_partial.action_view", @delegate=#&lt;ActionView::LogSubscriber:0x007fd22c619fa8&gt;&gt;, #&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22c619af8 @pattern="render_collection.action_view", @delegate=#&lt;ActionView::LogSubscriber:0x007fd22c619fa8&gt;&gt;, #&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22c619918 @pattern="logger.action_view", @delegate=#&lt;ActionView::LogSubscriber:0x007fd22c619fa8&gt;&gt;, #&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22b33bb98 @pattern="sql.active_record", @delegate=#&lt;ActiveRecord::LogSubscriber:0x007fd22b33bcd8 @odd_or_even=true&gt;&gt;, #&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22b33ba80 @pattern="odd?.active_record", @delegate=#&lt;ActiveRecord::LogSubscriber:0x007fd22b33bcd8 @odd_or_even=true&gt;&gt;, #&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22b33b968 @pattern="logger.active_record", @delegate=#&lt;ActiveRecord::LogSubscriber:0x007fd22b33bcd8 @odd_or_even=true&gt;&gt;], @listeners_for={"start_processing.action_controller"=&gt;[#&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22c33eef0 @pattern="start_processing.action_controller", @delegate=#&lt;ActionController::LogSubscriber:0x007fd22c30e7f0&gt;&gt;], "process_action.action_controller"=&gt;[#&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22c33f170 @pattern="process_action.action_controller", @delegate=#&lt;ActionController::LogSubscriber:0x007fd22c30e7f0&gt;&gt;], "sql.active_record"=&gt;[#&lt;ActiveSupport::Notifications::Fanout::Subscriber:0x007fd22b33bb98 @pattern="sql.active_record", @delegate=#&lt;ActiveRecord::LogSubscriber:0x007fd22b33bcd8 @odd_or_even=true&gt;&gt;]}&gt;&gt;, @config={:adapter=&gt;"sqlite3", :database=&gt;"/Users/christian/projects/spid/noteworthy/db/development.sqlite3", :pool=&gt;5, :timeout=&gt;5000}&gt;, @quoted_tables={"books"=&gt;"\"books\""}, @quoted_columns={}&gt;, @ctx=#&lt;Arel::Nodes::SelectCore:0x007fd22b2b3310 @top=nil, @froms=#&lt;Arel::Table:0x007fd22b2a85a0 @name="books", @engine=ActiveRecord::Base, @columns=nil, @aliases=[], @table_alias=nil, @primary_key=nil&gt;, @projections=["\"books\".*"], @wheres=[], @groups=[], @having=nil&gt;, @ast=#&lt;Arel::Nodes::SelectStatement:0x007fd22b2b3338 @cores=[#&lt;Arel::Nodes::SelectCore:0x007fd22b2b3310 @top=nil, @froms=#&lt;Arel::Table:0x007fd22b2a85a0 @name="books", @engine=ActiveRecord::Base, @columns=nil, @aliases=[], @table_alias=nil, @primary_key=nil&gt;, @projections=["\"books\".*"], @wheres=[], @groups=[], @having=nil&gt;], @orders=[], @limit=nil, @lock=nil, @offset=nil&gt;&gt;</pre></td></tr>
<tr><td class="name">@scope_for_create</td><td><pre>nil</pre></td></tr>
<tr><td class="name">@order_clause</td><td><pre>nil</pre></td></tr>
<tr><td class="name">@to_sql</td><td><pre>nil</pre></td></tr>
<tr><td class="name">@last</td><td><pre>nil</pre></td></tr>
<tr><td class="name">@first</td><td><pre>nil</pre></td></tr>
<tr><td class="name">@join_dependency</td><td><pre>nil</pre></td></tr>
<tr><td class="name">@should_eager_load</td><td><pre>false</pre></td></tr>
<tr><td class="name">@records</td><td><pre>[]</pre></td></tr>
</tbody></table>
</div>
</div>
<!-- 0.006144046783447266 seconds -->
</div>
<div class="frame_info" id="frame_info_11" style="display: none;"><header class="trace_info clearfix">
<div class="title">
<h2 class="name">all</h2>
<div class="location"><span class="filename"><a href="txmt://open?url=file://%2FLibrary%2FRuby%2FGems%2F2.0.0%2Fgems%2Factiverecord-3.0.5%2Flib%2Factive_record%2Fbase.rb&amp;line=439">activerecord (3.0.5) lib/active_record/base.rb</a></span></div>
</div>
<div class="code_block clearfix">
<div class="code_linenums"><span class=""> 434</span><span class=""> 435</span><span class=""> 436</span><span class=""> 437</span><span class=""> 438</span><span class="highlight"> 439</span><span class=""> 440</span><span class=""> 441</span><span class=""> 442</span><span class=""> 443</span><span class=""> 444</span></div><div class="code"><pre class=""> <span style="background-color:hsla(0,100%,50%,0.05)"><span style="color:#710">"</span><span style="color:#D20">config.active_record.colorize_logging are deprecated. Please use </span><span style="color:#710">"</span></span> &lt;&lt;
</pre><pre class=""> <span style="background-color:hsla(0,100%,50%,0.05)"><span style="color:#710">"</span><span style="color:#D20">Rails::LogSubscriber.colorize_logging or config.colorize_logging instead</span><span style="color:#710">"</span></span>, caller
</pre><pre class=""> <span style="color:#080;font-weight:bold">end</span>
</pre><pre class=""> <span style="color:#080;font-weight:bold">alias</span> <span style="color:#A60">:colorize_logging=</span> <span style="color:#A60">:colorize_logging</span>
</pre><pre class=""></pre><pre class="highlight"> delegate <span style="color:#A60">:find</span>, <span style="color:#A60">:first</span>, <span style="color:#A60">:last</span>, <span style="color:#A60">:all</span>, <span style="color:#A60">:destroy</span>, <span style="color:#A60">:destroy_all</span>, <span style="color:#A60">:exists?</span>, <span style="color:#A60">:delete</span>, <span style="color:#A60">:delete_all</span>, <span style="color:#A60">:update</span>, <span style="color:#A60">:update_all</span>, <span style="color:#A60">:to</span> =&gt; <span style="color:#A60">:scoped</span>
</pre><pre class=""> delegate <span style="color:#A60">:find_each</span>, <span style="color:#A60">:find_in_batches</span>, <span style="color:#A60">:to</span> =&gt; <span style="color:#A60">:scoped</span>
</pre><pre class=""> delegate <span style="color:#A60">:select</span>, <span style="color:#A60">:group</span>, <span style="color:#A60">:order</span>, <span style="color:#A60">:reorder</span>, <span style="color:#A60">:except</span>, <span style="color:#A60">:limit</span>, <span style="color:#A60">:offset</span>, <span style="color:#A60">:joins</span>, <span style="color:#A60">:where</span>, <span style="color:#A60">:preload</span>, <span style="color:#A60">:eager_load</span>, <span style="color:#A60">:includes</span>, <span style="color:#A60">:from</span>, <span style="color:#A60">:lock</span>, <span style="color:#A60">:readonly</span>, <span style="color:#A60">:having</span>, <span style="color:#A60">:create_with</span>, <span style="color:#A60">:to</span> =&gt; <span style="color:#A60">:scoped</span>
</pre><pre class=""> delegate <span style="color:#A60">:count</span>, <span style="color:#A60">:average</span>, <span style="color:#A60">:minimum</span>, <span style="color:#A60">:maximum</span>, <span style="color:#A60">:sum</span>, <span style="color:#A60">:calculate</span>, <span style="color:#A60">:to</span> =&gt; <span style="color:#A60">:scoped</span>
</pre><pre class=""></pre><pre class=""> <span style="color:#777"># Executes a custom SQL query against your database and returns all the results. The results will</span>
</pre></div>
</div>
<div class="repl">
<div class="console">
<pre></pre>
<div class="prompt"><span>&gt;&gt;</span> <input></div>
</div>
</div>
</header>
<div class="hint">
This is a live shell. Type in here.
</div>
<div class="variable_info"></div>
<div class="sub">
<h3>Request info</h3>
<div class="inset variables">
<table class="var_table">
<tbody><tr><td class="name">Request parameters</td><td><pre>{"action"=&gt;"index", "controller"=&gt;"books"}</pre></td></tr>
<tr><td class="name">Rack session</td><td><pre>{}</pre></td></tr>
</tbody></table>
</div>
</div>
<div class="sub">
<h3>Local Variables</h3>
<div class="inset variables">
<table class="var_table">
<tbody><tr><td class="name">args</td><td><pre>[]</pre></td></tr>
<tr><td class="name">block</td><td><pre>nil</pre></td></tr>
</tbody></table>
</div>
</div>
<div class="sub">
<h3>Instance Variables</h3>
<div class="inset variables">
<table class="var_table">
<tbody><tr><td class="name">@inheritable_attributes</td><td><pre>{:default_scoping=&gt;[], :attribute_method_matchers=&gt;[#&lt;ActiveModel::AttributeMethods::ClassMethods::AttributeMethodMatcher:0x007fd22c285d10 @suffix="?", @prefix="", @regex=/^()(.+?)(\?)$/&gt;, #&lt;ActiveModel::AttributeMethods::ClassMethods::AttributeMethodMatcher:0x007fd22c28efa0 @suffix="_before_type_cast", @prefix="", @regex=/^()(.+?)(_before_type_cast)$/&gt;, #&lt;ActiveModel::AttributeMethods::ClassMethods::AttributeMethodMatcher:0x007fd22c28e2f8 @suffix="=", @prefix="", @regex=/^()(.+?)(=)$/&gt;, #&lt;ActiveModel::AttributeMethods::ClassMethods::AttributeMethodMatcher:0x007fd22c28d510 @suffix="", @prefix="", @regex=/^()(.+?)()$/&gt;, #&lt;ActiveModel::AttributeMethods::ClassMethods::AttributeMethodMatcher:0x007fd22c5742d8 @suffix="_changed?", @prefix="", @regex=/^()(.+?)(_changed\?)$/&gt;, #&lt;ActiveModel::AttributeMethods::ClassMethods::AttributeMethodMatcher:0x007fd22c57fc28 @suffix="_change", @prefix="", @regex=/^()(.+?)(_change)$/&gt;, #&lt;ActiveModel::AttributeMethods::ClassMethods::AttributeMethodMatcher:0x007fd22c57f110 @suffix="_will_change!", @prefix="", @regex=/^()(.+?)(_will_change!)$/&gt;, #&lt;ActiveModel::AttributeMethods::ClassMethods::AttributeMethodMatcher:0x007fd22c57e558 @suffix="_was", @prefix="", @regex=/^()(.+?)(_was)$/&gt;, #&lt;ActiveModel::AttributeMethods::ClassMethods::AttributeMethodMatcher:0x007fd22c57cd48 @suffix="!", @prefix="reset_", @regex=/^(reset_)(.+?)(!)$/&gt;], :skip_time_zone_conversion_for_attributes=&gt;[], :record_timestamps=&gt;true, :nested_attributes_options=&gt;{}}</pre></td></tr>
<tr><td class="name">@parent_name</td><td><pre>nil</pre></td></tr>
<tr><td class="name">@quoted_table_name</td><td><pre>"\"books\""</pre></td></tr>
<tr><td class="name">@arel_engine</td><td><pre>ActiveRecord::Base</pre></td></tr>
<tr><td class="name">@arel_table</td><td><pre>#&lt;Arel::Table:0x007fd22b2a85a0 @name="books", @engine=ActiveRecord::Base, @columns=nil, @aliases=[], @table_alias=nil, @primary_key=nil&gt;</pre></td></tr>
<tr><td class="name">@relation</td><td><pre><span class="unsupported">(exception was raised in inspect)</span></pre></td></tr>
<tr><td class="name">@finder_needs_type_condition</td><td><pre>:false</pre></td></tr>
</tbody></table>
</div>
</div>
<!-- 0.005861759185791016 seconds -->
</div>
<div class="frame_info" id="frame_info_12" style="display: block;"><header class="trace_info clearfix">
<div class="title">
<h2 class="name">index</h2>
<div class="location"><span class="filename"><a href="txmt://open?url=file://%2FUsers%2Fchristian%2Fprojects%2Fspid%2Fnoteworthy%2Fapp%2Fcontrollers%2Fbooks_controller.rb&amp;line=5">app/controllers/books_controller.rb</a></span></div>
</div>
<div class="code_block clearfix">
<div class="code_linenums"><span class=""> 1</span><span class=""> 2</span><span class=""> 3</span><span class=""> 4</span><span class="highlight"> 5</span><span class=""> 6</span><span class=""> 7</span><span class=""> 8</span><span class=""> 9</span><span class=""> 10</span></div><div class="code"><pre class=""><span style="color:#080;font-weight:bold">class</span> <span style="color:#B06;font-weight:bold">BooksController</span> &lt; <span style="color:#036;font-weight:bold">ApplicationController</span>
</pre><pre class=""> <span style="color:#777"># GET /books</span>
</pre><pre class=""> <span style="color:#777"># GET /books.xml</span>
</pre><pre class=""> <span style="color:#080;font-weight:bold">def</span> <span style="color:#06B;font-weight:bold">index</span>
</pre><pre class="highlight"> <span style="color:#33B">@books</span> = <span style="color:#036;font-weight:bold">Book</span>.all
</pre><pre class=""></pre><pre class=""> respond_to <span style="color:#080;font-weight:bold">do</span> |format|
</pre><pre class=""> format.html <span style="color:#777"># index.html.erb</span>
</pre><pre class=""> format.xml { render <span style="color:#A60">:xml</span> =&gt; <span style="color:#33B">@books</span> }
</pre><pre class=""> <span style="color:#080;font-weight:bold">end</span>
</pre></div>
</div>
<div class="repl" id="abId0.30890824319794774">
<div class="console" id="abId0.98031124798581">
<pre></pre>
<div class="prompt" id="abId0.9701839743647724"><span>&gt;&gt;</span> <input></div>
</div>
</div>
</header>
<div class="hint">
This is a live shell. Type in here.
</div>
<div class="variable_info"></div>
<div class="sub">
<h3>Request info</h3>
<div class="inset variables">
<table class="var_table">
<tbody><tr><td class="name">Request parameters</td><td><pre>{"action"=&gt;"index", "controller"=&gt;"books"}</pre></td></tr>
<tr><td class="name">Rack session</td><td><pre>{}</pre></td></tr>
</tbody></table>
</div>
</div>
<div class="sub">
<h3>Local Variables</h3>
<div class="inset variables">
<table class="var_table">
</table>
</div>
</div>
<div class="sub">
<h3>Instance Variables</h3>
<div class="inset variables">
<table class="var_table">
<tbody><tr><td class="name">@action_has_layout</td><td><pre>true</pre></td></tr>
<tr><td class="name">@view_context_class</td><td><pre>nil</pre></td></tr>
<tr><td class="name">@_headers</td><td><pre>{"Content-Type"=&gt;"text/html"}</pre></td></tr>
<tr><td class="name">@_status</td><td><pre>200</pre></td></tr>
<tr><td class="name">@_response</td><td><pre>#&lt;ActionDispatch::Response:0x007fd22b64a7a8 @writer=#&lt;Proc:0x007fd22b64a6e0@/Library/Ruby/Gems/2.0.0/gems/actionpack-3.0.5/lib/action_dispatch/http/response.rb:43 (lambda)&gt;, @block=nil, @length=0, @header={}, @status=200, @body=[], @cookie=[], @sending_file=false, @blank=false, @cache_control={}, @etag=nil, @request=#&lt;ActionDispatch::Request:0x007fd22b64a7d0 @env={"GATEWAY_INTERFACE"=&gt;"CGI/1.1", "PATH_INFO"=&gt;"/books", "QUERY_STRING"=&gt;"", "REMOTE_ADDR"=&gt;"127.0.0.1", "REMOTE_HOST"=&gt;"localhost", "REQUEST_METHOD"=&gt;"GET", "REQUEST_URI"=&gt;"http://localhost:3001/books", "SCRIPT_NAME"=&gt;"", "SERVER_NAME"=&gt;"localhost", "SERVER_PORT"=&gt;"3001", "SERVER_PROTOCOL"=&gt;"HTTP/1.1", "SERVER_SOFTWARE"=&gt;"WEBrick/1.3.1 (Ruby/2.0.0/2014-02-24)", "HTTP_HOST"=&gt;"localhost:3001", "HTTP_CONNECTION"=&gt;"keep-alive", "HTTP_CACHE_CONTROL"=&gt;"max-age=0", "HTTP_ACCEPT"=&gt;"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "HTTP_USER_AGENT"=&gt;"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36", "HTTP_ACCEPT_ENCODING"=&gt;"gzip,deflate,sdch", "HTTP_ACCEPT_LANGUAGE"=&gt;"en-US,en;q=0.8,nb;q=0.6,sv;q=0.4,da;q=0.2", "HTTP_COOKIE"=&gt;"lang=clojure; PHPSESSID=c5e0dae5dab7e3164315ff32c025fe03; JSESSIONID=z77azh4lqd5x1hupb5alpmjdj; pid=null; ring-session=8cd2d315-be90-4f12-a1ae-042b190fa300; language=java", "rack.version"=&gt;[1, 1], "rack.input"=&gt;#&lt;StringIO:0x007fd22c236c88&gt;, "rack.errors"=&gt;#&lt;IO:&lt;STDERR&gt;&gt;, "rack.multithread"=&gt;true, "rack.multiprocess"=&gt;false, "rack.run_once"=&gt;false, "rack.url_scheme"=&gt;"http", "HTTP_VERSION"=&gt;"HTTP/1.1", "REQUEST_PATH"=&gt;"/", "action_dispatch.parameter_filter"=&gt;[:password], "action_dispatch.secret_token"=&gt;"9d39ca6b681cd45f39cd3cb1da16bee98ce18733d0eaf63d31531f998cb06b90d553591381dff73a62f6c9e3e25106fd3006bdc68a0424f40d2b5f9e5327c69e", "action_dispatch.remote_ip"=&gt;#&lt;ActionDispatch::RemoteIp::RemoteIpGetter:0x007fd22c39c398 @env={...}, @check_ip_spoofing=true, @trusted_proxies=/(^127\.0\.0\.1$|^(10|172\.(1[6-9]|2[0-9]|30|31)|192\.168)\.)/i&gt;, "rack.session"=&gt;{}, "rack.session.options"=&gt;{:path=&gt;"/", :domain=&gt;nil, :expire_after=&gt;nil, :secure=&gt;false, :httponly=&gt;true, :id=&gt;nil}, "rack.request.cookie_string"=&gt;"lang=clojure; PHPSESSID=c5e0dae5dab7e3164315ff32c025fe03; JSESSIONID=z77azh4lqd5x1hupb5alpmjdj; pid=null; ring-session=8cd2d315-be90-4f12-a1ae-042b190fa300; language=java", "rack.request.cookie_hash"=&gt;{"lang"=&gt;"clojure", "PHPSESSID"=&gt;"c5e0dae5dab7e3164315ff32c025fe03", "JSESSIONID"=&gt;"z77azh4lqd5x1hupb5alpmjdj", "pid"=&gt;"null", "ring-session"=&gt;"8cd2d315-be90-4f12-a1ae-042b190fa300", "language"=&gt;"java"}, "action_dispatch.cookies"=&gt;{"lang"=&gt;"clojure", "PHPSESSID"=&gt;"c5e0dae5dab7e3164315ff32c025fe03", "JSESSIONID"=&gt;"z77azh4lqd5x1hupb5alpmjdj", "pid"=&gt;"null", "ring-session"=&gt;"8cd2d315-be90-4f12-a1ae-042b190fa300", "language"=&gt;"java"}, "action_dispatch.request.unsigned_session_cookie"=&gt;{}, "action_dispatch.request.path_parameters"=&gt;{:action=&gt;"index", :controller=&gt;"books"}, "action_controller.instance"=&gt;#&lt;BooksController:0x007fd22b64a938 @action_has_layout=true, @view_context_class=nil, @_headers={"Content-Type"=&gt;"text/html"}, @_status=200, @_response=#&lt;ActionDispatch::Response:0x007fd22b64a7a8 ...&gt;, @_request=#&lt;ActionDispatch::Request:0x007fd22b64a7d0 ...&gt;, @_env={...}, @lookup_context=#&lt;ActionView::LookupContext:0x007fd22b89d730 @details_key=nil, @details={:handlers=&gt;[:erb, :rjs, :builder, :rhtml, :rxml], :formats=&gt;[:html], :locale=&gt;[:en, :en]}, @skip_default_locale=false, @frozen_formats=false, @view_paths=[#&lt;ActionView::FileSystemResolver:0x007fd22c1f4338 @cached={}, @path="/Users/christian/projects/spid/noteworthy/app/views"&gt;]&gt;, @_action_name="index", @_response_body=nil, @_config={}&gt;, "action_dispatch.request.content_type"=&gt;nil, "action_dispatch.request.request_parameters"=&gt;{}, "rack.request.query_string"=&gt;"", "rack.request.query_hash"=&gt;{}, "action_dispatch.request.query_parameters"=&gt;{}, "action_dispatch.request.parameters"=&gt;{"action"=&gt;"index", "controller"=&gt;"books"}, "action_dispatch.request.formats"=&gt;[#&lt;Mime::Type:0x007fd22c32c610 @synonyms=["application/xhtml+xml"], @symbol=:html, @string="text/html"&gt;]}, @fullpath="/books", @request_method="GET", @filtered_parameters={"action"=&gt;"index", "controller"=&gt;"books"}, @method="GET"&gt;&gt;</pre></td></tr>
<tr><td class="name">@_request</td><td><pre>#&lt;ActionDispatch::Request:0x007fd22b64a7d0 @env={"GATEWAY_INTERFACE"=&gt;"CGI/1.1", "PATH_INFO"=&gt;"/books", "QUERY_STRING"=&gt;"", "REMOTE_ADDR"=&gt;"127.0.0.1", "REMOTE_HOST"=&gt;"localhost", "REQUEST_METHOD"=&gt;"GET", "REQUEST_URI"=&gt;"http://localhost:3001/books", "SCRIPT_NAME"=&gt;"", "SERVER_NAME"=&gt;"localhost", "SERVER_PORT"=&gt;"3001", "SERVER_PROTOCOL"=&gt;"HTTP/1.1", "SERVER_SOFTWARE"=&gt;"WEBrick/1.3.1 (Ruby/2.0.0/2014-02-24)", "HTTP_HOST"=&gt;"localhost:3001", "HTTP_CONNECTION"=&gt;"keep-alive", "HTTP_CACHE_CONTROL"=&gt;"max-age=0", "HTTP_ACCEPT"=&gt;"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "HTTP_USER_AGENT"=&gt;"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36", "HTTP_ACCEPT_ENCODING"=&gt;"gzip,deflate,sdch", "HTTP_ACCEPT_LANGUAGE"=&gt;"en-US,en;q=0.8,nb;q=0.6,sv;q=0.4,da;q=0.2", "HTTP_COOKIE"=&gt;"lang=clojure; PHPSESSID=c5e0dae5dab7e3164315ff32c025fe03; JSESSIONID=z77azh4lqd5x1hupb5alpmjdj; pid=null; ring-session=8cd2d315-be90-4f12-a1ae-042b190fa300; language=java", "rack.version"=&gt;[1, 1], "rack.input"=&gt;#&lt;StringIO:0x007fd22c236c88&gt;, "rack.errors"=&gt;#&lt;IO:&lt;STDERR&gt;&gt;, "rack.multithread"=&gt;true, "rack.multiprocess"=&gt;false, "rack.run_once"=&gt;false, "rack.url_scheme"=&gt;"http", "HTTP_VERSION"=&gt;"HTTP/1.1", "REQUEST_PATH"=&gt;"/", "action_dispatch.parameter_filter"=&gt;[:password], "action_dispatch.secret_token"=&gt;"9d39ca6b681cd45f39cd3cb1da16bee98ce18733d0eaf63d31531f998cb06b90d553591381dff73a62f6c9e3e25106fd3006bdc68a0424f40d2b5f9e5327c69e", "action_dispatch.remote_ip"=&gt;#&lt;ActionDispatch::RemoteIp::RemoteIpGetter:0x007fd22c39c398 @env={...}, @check_ip_spoofing=true, @trusted_proxies=/(^127\.0\.0\.1$|^(10|172\.(1[6-9]|2[0-9]|30|31)|192\.168)\.)/i&gt;, "rack.session"=&gt;{}, "rack.session.options"=&gt;{:path=&gt;"/", :domain=&gt;nil, :expire_after=&gt;nil, :secure=&gt;false, :httponly=&gt;true, :id=&gt;nil}, "rack.request.cookie_string"=&gt;"lang=clojure; PHPSESSID=c5e0dae5dab7e3164315ff32c025fe03; JSESSIONID=z77azh4lqd5x1hupb5alpmjdj; pid=null; ring-session=8cd2d315-be90-4f12-a1ae-042b190fa300; language=java", "rack.request.cookie_hash"=&gt;{"lang"=&gt;"clojure", "PHPSESSID"=&gt;"c5e0dae5dab7e3164315ff32c025fe03", "JSESSIONID"=&gt;"z77azh4lqd5x1hupb5alpmjdj", "pid"=&gt;"null", "ring-session"=&gt;"8cd2d315-be90-4f12-a1ae-042b190fa300", "language"=&gt;"java"}, "action_dispatch.cookies"=&gt;{"lang"=&gt;"clojure", "PHPSESSID"=&gt;"c5e0dae5dab7e3164315ff32c025fe03", "JSESSIONID"=&gt;"z77azh4lqd5x1hupb5alpmjdj", "pid"=&gt;"null", "ring-session"=&gt;"8cd2d315-be90-4f12-a1ae-042b190fa300", "language"=&gt;"java"}, "action_dispatch.request.unsigned_session_cookie"=&gt;{}, "action_dispatch.request.path_parameters"=&gt;{:action=&gt;"index", :controller=&gt;"books"}, "action_controller.instance"=&gt;#&lt;BooksController:0x007fd22b64a938 @action_has_layout=true, @view_context_class=nil, @_headers={"Content-Type"=&gt;"text/html"}, @_status=200, @_response=#&lt;ActionDispatch::Response:0x007fd22b64a7a8 @writer=#&lt;Proc:0x007fd22b64a6e0@/Library/Ruby/Gems/2.0.0/gems/actionpack-3.0.5/lib/action_dispatch/http/response.rb:43 (lambda)&gt;, @block=nil, @length=0, @header={}, @status=200, @body=[], @cookie=[], @sending_file=false, @blank=false, @cache_control={}, @etag=nil, @request=#&lt;ActionDispatch::Request:0x007fd22b64a7d0 ...&gt;&gt;, @_request=#&lt;ActionDispatch::Request:0x007fd22b64a7d0 ...&gt;, @_env={...}, @lookup_context=#&lt;ActionView::LookupContext:0x007fd22b89d730 @details_key=nil, @details={:handlers=&gt;[:erb, :rjs, :builder, :rhtml, :rxml], :formats=&gt;[:html], :locale=&gt;[:en, :en]}, @skip_default_locale=false, @frozen_formats=false, @view_paths=[#&lt;ActionView::FileSystemResolver:0x007fd22c1f4338 @cached={}, @path="/Users/christian/projects/spid/noteworthy/app/views"&gt;]&gt;, @_action_name="index", @_response_body=nil, @_config={}&gt;, "action_dispatch.request.content_type"=&gt;nil, "action_dispatch.request.request_parameters"=&gt;{}, "rack.request.query_string"=&gt;"", "rack.request.query_hash"=&gt;{}, "action_dispatch.request.query_parameters"=&gt;{}, "action_dispatch.request.parameters"=&gt;{"action"=&gt;"index", "controller"=&gt;"books"}, "action_dispatch.request.formats"=&gt;[#&lt;Mime::Type:0x007fd22c32c610 @synonyms=["application/xhtml+xml"], @symbol=:html, @string="text/html"&gt;]}, @fullpath="/books", @request_method="GET", @filtered_parameters={"action"=&gt;"index", "controller"=&gt;"books"}, @method="GET"&gt;</pre></td></tr>
<tr><td class="name">@_env</td><td><pre>{"GATEWAY_INTERFACE"=&gt;"CGI/1.1", "PATH_INFO"=&gt;"/books", "QUERY_STRING"=&gt;"", "REMOTE_ADDR"=&gt;"127.0.0.1", "REMOTE_HOST"=&gt;"localhost", "REQUEST_METHOD"=&gt;"GET", "REQUEST_URI"=&gt;"http://localhost:3001/books", "SCRIPT_NAME"=&gt;"", "SERVER_NAME"=&gt;"localhost", "SERVER_PORT"=&gt;"3001", "SERVER_PROTOCOL"=&gt;"HTTP/1.1", "SERVER_SOFTWARE"=&gt;"WEBrick/1.3.1 (Ruby/2.0.0/2014-02-24)", "HTTP_HOST"=&gt;"localhost:3001", "HTTP_CONNECTION"=&gt;"keep-alive", "HTTP_CACHE_CONTROL"=&gt;"max-age=0", "HTTP_ACCEPT"=&gt;"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "HTTP_USER_AGENT"=&gt;"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36", "HTTP_ACCEPT_ENCODING"=&gt;"gzip,deflate,sdch", "HTTP_ACCEPT_LANGUAGE"=&gt;"en-US,en;q=0.8,nb;q=0.6,sv;q=0.4,da;q=0.2", "HTTP_COOKIE"=&gt;"lang=clojure; PHPSESSID=c5e0dae5dab7e3164315ff32c025fe03; JSESSIONID=z77azh4lqd5x1hupb5alpmjdj; pid=null; ring-session=8cd2d315-be90-4f12-a1ae-042b190fa300; language=java", "rack.version"=&gt;[1, 1], "rack.input"=&gt;#&lt;StringIO:0x007fd22c236c88&gt;, "rack.errors"=&gt;#&lt;IO:&lt;STDERR&gt;&gt;, "rack.multithread"=&gt;true, "rack.multiprocess"=&gt;false, "rack.run_once"=&gt;false, "rack.url_scheme"=&gt;"http", "HTTP_VERSION"=&gt;"HTTP/1.1", "REQUEST_PATH"=&gt;"/", "action_dispatch.parameter_filter"=&gt;[:password], "action_dispatch.secret_token"=&gt;"9d39ca6b681cd45f39cd3cb1da16bee98ce18733d0eaf63d31531f998cb06b90d553591381dff73a62f6c9e3e25106fd3006bdc68a0424f40d2b5f9e5327c69e", "action_dispatch.remote_ip"=&gt;#&lt;ActionDispatch::RemoteIp::RemoteIpGetter:0x007fd22c39c398 @env={...}, @check_ip_spoofing=true, @trusted_proxies=/(^127\.0\.0\.1$|^(10|172\.(1[6-9]|2[0-9]|30|31)|192\.168)\.)/i&gt;, "rack.session"=&gt;{}, "rack.session.options"=&gt;{:path=&gt;"/", :domain=&gt;nil, :expire_after=&gt;nil, :secure=&gt;false, :httponly=&gt;true, :id=&gt;nil}, "rack.request.cookie_string"=&gt;"lang=clojure; PHPSESSID=c5e0dae5dab7e3164315ff32c025fe03; JSESSIONID=z77azh4lqd5x1hupb5alpmjdj; pid=null; ring-session=8cd2d315-be90-4f12-a1ae-042b190fa300; language=java", "rack.request.cookie_hash"=&gt;{"lang"=&gt;"clojure", "PHPSESSID"=&gt;"c5e0dae5dab7e3164315ff32c025fe03", "JSESSIONID"=&gt;"z77azh4lqd5x1hupb5alpmjdj", "pid"=&gt;"null", "ring-session"=&gt;"8cd2d315-be90-4f12-a1ae-042b190fa300", "language"=&gt;"java"}, "action_dispatch.cookies"=&gt;{"lang"=&gt;"clojure", "PHPSESSID"=&gt;"c5e0dae5dab7e3164315ff32c025fe03", "JSESSIONID"=&gt;"z77azh4lqd5x1hupb5alpmjdj", "pid"=&gt;"null", "ring-session"=&gt;"8cd2d315-be90-4f12-a1ae-042b190fa300", "language"=&gt;"java"}, "action_dispatch.request.unsigned_session_cookie"=&gt;{}, "action_dispatch.request.path_parameters"=&gt;{:action=&gt;"index", :controller=&gt;"books"}, "action_controller.instance"=&gt;#&lt;BooksController:0x007fd22b64a938 @action_has_layout=true, @view_context_class=nil, @_headers={"Content-Type"=&gt;"text/html"}, @_status=200, @_response=#&lt;ActionDispatch::Response:0x007fd22b64a7a8 @writer=#&lt;Proc:0x007fd22b64a6e0@/Library/Ruby/Gems/2.0.0/gems/actionpack-3.0.5/lib/action_dispatch/http/response.rb:43 (lambda)&gt;, @block=nil, @length=0, @header={}, @status=200, @body=[], @cookie=[], @sending_file=false, @blank=false, @cache_control={}, @etag=nil, @request=#&lt;ActionDispatch::Request:0x007fd22b64a7d0 @env={...}, @fullpath="/books", @request_method="GET", @filtered_parameters={"action"=&gt;"index", "controller"=&gt;"books"}, @method="GET"&gt;&gt;, @_request=#&lt;ActionDispatch::Request:0x007fd22b64a7d0 @env={...}, @fullpath="/books", @request_method="GET", @filtered_parameters={"action"=&gt;"index", "controller"=&gt;"books"}, @method="GET"&gt;, @_env={...}, @lookup_context=#&lt;ActionView::LookupContext:0x007fd22b89d730 @details_key=nil, @details={:handlers=&gt;[:erb, :rjs, :builder, :rhtml, :rxml], :formats=&gt;[:html], :locale=&gt;[:en, :en]}, @skip_default_locale=false, @frozen_formats=false, @view_paths=[#&lt;ActionView::FileSystemResolver:0x007fd22c1f4338 @cached={}, @path="/Users/christian/projects/spid/noteworthy/app/views"&gt;]&gt;, @_action_name="index", @_response_body=nil, @_config={}&gt;, "action_dispatch.request.content_type"=&gt;nil, "action_dispatch.request.request_parameters"=&gt;{}, "rack.request.query_string"=&gt;"", "rack.request.query_hash"=&gt;{}, "action_dispatch.request.query_parameters"=&gt;{}, "action_dispatch.request.parameters"=&gt;{"action"=&gt;"index", "controller"=&gt;"books"}, "action_dispatch.request.formats"=&gt;[#&lt;Mime::Type:0x007fd22c32c610 @synonyms=["application/xhtml+xml"], @symbol=:html, @string="text/html"&gt;]}</pre></td></tr>
<tr><td class="name">@lookup_context</td><td><pre>#&lt;ActionView::LookupContext:0x007fd22b89d730 @details_key=nil, @details={:handlers=&gt;[:erb, :rjs, :builder, :rhtml, :rxml], :formats=&gt;[:html], :locale=&gt;[:en, :en]}, @skip_default_locale=false, @frozen_formats=false, @view_paths=[#&lt;ActionView::FileSystemResolver:0x007fd22c1f4338 @cached={}, @path="/Users/christian/projects/spid/noteworthy/app/views"&gt;]&gt;</pre></td></tr>
<tr><td class="name">@_action_name</td><td><pre>"index"</pre></td></tr>
<tr><td class="name">@_response_body</td><td><pre>nil</pre></td></tr>
<tr><td class="name">@_config</td><td><pre>{}</pre></td></tr>
</tbody></table>
</div>
</div>
<!-- 0.05380702018737793 seconds -->
</div>
<div class="frame_info" id="frame_info_13" style="display:none;"></div>
<div class="frame_info" id="frame_info_14" style="display:none;"></div>
<div class="frame_info" id="frame_info_15" style="display:none;"></div>
<div class="frame_info" id="frame_info_16" style="display:none;"></div>
<div class="frame_info" id="frame_info_17" style="display:none;"></div>
<div class="frame_info" id="frame_info_18" style="display:none;"></div>
<div class="frame_info" id="frame_info_19" style="display:none;"></div>
<div class="frame_info" id="frame_info_20" style="display:none;"></div>
<div class="frame_info" id="frame_info_21" style="display:none;"></div>
<div class="frame_info" id="frame_info_22" style="display:none;"></div>
<div class="frame_info" id="frame_info_23" style="display:none;"></div>
<div class="frame_info" id="frame_info_24" style="display:none;"></div>
<div class="frame_info" id="frame_info_25" style="display:none;"></div>
<div class="frame_info" id="frame_info_26" style="display:none;"></div>
<div class="frame_info" id="frame_info_27" style="display:none;"></div>
<div class="frame_info" id="frame_info_28" style="display:none;"></div>
<div class="frame_info" id="frame_info_29" style="display:none;"></div>
<div class="frame_info" id="frame_info_30" style="display:none;"></div>
<div class="frame_info" id="frame_info_31" style="display:none;"></div>
<div class="frame_info" id="frame_info_32" style="display:none;"></div>
<div class="frame_info" id="frame_info_33" style="display:none;"></div>
<div class="frame_info" id="frame_info_34" style="display:none;"></div>
<div class="frame_info" id="frame_info_35" style="display:none;"></div>
<div class="frame_info" id="frame_info_36" style="display:none;"></div>
<div class="frame_info" id="frame_info_37" style="display:none;"></div>
<div class="frame_info" id="frame_info_38" style="display:none;"></div>
<div class="frame_info" id="frame_info_39" style="display:none;"></div>
<div class="frame_info" id="frame_info_40" style="display:none;"></div>
<div class="frame_info" id="frame_info_41" style="display:none;"></div>
<div class="frame_info" id="frame_info_42" style="display:none;"></div>
<div class="frame_info" id="frame_info_43" style="display:none;"></div>
<div class="frame_info" id="frame_info_44" style="display:none;"></div>
<div class="frame_info" id="frame_info_45" style="display:none;"></div>
<div class="frame_info" id="frame_info_46" style="display:none;"></div>
<div class="frame_info" id="frame_info_47" style="display:none;"></div>
<div class="frame_info" id="frame_info_48" style="display:none;"></div>
<div class="frame_info" id="frame_info_49" style="display:none;"></div>
<div class="frame_info" id="frame_info_50" style="display:none;"></div>
<div class="frame_info" id="frame_info_51" style="display:none;"></div>
<div class="frame_info" id="frame_info_52" style="display:none;"></div>
<div class="frame_info" id="frame_info_53" style="display:none;"></div>
<div class="frame_info" id="frame_info_54" style="display:none;"></div>
<div class="frame_info" id="frame_info_55" style="display:none;"></div>
<div class="frame_info" id="frame_info_56" style="display:none;"></div>
<div class="frame_info" id="frame_info_57" style="display:none;"></div>
<div class="frame_info" id="frame_info_58" style="display:none;"></div>
<div class="frame_info" id="frame_info_59" style="display:none;"></div>
<div class="frame_info" id="frame_info_60" style="display:none;"></div>
<div class="frame_info" id="frame_info_61" style="display:none;"></div>
<div class="frame_info" id="frame_info_62" style="display:none;"></div>
<div class="frame_info" id="frame_info_63" style="display:none;"></div>
<div class="frame_info" id="frame_info_64" style="display:none;"></div>
<div class="frame_info" id="frame_info_65" style="display:none;"></div>
<div class="frame_info" id="frame_info_66" style="display:none;"></div>
<div class="frame_info" id="frame_info_67" style="display:none;"></div>
<div class="frame_info" id="frame_info_68" style="display:none;"></div>
<div class="frame_info" id="frame_info_69" style="display:none;"></div>
<div class="frame_info" id="frame_info_70" style="display:none;"></div>
<div class="frame_info" id="frame_info_71" style="display:none;"></div>
<div class="frame_info" id="frame_info_72" style="display:none;"></div>
<div class="frame_info" id="frame_info_73" style="display:none;"></div>
<div class="frame_info" id="frame_info_74" style="display:none;"></div>
</section>
<script>
(function() {
var OID = "70270322116460";
var previousFrame = null;
var previousFrameInfo = null;
var allFrames = document.querySelectorAll("ul.frames li");
var allFrameInfos = document.querySelectorAll(".frame_info");
function apiCall(method, opts, cb) {
var req = new XMLHttpRequest();
req.open("POST", "" + "/__better_errors/" + OID + "/" + method, true);
req.setRequestHeader("Content-Type", "application/json");
req.send(JSON.stringify(opts));
req.onreadystatechange = function() {
if(req.readyState == 4) {
var res = JSON.parse(req.responseText);
cb(res);
}
};
}
function escapeHTML(html) {
return html.replace(/&/, "&amp;").replace(/</g, "&lt;");
}
function REPL(index) {
this.index = index;
var previousCommands = JSON.parse(localStorage.getItem("better_errors_previous_commands"));
if(previousCommands === null) {
localStorage.setItem("better_errors_previous_commands", JSON.stringify([]));
previousCommands = [];
}
this.previousCommandOffset = previousCommands.length;
}
REPL.all = [];
REPL.prototype.install = function(containerElement) {
this.container = containerElement;
this.promptElement = this.container.querySelector(".prompt span");
this.inputElement = this.container.querySelector("input");
this.outputElement = this.container.querySelector("pre");
var self = this;
this.inputElement.onkeydown = function(ev) {
self.onKeyDown(ev);
};
this.setPrompt(">>");
REPL.all[this.index] = this;
}
REPL.prototype.focus = function() {
this.inputElement.focus();
};
REPL.prototype.setPrompt = function(prompt) {
this._prompt = prompt;
this.promptElement.innerHTML = escapeHTML(prompt);
};
REPL.prototype.getInput = function() {
return this.inputElement.value;
};
REPL.prototype.setInput = function(text) {
this.inputElement.value = text;
if(this.inputElement.setSelectionRange) {
// set cursor to end of input
this.inputElement.setSelectionRange(text.length, text.length);
}
};
REPL.prototype.writeRawOutput = function(output) {
this.outputElement.innerHTML += output;
this.outputElement.scrollTop = this.outputElement.scrollHeight;
};
REPL.prototype.writeOutput = function(output) {
this.writeRawOutput(escapeHTML(output));
};
REPL.prototype.sendInput = function(line) {
var self = this;
apiCall("eval", { "index": this.index, source: line }, function(response) {
if(response.error) {
self.writeOutput(response.error + "\n");
}
self.writeOutput(self._prompt + " ");
self.writeRawOutput(response.highlighted_input + "\n");
self.writeOutput(response.result);
self.setPrompt(response.prompt);
self.setInput(response.prefilled_input);
});
};
REPL.prototype.onEnterKey = function() {
var text = this.getInput();
if(text != "" && text !== undefined) {
var previousCommands = JSON.parse(localStorage.getItem("better_errors_previous_commands"));
this.previousCommandOffset = previousCommands.push(text);
if(previousCommands.length > 100) {
previousCommands.splice(0, 1);
}
localStorage.setItem("better_errors_previous_commands", JSON.stringify(previousCommands));
}
this.setInput("");
this.sendInput(text);
};
REPL.prototype.onNavigateHistory = function(direction) {
this.previousCommandOffset += direction;
var previousCommands = JSON.parse(localStorage.getItem("better_errors_previous_commands"));
if(this.previousCommandOffset < 0) {
this.previousCommandOffset = -1;
this.setInput("");
return;
}
if(this.previousCommandOffset >= previousCommands.length) {
this.previousCommandOffset = previousCommands.length;
this.setInput("");
return;
}
this.setInput(previousCommands[this.previousCommandOffset]);
};
REPL.prototype.onKeyDown = function(ev) {
if(ev.keyCode == 13) {
this.onEnterKey();
} else if(ev.keyCode == 38 || (ev.ctrlKey && ev.keyCode == 80)) {
// the user pressed the up arrow or Ctrl-P
this.onNavigateHistory(-1);
ev.preventDefault();
return false;
} else if(ev.keyCode == 40 || (ev.ctrlKey && ev.keyCode == 78)) {
// the user pressed the down arrow or Ctrl-N
this.onNavigateHistory(1);
ev.preventDefault();
return false;
}
};
function switchTo(el) {
if(previousFrameInfo) previousFrameInfo.style.display = "none";
previousFrameInfo = el;
el.style.display = "block";
var replInput = el.querySelector('.console input');
if (replInput) replInput.focus();
}
function selectFrameInfo(index) {
var el = allFrameInfos[index];
if(el) {
if (el.loaded) {
return switchTo(el);
}
apiCall("variables", { "index": index }, function(response) {
el.loaded = true;
if(response.error) {
el.innerHTML = "<span class='error'>" + escapeHTML(response.error) + "</span>";
} else {
el.innerHTML = response.html;
var repl = el.querySelector(".repl .console");
if(repl) {
new REPL(index).install(repl);
}
switchTo(el);
}
});
}
}
for(var i = 0; i < allFrames.length; i++) {
(function(i, el) {
var el = allFrames[i];
el.onclick = function() {
if(previousFrame) {
previousFrame.className = "";
}
el.className = "selected";
previousFrame = el;
selectFrameInfo(el.attributes["data-index"].value);
};
})(i);
}
// Click the first application frame
(
document.querySelector(".frames li.application") ||
document.querySelector(".frames li")
).onclick();
// This is the second query performed for frames; maybe the 'allFrames' list
// currently used and this list can be better used to avoid the repetition:
var applicationFramesCount = document.querySelectorAll(
"ul.frames li[data-context=application]"
).length;
var applicationFramesButtonIsInstalled = false;
var applicationFramesButton = document.getElementById("application_frames");
var allFramesButton = document.getElementById("all_frames");
// The application frames button only needs to be bound if
// there are actually any application frames to look at.
var installApplicationFramesButton = function() {
applicationFramesButton.onclick = function() {
allFramesButton.className = "";
applicationFramesButton.className = "selected";
for(var i = 0; i < allFrames.length; i++) {
if(allFrames[i].attributes["data-context"].value == "application") {
allFrames[i].style.display = "block";
} else {
allFrames[i].style.display = "none";
}
}
return false;
};
applicationFramesButtonIsInstalled = true;
}
allFramesButton.onclick = function() {
if(applicationFramesButtonIsInstalled) {
applicationFramesButton.className = "";
}
allFramesButton.className = "selected";
for(var i = 0; i < allFrames.length; i++) {
allFrames[i].style.display = "block";
}
return false;
};
// If there are no application frames, select the 'All Frames'
// tab by default.
if(applicationFramesCount > 0) {
installApplicationFramesButton();
applicationFramesButton.onclick();
} else {
applicationFramesButton.className = "disabled";
applicationFramesButton.title = "No application frames available";
allFramesButton.onclick();
}
})();
</script>
<!-- generated by Better Errors in 0.010000944137573242 seconds -->
</body>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment