· 10 years ago · Aug 29, 2016, 01:12 PM
1<!DOCTYPE html>
2<html lang="en">
3<head>
4 <meta charset="utf-8" />
5 <title>Action Controller: Exception caught</title>
6 <style>
7 body {
8 background-color: #FAFAFA;
9 color: #333;
10 margin: 0px;
11 }
12
13 body, p, ol, ul, td {
14 font-family: helvetica, verdana, arial, sans-serif;
15 font-size: 13px;
16 line-height: 18px;
17 }
18
19 pre {
20 font-size: 11px;
21 white-space: pre-wrap;
22 }
23
24 pre.box {
25 border: 1px solid #EEE;
26 padding: 10px;
27 margin: 0px;
28 width: 958px;
29 }
30
31 header {
32 color: #F0F0F0;
33 background: #C52F24;
34 padding: 0.5em 1.5em;
35 }
36
37 h1 {
38 margin: 0.2em 0;
39 line-height: 1.1em;
40 font-size: 2em;
41 }
42
43 h2 {
44 color: #C52F24;
45 line-height: 25px;
46 }
47
48 .details {
49 border: 1px solid #D0D0D0;
50 border-radius: 4px;
51 margin: 1em 0px;
52 display: block;
53 width: 978px;
54 }
55
56 .summary {
57 padding: 8px 15px;
58 border-bottom: 1px solid #D0D0D0;
59 display: block;
60 }
61
62 .details pre {
63 margin: 5px;
64 border: none;
65 }
66
67 #container {
68 box-sizing: border-box;
69 width: 100%;
70 padding: 0 1.5em;
71 }
72
73 .source * {
74 margin: 0px;
75 padding: 0px;
76 }
77
78 .source {
79 border: 1px solid #D9D9D9;
80 background: #ECECEC;
81 width: 978px;
82 }
83
84 .source pre {
85 padding: 10px 0px;
86 border: none;
87 }
88
89 .source .data {
90 font-size: 80%;
91 overflow: auto;
92 background-color: #FFF;
93 }
94
95 .info {
96 padding: 0.5em;
97 }
98
99 .source .data .line_numbers {
100 background-color: #ECECEC;
101 color: #AAA;
102 padding: 1em .5em;
103 border-right: 1px solid #DDD;
104 text-align: right;
105 }
106
107 .line {
108 padding-left: 10px;
109 }
110
111 .line:hover {
112 background-color: #F6F6F6;
113 }
114
115 .line.active {
116 background-color: #FFCCCC;
117 }
118
119 .hidden {
120 display: none;
121 }
122
123 a { color: #980905; }
124 a:visited { color: #666; }
125 a.trace-frames { color: #666; }
126 a:hover { color: #C52F24; }
127 a.trace-frames.selected { color: #C52F24 }
128
129
130 </style>
131
132 <script>
133 var toggle = function(id) {
134 var s = document.getElementById(id).style;
135 s.display = s.display == 'none' ? 'block' : 'none';
136 return false;
137 }
138 var show = function(id) {
139 document.getElementById(id).style.display = 'block';
140 }
141 var hide = function(id) {
142 document.getElementById(id).style.display = 'none';
143 }
144 var toggleTrace = function() {
145 return toggle('blame_trace');
146 }
147 var toggleSessionDump = function() {
148 return toggle('session_dump');
149 }
150 var toggleEnvDump = function() {
151 return toggle('env_dump');
152 }
153 </script>
154</head>
155<body>
156
157<header>
158 <h1>
159 ActiveRecord::StatementInvalid
160 in Api::V1::TeamsController#update
161 </h1>
162</header>
163
164<div id="container">
165 <h2>PG::DatatypeMismatch: ERROR: argument of AND must be type boolean, not type record
166LINE 1: ...eams"."archive" = $2 AND ("teams"."id" != $3) AND (tours.hou...
167 ^
168: SELECT 1 AS one FROM "teams" INNER JOIN "tours" ON "tours"."team_id" = "teams"."id" AND "tours"."archive" = $1 INNER JOIN "houses" ON "houses"."id" = "tours"."house_id" WHERE "teams"."type" IN ('SellerTeam') AND "teams"."archive" = $2 AND ("teams"."id" != $3) AND (tours.house_id = 246607,246614 ) LIMIT 1</h2>
169
170 <div class="source hidden" id="frame-source-0">
171 <div class="info">
172 Extracted source (around line <strong>#637</strong>):
173 </div>
174 <div class="data">
175 <table cellpadding="0" cellspacing="0" class="lines">
176 <tr>
177 <td>
178 <pre class="line_numbers">
179<span>635</span>
180<span>636</span>
181<span>637</span>
182<span>638</span>
183<span>639</span>
184<span>640</span>
185 </pre>
186 </td>
187<td width="100%">
188<pre>
189<div class="line"> nextkey = @statements.next_key
190</div><div class="line"> begin
191</div><div class="line active"> @connection.prepare nextkey, sql
192</div><div class="line"> rescue => e
193</div><div class="line"> raise translate_exception_class(e, sql)
194</div><div class="line"> end
195</div>
196</pre>
197</td>
198 </tr>
199 </table>
200 </div>
201 </div>
202 <div class="source hidden" id="frame-source-1">
203 <div class="info">
204 Extracted source (around line <strong>#637</strong>):
205 </div>
206 <div class="data">
207 <table cellpadding="0" cellspacing="0" class="lines">
208 <tr>
209 <td>
210 <pre class="line_numbers">
211<span>635</span>
212<span>636</span>
213<span>637</span>
214<span>638</span>
215<span>639</span>
216<span>640</span>
217 </pre>
218 </td>
219<td width="100%">
220<pre>
221<div class="line"> nextkey = @statements.next_key
222</div><div class="line"> begin
223</div><div class="line active"> @connection.prepare nextkey, sql
224</div><div class="line"> rescue => e
225</div><div class="line"> raise translate_exception_class(e, sql)
226</div><div class="line"> end
227</div>
228</pre>
229</td>
230 </tr>
231 </table>
232 </div>
233 </div>
234 <div class="source hidden" id="frame-source-2">
235 <div class="info">
236 Extracted source (around line <strong>#596</strong>):
237 </div>
238 <div class="data">
239 <table cellpadding="0" cellspacing="0" class="lines">
240 <tr>
241 <td>
242 <pre class="line_numbers">
243<span>594</span>
244<span>595</span>
245<span>596</span>
246<span>597</span>
247<span>598</span>
248<span>599</span>
249 </pre>
250 </td>
251<td width="100%">
252<pre>
253<div class="line">
254</div><div class="line"> def exec_cache(sql, name, binds)
255</div><div class="line active"> stmt_key = prepare_statement(sql)
256</div><div class="line"> type_casted_binds = binds.map { |col, val|
257</div><div class="line"> [col, type_cast(val, col)]
258</div><div class="line"> }
259</div>
260</pre>
261</td>
262 </tr>
263 </table>
264 </div>
265 </div>
266 <div class="source hidden" id="frame-source-3">
267 <div class="info">
268 Extracted source (around line <strong>#585</strong>):
269 </div>
270 <div class="data">
271 <table cellpadding="0" cellspacing="0" class="lines">
272 <tr>
273 <td>
274 <pre class="line_numbers">
275<span>583</span>
276<span>584</span>
277<span>585</span>
278<span>586</span>
279<span>587</span>
280<span>588</span>
281 </pre>
282 </td>
283<td width="100%">
284<pre>
285<div class="line"> def execute_and_clear(sql, name, binds)
286</div><div class="line"> result = without_prepared_statement?(binds) ? exec_no_cache(sql, name, binds) :
287</div><div class="line active"> exec_cache(sql, name, binds)
288</div><div class="line"> ret = yield result
289</div><div class="line"> result.clear
290</div><div class="line"> ret
291</div>
292</pre>
293</td>
294 </tr>
295 </table>
296 </div>
297 </div>
298 <div class="source hidden" id="frame-source-4">
299 <div class="info">
300 Extracted source (around line <strong>#50</strong>):
301 </div>
302 <div class="data">
303 <table cellpadding="0" cellspacing="0" class="lines">
304 <tr>
305 <td>
306 <pre class="line_numbers">
307<span>48</span>
308<span>49</span>
309<span>50</span>
310<span>51</span>
311<span>52</span>
312<span>53</span>
313 </pre>
314 </td>
315<td width="100%">
316<pre>
317<div class="line"> arel, binds = binds_from_relation arel, binds
318</div><div class="line"> sql = to_sql(arel, binds)
319</div><div class="line active"> execute_and_clear(sql, name, binds) do |result|
320</div><div class="line"> result.getvalue(0, 0) if result.ntuples > 0 && result.nfields > 0
321</div><div class="line"> end
322</div><div class="line"> end
323</div>
324</pre>
325</td>
326 </tr>
327 </table>
328 </div>
329 </div>
330 <div class="source hidden" id="frame-source-5">
331 <div class="info">
332 Extracted source (around line <strong>#302</strong>):
333 </div>
334 <div class="data">
335 <table cellpadding="0" cellspacing="0" class="lines">
336 <tr>
337 <td>
338 <pre class="line_numbers">
339<span>300</span>
340<span>301</span>
341<span>302</span>
342<span>303</span>
343<span>304</span>
344<span>305</span>
345 </pre>
346 </td>
347<td width="100%">
348<pre>
349<div class="line"> end
350</div><div class="line">
351</div><div class="line active"> connection.select_value(relation, "#{name} Exists", relation.arel.bind_values + relation.bind_values) ? true : false
352</div><div class="line"> end
353</div><div class="line">
354</div><div class="line"> # This method is called whenever no records are found with either a single
355</div>
356</pre>
357</td>
358 </tr>
359 </table>
360 </div>
361 </div>
362 <div class="source " id="frame-source-6">
363 <div class="info">
364 Extracted source (around line <strong>#20</strong>):
365 </div>
366 <div class="data">
367 <table cellpadding="0" cellspacing="0" class="lines">
368 <tr>
369 <td>
370 <pre class="line_numbers">
371<span>18</span>
372<span>19</span>
373<span>20</span>
374<span>21</span>
375<span>22</span>
376<span>23</span>
377 </pre>
378 </td>
379<td width="100%">
380<pre>
381<div class="line">
382</div><div class="line"> def seller_house_uniqueness
383</div><div class="line active"> if SellerTeam.where.not(id: self.id).joins(:houses).where('tours.house_id = ? ', house_ids).exists?
384</div><div class="line"> errors.add(:house, I18n.t('errors.seller_tour_house_uniqueness'))
385</div><div class="line"> end
386</div><div class="line"> end
387</div>
388</pre>
389</td>
390 </tr>
391 </table>
392 </div>
393 </div>
394 <div class="source hidden" id="frame-source-7">
395 <div class="info">
396 Extracted source (around line <strong>#432</strong>):
397 </div>
398 <div class="data">
399 <table cellpadding="0" cellspacing="0" class="lines">
400 <tr>
401 <td>
402 <pre class="line_numbers">
403<span>430</span>
404<span>431</span>
405<span>432</span>
406<span>433</span>
407<span>434</span>
408<span>435</span>
409 </pre>
410 </td>
411<td width="100%">
412<pre>
413<div class="line"> case filter
414</div><div class="line"> when Symbol
415</div><div class="line active"> lambda { |target, _, &blk| target.send filter, &blk }
416</div><div class="line"> when String
417</div><div class="line"> l = eval "lambda { |value| #{filter} }"
418</div><div class="line"> lambda { |target, value| target.instance_exec(value, &l) }
419</div>
420</pre>
421</td>
422 </tr>
423 </table>
424 </div>
425 </div>
426 <div class="source hidden" id="frame-source-8">
427 <div class="info">
428 Extracted source (around line <strong>#192</strong>):
429 </div>
430 <div class="data">
431 <table cellpadding="0" cellspacing="0" class="lines">
432 <tr>
433 <td>
434 <pre class="line_numbers">
435<span>190</span>
436<span>191</span>
437<span>192</span>
438<span>193</span>
439<span>194</span>
440<span>195</span>
441 </pre>
442 </td>
443<td width="100%">
444<pre>
445<div class="line"> def self.simple(callback_sequence, user_callback)
446</div><div class="line"> callback_sequence.before do |env|
447</div><div class="line active"> user_callback.call env.target, env.value
448</div><div class="line">
449</div><div class="line"> env
450</div><div class="line"> end
451</div>
452</pre>
453</td>
454 </tr>
455 </table>
456 </div>
457 </div>
458 <div class="source hidden" id="frame-source-9">
459 <div class="info">
460 Extracted source (around line <strong>#504</strong>):
461 </div>
462 <div class="data">
463 <table cellpadding="0" cellspacing="0" class="lines">
464 <tr>
465 <td>
466 <pre class="line_numbers">
467<span>502</span>
468<span>503</span>
469<span>504</span>
470<span>505</span>
471<span>506</span>
472<span>507</span>
473 </pre>
474 </td>
475<td width="100%">
476<pre>
477<div class="line">
478</div><div class="line"> def call(*args)
479</div><div class="line active"> @before.each { |b| b.call(*args) }
480</div><div class="line"> value = @call.call(*args)
481</div><div class="line"> @after.each { |a| a.call(*args) }
482</div><div class="line"> value
483</div>
484</pre>
485</td>
486 </tr>
487 </table>
488 </div>
489 </div>
490 <div class="source hidden" id="frame-source-10">
491 <div class="info">
492 Extracted source (around line <strong>#504</strong>):
493 </div>
494 <div class="data">
495 <table cellpadding="0" cellspacing="0" class="lines">
496 <tr>
497 <td>
498 <pre class="line_numbers">
499<span>502</span>
500<span>503</span>
501<span>504</span>
502<span>505</span>
503<span>506</span>
504<span>507</span>
505 </pre>
506 </td>
507<td width="100%">
508<pre>
509<div class="line">
510</div><div class="line"> def call(*args)
511</div><div class="line active"> @before.each { |b| b.call(*args) }
512</div><div class="line"> value = @call.call(*args)
513</div><div class="line"> @after.each { |a| a.call(*args) }
514</div><div class="line"> value
515</div>
516</pre>
517</td>
518 </tr>
519 </table>
520 </div>
521 </div>
522 <div class="source hidden" id="frame-source-11">
523 <div class="info">
524 Extracted source (around line <strong>#504</strong>):
525 </div>
526 <div class="data">
527 <table cellpadding="0" cellspacing="0" class="lines">
528 <tr>
529 <td>
530 <pre class="line_numbers">
531<span>502</span>
532<span>503</span>
533<span>504</span>
534<span>505</span>
535<span>506</span>
536<span>507</span>
537 </pre>
538 </td>
539<td width="100%">
540<pre>
541<div class="line">
542</div><div class="line"> def call(*args)
543</div><div class="line active"> @before.each { |b| b.call(*args) }
544</div><div class="line"> value = @call.call(*args)
545</div><div class="line"> @after.each { |a| a.call(*args) }
546</div><div class="line"> value
547</div>
548</pre>
549</td>
550 </tr>
551 </table>
552 </div>
553 </div>
554 <div class="source hidden" id="frame-source-12">
555 <div class="info">
556 Extracted source (around line <strong>#92</strong>):
557 </div>
558 <div class="data">
559 <table cellpadding="0" cellspacing="0" class="lines">
560 <tr>
561 <td>
562 <pre class="line_numbers">
563<span>90</span>
564<span>91</span>
565<span>92</span>
566<span>93</span>
567<span>94</span>
568<span>95</span>
569 </pre>
570 </td>
571<td width="100%">
572<pre>
573<div class="line"> runner = callbacks.compile
574</div><div class="line"> e = Filters::Environment.new(self, false, nil, block)
575</div><div class="line active"> runner.call(e).value
576</div><div class="line"> end
577</div><div class="line"> end
578</div><div class="line">
579</div>
580</pre>
581</td>
582 </tr>
583 </table>
584 </div>
585 </div>
586 <div class="source hidden" id="frame-source-13">
587 <div class="info">
588 Extracted source (around line <strong>#778</strong>):
589 </div>
590 <div class="data">
591 <table cellpadding="0" cellspacing="0" class="lines">
592 <tr>
593 <td>
594 <pre class="line_numbers">
595<span>776</span>
596<span>777</span>
597<span>778</span>
598<span>779</span>
599<span>780</span>
600<span>781</span>
601 </pre>
602 </td>
603<td width="100%">
604<pre>
605<div class="line"> module_eval <<-RUBY, __FILE__, __LINE__ + 1
606</div><div class="line"> def _run_#{name}_callbacks(&block)
607</div><div class="line active"> __run_callbacks__(_#{name}_callbacks, &block)
608</div><div class="line"> end
609</div><div class="line"> RUBY
610</div><div class="line"> end
611</div>
612</pre>
613</td>
614 </tr>
615 </table>
616 </div>
617 </div>
618 <div class="source hidden" id="frame-source-14">
619 <div class="info">
620 Extracted source (around line <strong>#398</strong>):
621 </div>
622 <div class="data">
623 <table cellpadding="0" cellspacing="0" class="lines">
624 <tr>
625 <td>
626 <pre class="line_numbers">
627<span>396</span>
628<span>397</span>
629<span>398</span>
630<span>399</span>
631<span>400</span>
632<span>401</span>
633 </pre>
634 </td>
635<td width="100%">
636<pre>
637<div class="line">
638</div><div class="line"> def run_validations! #:nodoc:
639</div><div class="line active"> _run_validate_callbacks
640</div><div class="line"> errors.empty?
641</div><div class="line"> end
642</div><div class="line"> end
643</div>
644</pre>
645</td>
646 </tr>
647 </table>
648 </div>
649 </div>
650 <div class="source hidden" id="frame-source-15">
651 <div class="info">
652 Extracted source (around line <strong>#113</strong>):
653 </div>
654 <div class="data">
655 <table cellpadding="0" cellspacing="0" class="lines">
656 <tr>
657 <td>
658 <pre class="line_numbers">
659<span>111</span>
660<span>112</span>
661<span>113</span>
662<span>114</span>
663<span>115</span>
664<span>116</span>
665 </pre>
666 </td>
667<td width="100%">
668<pre>
669<div class="line"> # Overwrite run validations to include callbacks.
670</div><div class="line"> def run_validations! #:nodoc:
671</div><div class="line active"> _run_validation_callbacks { super }
672</div><div class="line"> end
673</div><div class="line"> end
674</div><div class="line"> end
675</div>
676</pre>
677</td>
678 </tr>
679 </table>
680 </div>
681 </div>
682 <div class="source hidden" id="frame-source-16">
683 <div class="info">
684 Extracted source (around line <strong>#88</strong>):
685 </div>
686 <div class="data">
687 <table cellpadding="0" cellspacing="0" class="lines">
688 <tr>
689 <td>
690 <pre class="line_numbers">
691<span>86</span>
692<span>87</span>
693<span>88</span>
694<span>89</span>
695<span>90</span>
696<span>91</span>
697 </pre>
698 </td>
699<td width="100%">
700<pre>
701<div class="line"> def __run_callbacks__(callbacks, &block)
702</div><div class="line"> if callbacks.empty?
703</div><div class="line active"> yield if block_given?
704</div><div class="line"> else
705</div><div class="line"> runner = callbacks.compile
706</div><div class="line"> e = Filters::Environment.new(self, false, nil, block)
707</div>
708</pre>
709</td>
710 </tr>
711 </table>
712 </div>
713 </div>
714 <div class="source hidden" id="frame-source-17">
715 <div class="info">
716 Extracted source (around line <strong>#778</strong>):
717 </div>
718 <div class="data">
719 <table cellpadding="0" cellspacing="0" class="lines">
720 <tr>
721 <td>
722 <pre class="line_numbers">
723<span>776</span>
724<span>777</span>
725<span>778</span>
726<span>779</span>
727<span>780</span>
728<span>781</span>
729 </pre>
730 </td>
731<td width="100%">
732<pre>
733<div class="line"> module_eval <<-RUBY, __FILE__, __LINE__ + 1
734</div><div class="line"> def _run_#{name}_callbacks(&block)
735</div><div class="line active"> __run_callbacks__(_#{name}_callbacks, &block)
736</div><div class="line"> end
737</div><div class="line"> RUBY
738</div><div class="line"> end
739</div>
740</pre>
741</td>
742 </tr>
743 </table>
744 </div>
745 </div>
746 <div class="source hidden" id="frame-source-18">
747 <div class="info">
748 Extracted source (around line <strong>#113</strong>):
749 </div>
750 <div class="data">
751 <table cellpadding="0" cellspacing="0" class="lines">
752 <tr>
753 <td>
754 <pre class="line_numbers">
755<span>111</span>
756<span>112</span>
757<span>113</span>
758<span>114</span>
759<span>115</span>
760<span>116</span>
761 </pre>
762 </td>
763<td width="100%">
764<pre>
765<div class="line"> # Overwrite run validations to include callbacks.
766</div><div class="line"> def run_validations! #:nodoc:
767</div><div class="line active"> _run_validation_callbacks { super }
768</div><div class="line"> end
769</div><div class="line"> end
770</div><div class="line"> end
771</div>
772</pre>
773</td>
774 </tr>
775 </table>
776 </div>
777 </div>
778 <div class="source hidden" id="frame-source-19">
779 <div class="info">
780 Extracted source (around line <strong>#337</strong>):
781 </div>
782 <div class="data">
783 <table cellpadding="0" cellspacing="0" class="lines">
784 <tr>
785 <td>
786 <pre class="line_numbers">
787<span>335</span>
788<span>336</span>
789<span>337</span>
790<span>338</span>
791<span>339</span>
792<span>340</span>
793 </pre>
794 </td>
795<td width="100%">
796<pre>
797<div class="line"> current_context, self.validation_context = validation_context, context
798</div><div class="line"> errors.clear
799</div><div class="line active"> run_validations!
800</div><div class="line"> ensure
801</div><div class="line"> self.validation_context = current_context
802</div><div class="line"> end
803</div>
804</pre>
805</td>
806 </tr>
807 </table>
808 </div>
809 </div>
810 <div class="source hidden" id="frame-source-20">
811 <div class="info">
812 Extracted source (around line <strong>#58</strong>):
813 </div>
814 <div class="data">
815 <table cellpadding="0" cellspacing="0" class="lines">
816 <tr>
817 <td>
818 <pre class="line_numbers">
819<span>56</span>
820<span>57</span>
821<span>58</span>
822<span>59</span>
823<span>60</span>
824<span>61</span>
825 </pre>
826 </td>
827<td width="100%">
828<pre>
829<div class="line"> def valid?(context = nil)
830</div><div class="line"> context ||= (new_record? ? :create : :update)
831</div><div class="line active"> output = super(context)
832</div><div class="line"> errors.empty? && output
833</div><div class="line"> end
834</div><div class="line">
835</div>
836</pre>
837</td>
838 </tr>
839 </table>
840 </div>
841 </div>
842 <div class="source hidden" id="frame-source-21">
843 <div class="info">
844 Extracted source (around line <strong>#83</strong>):
845 </div>
846 <div class="data">
847 <table cellpadding="0" cellspacing="0" class="lines">
848 <tr>
849 <td>
850 <pre class="line_numbers">
851<span>81</span>
852<span>82</span>
853<span>83</span>
854<span>84</span>
855<span>85</span>
856<span>86</span>
857 </pre>
858 </td>
859<td width="100%">
860<pre>
861<div class="line">
862</div><div class="line"> def perform_validations(options={}) # :nodoc:
863</div><div class="line active"> options[:validate] == false || valid?(options[:context])
864</div><div class="line"> end
865</div><div class="line"> end
866</div><div class="line">end
867</div>
868</pre>
869</td>
870 </tr>
871 </table>
872 </div>
873 </div>
874 <div class="source hidden" id="frame-source-22">
875 <div class="info">
876 Extracted source (around line <strong>#43</strong>):
877 </div>
878 <div class="data">
879 <table cellpadding="0" cellspacing="0" class="lines">
880 <tr>
881 <td>
882 <pre class="line_numbers">
883<span>41</span>
884<span>42</span>
885<span>43</span>
886<span>44</span>
887<span>45</span>
888<span>46</span>
889 </pre>
890 </td>
891<td width="100%">
892<pre>
893<div class="line"> # exception instead of returning +false+ if the record is not valid.
894</div><div class="line"> def save!(options={})
895</div><div class="line active"> perform_validations(options) ? super : raise_record_invalid
896</div><div class="line"> end
897</div><div class="line">
898</div><div class="line"> # Runs all the validations within the specified context. Returns +true+ if
899</div>
900</pre>
901</td>
902 </tr>
903 </table>
904 </div>
905 </div>
906 <div class="source hidden" id="frame-source-23">
907 <div class="info">
908 Extracted source (around line <strong>#29</strong>):
909 </div>
910 <div class="data">
911 <table cellpadding="0" cellspacing="0" class="lines">
912 <tr>
913 <td>
914 <pre class="line_numbers">
915<span>27</span>
916<span>28</span>
917<span>29</span>
918<span>30</span>
919<span>31</span>
920<span>32</span>
921 </pre>
922 </td>
923<td width="100%">
924<pre>
925<div class="line"> # Attempts to <tt>save!</tt> the record and clears changed attributes if successful.
926</div><div class="line"> def save!(*)
927</div><div class="line active"> super.tap do
928</div><div class="line"> changes_applied
929</div><div class="line"> end
930</div><div class="line"> end
931</div>
932</pre>
933</td>
934 </tr>
935 </table>
936 </div>
937 </div>
938 <div class="source hidden" id="frame-source-24">
939 <div class="info">
940 Extracted source (around line <strong>#291</strong>):
941 </div>
942 <div class="data">
943 <table cellpadding="0" cellspacing="0" class="lines">
944 <tr>
945 <td>
946 <pre class="line_numbers">
947<span>289</span>
948<span>290</span>
949<span>291</span>
950<span>292</span>
951<span>293</span>
952<span>294</span>
953 </pre>
954 </td>
955<td width="100%">
956<pre>
957<div class="line">
958</div><div class="line"> def save!(*) #:nodoc:
959</div><div class="line active"> with_transaction_returning_status { super }
960</div><div class="line"> end
961</div><div class="line">
962</div><div class="line"> def touch(*) #:nodoc:
963</div>
964</pre>
965</td>
966 </tr>
967 </table>
968 </div>
969 </div>
970 <div class="source hidden" id="frame-source-25">
971 <div class="info">
972 Extracted source (around line <strong>#351</strong>):
973 </div>
974 <div class="data">
975 <table cellpadding="0" cellspacing="0" class="lines">
976 <tr>
977 <td>
978 <pre class="line_numbers">
979<span>349</span>
980<span>350</span>
981<span>351</span>
982<span>352</span>
983<span>353</span>
984<span>354</span>
985 </pre>
986 </td>
987<td width="100%">
988<pre>
989<div class="line"> add_to_transaction
990</div><div class="line"> begin
991</div><div class="line active"> status = yield
992</div><div class="line"> rescue ActiveRecord::Rollback
993</div><div class="line"> clear_transaction_record_state
994</div><div class="line"> status = nil
995</div>
996</pre>
997</td>
998 </tr>
999 </table>
1000 </div>
1001 </div>
1002 <div class="source hidden" id="frame-source-26">
1003 <div class="info">
1004 Extracted source (around line <strong>#211</strong>):
1005 </div>
1006 <div class="data">
1007 <table cellpadding="0" cellspacing="0" class="lines">
1008 <tr>
1009 <td>
1010 <pre class="line_numbers">
1011<span>209</span>
1012<span>210</span>
1013<span>211</span>
1014<span>212</span>
1015<span>213</span>
1016<span>214</span>
1017 </pre>
1018 </td>
1019<td width="100%">
1020<pre>
1021<div class="line"> raise ActiveRecord::TransactionIsolationError, "cannot set isolation when joining a transaction"
1022</div><div class="line"> end
1023</div><div class="line active"> yield
1024</div><div class="line"> else
1025</div><div class="line"> transaction_manager.within_new_transaction(options) { yield }
1026</div><div class="line"> end
1027</div>
1028</pre>
1029</td>
1030 </tr>
1031 </table>
1032 </div>
1033 </div>
1034 <div class="source hidden" id="frame-source-27">
1035 <div class="info">
1036 Extracted source (around line <strong>#220</strong>):
1037 </div>
1038 <div class="data">
1039 <table cellpadding="0" cellspacing="0" class="lines">
1040 <tr>
1041 <td>
1042 <pre class="line_numbers">
1043<span>218</span>
1044<span>219</span>
1045<span>220</span>
1046<span>221</span>
1047<span>222</span>
1048<span>223</span>
1049 </pre>
1050 </td>
1051<td width="100%">
1052<pre>
1053<div class="line"> def transaction(options = {}, &block)
1054</div><div class="line"> # See the ConnectionAdapters::DatabaseStatements#transaction API docs.
1055</div><div class="line active"> connection.transaction(options, &block)
1056</div><div class="line"> end
1057</div><div class="line">
1058</div><div class="line"> # This callback is called after a record has been created, updated, or destroyed.
1059</div>
1060</pre>
1061</td>
1062 </tr>
1063 </table>
1064 </div>
1065 </div>
1066 <div class="source hidden" id="frame-source-28">
1067 <div class="info">
1068 Extracted source (around line <strong>#348</strong>):
1069 </div>
1070 <div class="data">
1071 <table cellpadding="0" cellspacing="0" class="lines">
1072 <tr>
1073 <td>
1074 <pre class="line_numbers">
1075<span>346</span>
1076<span>347</span>
1077<span>348</span>
1078<span>349</span>
1079<span>350</span>
1080<span>351</span>
1081 </pre>
1082 </td>
1083<td width="100%">
1084<pre>
1085<div class="line"> def with_transaction_returning_status
1086</div><div class="line"> status = nil
1087</div><div class="line active"> self.class.transaction do
1088</div><div class="line"> add_to_transaction
1089</div><div class="line"> begin
1090</div><div class="line"> status = yield
1091</div>
1092</pre>
1093</td>
1094 </tr>
1095 </table>
1096 </div>
1097 </div>
1098 <div class="source hidden" id="frame-source-29">
1099 <div class="info">
1100 Extracted source (around line <strong>#291</strong>):
1101 </div>
1102 <div class="data">
1103 <table cellpadding="0" cellspacing="0" class="lines">
1104 <tr>
1105 <td>
1106 <pre class="line_numbers">
1107<span>289</span>
1108<span>290</span>
1109<span>291</span>
1110<span>292</span>
1111<span>293</span>
1112<span>294</span>
1113 </pre>
1114 </td>
1115<td width="100%">
1116<pre>
1117<div class="line">
1118</div><div class="line"> def save!(*) #:nodoc:
1119</div><div class="line active"> with_transaction_returning_status { super }
1120</div><div class="line"> end
1121</div><div class="line">
1122</div><div class="line"> def touch(*) #:nodoc:
1123</div>
1124</pre>
1125</td>
1126 </tr>
1127 </table>
1128 </div>
1129 </div>
1130 <div class="source hidden" id="frame-source-30">
1131 <div class="info">
1132 Extracted source (around line <strong>#265</strong>):
1133 </div>
1134 <div class="data">
1135 <table cellpadding="0" cellspacing="0" class="lines">
1136 <tr>
1137 <td>
1138 <pre class="line_numbers">
1139<span>263</span>
1140<span>264</span>
1141<span>265</span>
1142<span>266</span>
1143<span>267</span>
1144<span>268</span>
1145 </pre>
1146 </td>
1147<td width="100%">
1148<pre>
1149<div class="line"> with_transaction_returning_status do
1150</div><div class="line"> assign_attributes(attributes)
1151</div><div class="line active"> save!
1152</div><div class="line"> end
1153</div><div class="line"> end
1154</div><div class="line">
1155</div>
1156</pre>
1157</td>
1158 </tr>
1159 </table>
1160 </div>
1161 </div>
1162 <div class="source hidden" id="frame-source-31">
1163 <div class="info">
1164 Extracted source (around line <strong>#351</strong>):
1165 </div>
1166 <div class="data">
1167 <table cellpadding="0" cellspacing="0" class="lines">
1168 <tr>
1169 <td>
1170 <pre class="line_numbers">
1171<span>349</span>
1172<span>350</span>
1173<span>351</span>
1174<span>352</span>
1175<span>353</span>
1176<span>354</span>
1177 </pre>
1178 </td>
1179<td width="100%">
1180<pre>
1181<div class="line"> add_to_transaction
1182</div><div class="line"> begin
1183</div><div class="line active"> status = yield
1184</div><div class="line"> rescue ActiveRecord::Rollback
1185</div><div class="line"> clear_transaction_record_state
1186</div><div class="line"> status = nil
1187</div>
1188</pre>
1189</td>
1190 </tr>
1191 </table>
1192 </div>
1193 </div>
1194 <div class="source hidden" id="frame-source-32">
1195 <div class="info">
1196 Extracted source (around line <strong>#213</strong>):
1197 </div>
1198 <div class="data">
1199 <table cellpadding="0" cellspacing="0" class="lines">
1200 <tr>
1201 <td>
1202 <pre class="line_numbers">
1203<span>211</span>
1204<span>212</span>
1205<span>213</span>
1206<span>214</span>
1207<span>215</span>
1208<span>216</span>
1209 </pre>
1210 </td>
1211<td width="100%">
1212<pre>
1213<div class="line"> yield
1214</div><div class="line"> else
1215</div><div class="line active"> transaction_manager.within_new_transaction(options) { yield }
1216</div><div class="line"> end
1217</div><div class="line"> rescue ActiveRecord::Rollback
1218</div><div class="line"> # rollbacks are silently swallowed
1219</div>
1220</pre>
1221</td>
1222 </tr>
1223 </table>
1224 </div>
1225 </div>
1226 <div class="source hidden" id="frame-source-33">
1227 <div class="info">
1228 Extracted source (around line <strong>#184</strong>):
1229 </div>
1230 <div class="data">
1231 <table cellpadding="0" cellspacing="0" class="lines">
1232 <tr>
1233 <td>
1234 <pre class="line_numbers">
1235<span>182</span>
1236<span>183</span>
1237<span>184</span>
1238<span>185</span>
1239<span>186</span>
1240<span>187</span>
1241 </pre>
1242 </td>
1243<td width="100%">
1244<pre>
1245<div class="line"> def within_new_transaction(options = {})
1246</div><div class="line"> transaction = begin_transaction options
1247</div><div class="line active"> yield
1248</div><div class="line"> rescue Exception => error
1249</div><div class="line"> rollback_transaction if transaction
1250</div><div class="line"> raise
1251</div>
1252</pre>
1253</td>
1254 </tr>
1255 </table>
1256 </div>
1257 </div>
1258 <div class="source hidden" id="frame-source-34">
1259 <div class="info">
1260 Extracted source (around line <strong>#213</strong>):
1261 </div>
1262 <div class="data">
1263 <table cellpadding="0" cellspacing="0" class="lines">
1264 <tr>
1265 <td>
1266 <pre class="line_numbers">
1267<span>211</span>
1268<span>212</span>
1269<span>213</span>
1270<span>214</span>
1271<span>215</span>
1272<span>216</span>
1273 </pre>
1274 </td>
1275<td width="100%">
1276<pre>
1277<div class="line"> yield
1278</div><div class="line"> else
1279</div><div class="line active"> transaction_manager.within_new_transaction(options) { yield }
1280</div><div class="line"> end
1281</div><div class="line"> rescue ActiveRecord::Rollback
1282</div><div class="line"> # rollbacks are silently swallowed
1283</div>
1284</pre>
1285</td>
1286 </tr>
1287 </table>
1288 </div>
1289 </div>
1290 <div class="source hidden" id="frame-source-35">
1291 <div class="info">
1292 Extracted source (around line <strong>#220</strong>):
1293 </div>
1294 <div class="data">
1295 <table cellpadding="0" cellspacing="0" class="lines">
1296 <tr>
1297 <td>
1298 <pre class="line_numbers">
1299<span>218</span>
1300<span>219</span>
1301<span>220</span>
1302<span>221</span>
1303<span>222</span>
1304<span>223</span>
1305 </pre>
1306 </td>
1307<td width="100%">
1308<pre>
1309<div class="line"> def transaction(options = {}, &block)
1310</div><div class="line"> # See the ConnectionAdapters::DatabaseStatements#transaction API docs.
1311</div><div class="line active"> connection.transaction(options, &block)
1312</div><div class="line"> end
1313</div><div class="line">
1314</div><div class="line"> # This callback is called after a record has been created, updated, or destroyed.
1315</div>
1316</pre>
1317</td>
1318 </tr>
1319 </table>
1320 </div>
1321 </div>
1322 <div class="source hidden" id="frame-source-36">
1323 <div class="info">
1324 Extracted source (around line <strong>#348</strong>):
1325 </div>
1326 <div class="data">
1327 <table cellpadding="0" cellspacing="0" class="lines">
1328 <tr>
1329 <td>
1330 <pre class="line_numbers">
1331<span>346</span>
1332<span>347</span>
1333<span>348</span>
1334<span>349</span>
1335<span>350</span>
1336<span>351</span>
1337 </pre>
1338 </td>
1339<td width="100%">
1340<pre>
1341<div class="line"> def with_transaction_returning_status
1342</div><div class="line"> status = nil
1343</div><div class="line active"> self.class.transaction do
1344</div><div class="line"> add_to_transaction
1345</div><div class="line"> begin
1346</div><div class="line"> status = yield
1347</div>
1348</pre>
1349</td>
1350 </tr>
1351 </table>
1352 </div>
1353 </div>
1354 <div class="source hidden" id="frame-source-37">
1355 <div class="info">
1356 Extracted source (around line <strong>#263</strong>):
1357 </div>
1358 <div class="data">
1359 <table cellpadding="0" cellspacing="0" class="lines">
1360 <tr>
1361 <td>
1362 <pre class="line_numbers">
1363<span>261</span>
1364<span>262</span>
1365<span>263</span>
1366<span>264</span>
1367<span>265</span>
1368<span>266</span>
1369 </pre>
1370 </td>
1371<td width="100%">
1372<pre>
1373<div class="line"> # The following transaction covers any possible database side-effects of the
1374</div><div class="line"> # attributes assignment. For example, setting the IDs of a child collection.
1375</div><div class="line active"> with_transaction_returning_status do
1376</div><div class="line"> assign_attributes(attributes)
1377</div><div class="line"> save!
1378</div><div class="line"> end
1379</div>
1380</pre>
1381</td>
1382 </tr>
1383 </table>
1384 </div>
1385 </div>
1386 <div class="source hidden" id="frame-source-38">
1387 <div class="info">
1388 Extracted source (around line <strong>#33</strong>):
1389 </div>
1390 <div class="data">
1391 <table cellpadding="0" cellspacing="0" class="lines">
1392 <tr>
1393 <td>
1394 <pre class="line_numbers">
1395<span>31</span>
1396<span>32</span>
1397<span>33</span>
1398<span>34</span>
1399<span>35</span>
1400<span>36</span>
1401 </pre>
1402 </td>
1403<td width="100%">
1404<pre>
1405<div class="line">
1406</div><div class="line"> def update
1407</div><div class="line active"> @team.update!(update_team_params)
1408</div><div class="line"> render_json @team
1409</div><div class="line"> end
1410</div><div class="line">
1411</div>
1412</pre>
1413</td>
1414 </tr>
1415 </table>
1416 </div>
1417 </div>
1418 <div class="source hidden" id="frame-source-39">
1419 <div class="info">
1420 Extracted source (around line <strong>#4</strong>):
1421 </div>
1422 <div class="data">
1423 <table cellpadding="0" cellspacing="0" class="lines">
1424 <tr>
1425 <td>
1426 <pre class="line_numbers">
1427<span>2</span>
1428<span>3</span>
1429<span>4</span>
1430<span>5</span>
1431<span>6</span>
1432<span>7</span>
1433 </pre>
1434 </td>
1435<td width="100%">
1436<pre>
1437<div class="line"> module ImplicitRender
1438</div><div class="line"> def send_action(method, *args)
1439</div><div class="line active"> ret = super
1440</div><div class="line"> default_render unless performed?
1441</div><div class="line"> ret
1442</div><div class="line"> end
1443</div>
1444</pre>
1445</td>
1446 </tr>
1447 </table>
1448 </div>
1449 </div>
1450 <div class="source hidden" id="frame-source-40">
1451 <div class="info">
1452 Extracted source (around line <strong>#198</strong>):
1453 </div>
1454 <div class="data">
1455 <table cellpadding="0" cellspacing="0" class="lines">
1456 <tr>
1457 <td>
1458 <pre class="line_numbers">
1459<span>196</span>
1460<span>197</span>
1461<span>198</span>
1462<span>199</span>
1463<span>200</span>
1464<span>201</span>
1465 </pre>
1466 </td>
1467<td width="100%">
1468<pre>
1469<div class="line"> # which is *not* necessarily the same as the action name.
1470</div><div class="line"> def process_action(method_name, *args)
1471</div><div class="line active"> send_action(method_name, *args)
1472</div><div class="line"> end
1473</div><div class="line">
1474</div><div class="line"> # Actually call the method associated with the action. Override
1475</div>
1476</pre>
1477</td>
1478 </tr>
1479 </table>
1480 </div>
1481 </div>
1482 <div class="source hidden" id="frame-source-41">
1483 <div class="info">
1484 Extracted source (around line <strong>#10</strong>):
1485 </div>
1486 <div class="data">
1487 <table cellpadding="0" cellspacing="0" class="lines">
1488 <tr>
1489 <td>
1490 <pre class="line_numbers">
1491<span>8</span>
1492<span>9</span>
1493<span>10</span>
1494<span>11</span>
1495<span>12</span>
1496<span>13</span>
1497 </pre>
1498 </td>
1499<td width="100%">
1500<pre>
1501<div class="line"> def process_action(*) #:nodoc:
1502</div><div class="line"> self.formats = request.formats.map(&:ref).compact
1503</div><div class="line active"> super
1504</div><div class="line"> end
1505</div><div class="line">
1506</div><div class="line"> # Check for double render errors and set the content_type after rendering.
1507</div>
1508</pre>
1509</td>
1510 </tr>
1511 </table>
1512 </div>
1513 </div>
1514 <div class="source hidden" id="frame-source-42">
1515 <div class="info">
1516 Extracted source (around line <strong>#20</strong>):
1517 </div>
1518 <div class="data">
1519 <table cellpadding="0" cellspacing="0" class="lines">
1520 <tr>
1521 <td>
1522 <pre class="line_numbers">
1523<span>18</span>
1524<span>19</span>
1525<span>20</span>
1526<span>21</span>
1527<span>22</span>
1528<span>23</span>
1529 </pre>
1530 </td>
1531<td width="100%">
1532<pre>
1533<div class="line"> def process_action(*args)
1534</div><div class="line"> run_callbacks(:process_action) do
1535</div><div class="line active"> super
1536</div><div class="line"> end
1537</div><div class="line"> end
1538</div><div class="line">
1539</div>
1540</pre>
1541</td>
1542 </tr>
1543 </table>
1544 </div>
1545 </div>
1546 <div class="source hidden" id="frame-source-43">
1547 <div class="info">
1548 Extracted source (around line <strong>#117</strong>):
1549 </div>
1550 <div class="data">
1551 <table cellpadding="0" cellspacing="0" class="lines">
1552 <tr>
1553 <td>
1554 <pre class="line_numbers">
1555<span>115</span>
1556<span>116</span>
1557<span>117</span>
1558<span>118</span>
1559<span>119</span>
1560<span>120</span>
1561 </pre>
1562 </td>
1563<td width="100%">
1564<pre>
1565<div class="line"> def call(env)
1566</div><div class="line"> block = env.run_block
1567</div><div class="line active"> env.value = !env.halted && (!block || block.call)
1568</div><div class="line"> env
1569</div><div class="line"> end
1570</div><div class="line"> end
1571</div>
1572</pre>
1573</td>
1574 </tr>
1575 </table>
1576 </div>
1577 </div>
1578 <div class="source hidden" id="frame-source-44">
1579 <div class="info">
1580 Extracted source (around line <strong>#555</strong>):
1581 </div>
1582 <div class="data">
1583 <table cellpadding="0" cellspacing="0" class="lines">
1584 <tr>
1585 <td>
1586 <pre class="line_numbers">
1587<span>553</span>
1588<span>554</span>
1589<span>555</span>
1590<span>556</span>
1591<span>557</span>
1592<span>558</span>
1593 </pre>
1594 </td>
1595<td width="100%">
1596<pre>
1597<div class="line"> def compile
1598</div><div class="line"> @callbacks || @mutex.synchronize do
1599</div><div class="line active"> final_sequence = CallbackSequence.new { |env| Filters::ENDING.call(env) }
1600</div><div class="line"> @callbacks ||= @chain.reverse.inject(final_sequence) do |callback_sequence, callback|
1601</div><div class="line"> callback.apply callback_sequence
1602</div><div class="line"> end
1603</div>
1604</pre>
1605</td>
1606 </tr>
1607 </table>
1608 </div>
1609 </div>
1610 <div class="source hidden" id="frame-source-45">
1611 <div class="info">
1612 Extracted source (around line <strong>#505</strong>):
1613 </div>
1614 <div class="data">
1615 <table cellpadding="0" cellspacing="0" class="lines">
1616 <tr>
1617 <td>
1618 <pre class="line_numbers">
1619<span>503</span>
1620<span>504</span>
1621<span>505</span>
1622<span>506</span>
1623<span>507</span>
1624<span>508</span>
1625 </pre>
1626 </td>
1627<td width="100%">
1628<pre>
1629<div class="line"> def call(*args)
1630</div><div class="line"> @before.each { |b| b.call(*args) }
1631</div><div class="line active"> value = @call.call(*args)
1632</div><div class="line"> @after.each { |a| a.call(*args) }
1633</div><div class="line"> value
1634</div><div class="line"> end
1635</div>
1636</pre>
1637</td>
1638 </tr>
1639 </table>
1640 </div>
1641 </div>
1642 <div class="source hidden" id="frame-source-46">
1643 <div class="info">
1644 Extracted source (around line <strong>#92</strong>):
1645 </div>
1646 <div class="data">
1647 <table cellpadding="0" cellspacing="0" class="lines">
1648 <tr>
1649 <td>
1650 <pre class="line_numbers">
1651<span>90</span>
1652<span>91</span>
1653<span>92</span>
1654<span>93</span>
1655<span>94</span>
1656<span>95</span>
1657 </pre>
1658 </td>
1659<td width="100%">
1660<pre>
1661<div class="line"> runner = callbacks.compile
1662</div><div class="line"> e = Filters::Environment.new(self, false, nil, block)
1663</div><div class="line active"> runner.call(e).value
1664</div><div class="line"> end
1665</div><div class="line"> end
1666</div><div class="line">
1667</div>
1668</pre>
1669</td>
1670 </tr>
1671 </table>
1672 </div>
1673 </div>
1674 <div class="source hidden" id="frame-source-47">
1675 <div class="info">
1676 Extracted source (around line <strong>#778</strong>):
1677 </div>
1678 <div class="data">
1679 <table cellpadding="0" cellspacing="0" class="lines">
1680 <tr>
1681 <td>
1682 <pre class="line_numbers">
1683<span>776</span>
1684<span>777</span>
1685<span>778</span>
1686<span>779</span>
1687<span>780</span>
1688<span>781</span>
1689 </pre>
1690 </td>
1691<td width="100%">
1692<pre>
1693<div class="line"> module_eval <<-RUBY, __FILE__, __LINE__ + 1
1694</div><div class="line"> def _run_#{name}_callbacks(&block)
1695</div><div class="line active"> __run_callbacks__(_#{name}_callbacks, &block)
1696</div><div class="line"> end
1697</div><div class="line"> RUBY
1698</div><div class="line"> end
1699</div>
1700</pre>
1701</td>
1702 </tr>
1703 </table>
1704 </div>
1705 </div>
1706 <div class="source hidden" id="frame-source-48">
1707 <div class="info">
1708 Extracted source (around line <strong>#81</strong>):
1709 </div>
1710 <div class="data">
1711 <table cellpadding="0" cellspacing="0" class="lines">
1712 <tr>
1713 <td>
1714 <pre class="line_numbers">
1715<span>79</span>
1716<span>80</span>
1717<span>81</span>
1718<span>82</span>
1719<span>83</span>
1720<span>84</span>
1721 </pre>
1722 </td>
1723<td width="100%">
1724<pre>
1725<div class="line"> # end
1726</div><div class="line"> def run_callbacks(kind, &block)
1727</div><div class="line active"> send "_run_#{kind}_callbacks", &block
1728</div><div class="line"> end
1729</div><div class="line">
1730</div><div class="line"> private
1731</div>
1732</pre>
1733</td>
1734 </tr>
1735 </table>
1736 </div>
1737 </div>
1738 <div class="source hidden" id="frame-source-49">
1739 <div class="info">
1740 Extracted source (around line <strong>#19</strong>):
1741 </div>
1742 <div class="data">
1743 <table cellpadding="0" cellspacing="0" class="lines">
1744 <tr>
1745 <td>
1746 <pre class="line_numbers">
1747<span>17</span>
1748<span>18</span>
1749<span>19</span>
1750<span>20</span>
1751<span>21</span>
1752<span>22</span>
1753 </pre>
1754 </td>
1755<td width="100%">
1756<pre>
1757<div class="line"> # process_action callbacks around the normal behavior.
1758</div><div class="line"> def process_action(*args)
1759</div><div class="line active"> run_callbacks(:process_action) do
1760</div><div class="line"> super
1761</div><div class="line"> end
1762</div><div class="line"> end
1763</div>
1764</pre>
1765</td>
1766 </tr>
1767 </table>
1768 </div>
1769 </div>
1770 <div class="source hidden" id="frame-source-50">
1771 <div class="info">
1772 Extracted source (around line <strong>#29</strong>):
1773 </div>
1774 <div class="data">
1775 <table cellpadding="0" cellspacing="0" class="lines">
1776 <tr>
1777 <td>
1778 <pre class="line_numbers">
1779<span>27</span>
1780<span>28</span>
1781<span>29</span>
1782<span>30</span>
1783<span>31</span>
1784<span>32</span>
1785 </pre>
1786 </td>
1787<td width="100%">
1788<pre>
1789<div class="line"> private
1790</div><div class="line"> def process_action(*args)
1791</div><div class="line active"> super
1792</div><div class="line"> rescue Exception => exception
1793</div><div class="line"> request.env['action_dispatch.show_detailed_exceptions'] ||= show_detailed_exceptions?
1794</div><div class="line"> rescue_with_handler(exception) || raise(exception)
1795</div>
1796</pre>
1797</td>
1798 </tr>
1799 </table>
1800 </div>
1801 </div>
1802 <div class="source hidden" id="frame-source-51">
1803 <div class="info">
1804 Extracted source (around line <strong>#32</strong>):
1805 </div>
1806 <div class="data">
1807 <table cellpadding="0" cellspacing="0" class="lines">
1808 <tr>
1809 <td>
1810 <pre class="line_numbers">
1811<span>30</span>
1812<span>31</span>
1813<span>32</span>
1814<span>33</span>
1815<span>34</span>
1816<span>35</span>
1817 </pre>
1818 </td>
1819<td width="100%">
1820<pre>
1821<div class="line"> ActiveSupport::Notifications.instrument("process_action.action_controller", raw_payload) do |payload|
1822</div><div class="line"> begin
1823</div><div class="line active"> result = super
1824</div><div class="line"> payload[:status] = response.status
1825</div><div class="line"> result
1826</div><div class="line"> ensure
1827</div>
1828</pre>
1829</td>
1830 </tr>
1831 </table>
1832 </div>
1833 </div>
1834 <div class="source hidden" id="frame-source-52">
1835 <div class="info">
1836 Extracted source (around line <strong>#164</strong>):
1837 </div>
1838 <div class="data">
1839 <table cellpadding="0" cellspacing="0" class="lines">
1840 <tr>
1841 <td>
1842 <pre class="line_numbers">
1843<span>162</span>
1844<span>163</span>
1845<span>164</span>
1846<span>165</span>
1847<span>166</span>
1848<span>167</span>
1849 </pre>
1850 </td>
1851<td width="100%">
1852<pre>
1853<div class="line"> def instrument(name, payload = {})
1854</div><div class="line"> if notifier.listening?(name)
1855</div><div class="line active"> instrumenter.instrument(name, payload) { yield payload if block_given? }
1856</div><div class="line"> else
1857</div><div class="line"> yield payload if block_given?
1858</div><div class="line"> end
1859</div>
1860</pre>
1861</td>
1862 </tr>
1863 </table>
1864 </div>
1865 </div>
1866 <div class="source hidden" id="frame-source-53">
1867 <div class="info">
1868 Extracted source (around line <strong>#20</strong>):
1869 </div>
1870 <div class="data">
1871 <table cellpadding="0" cellspacing="0" class="lines">
1872 <tr>
1873 <td>
1874 <pre class="line_numbers">
1875<span>18</span>
1876<span>19</span>
1877<span>20</span>
1878<span>21</span>
1879<span>22</span>
1880<span>23</span>
1881 </pre>
1882 </td>
1883<td width="100%">
1884<pre>
1885<div class="line"> start name, payload
1886</div><div class="line"> begin
1887</div><div class="line active"> yield payload
1888</div><div class="line"> rescue Exception => e
1889</div><div class="line"> payload[:exception] = [e.class.name, e.message]
1890</div><div class="line"> raise e
1891</div>
1892</pre>
1893</td>
1894 </tr>
1895 </table>
1896 </div>
1897 </div>
1898 <div class="source hidden" id="frame-source-54">
1899 <div class="info">
1900 Extracted source (around line <strong>#164</strong>):
1901 </div>
1902 <div class="data">
1903 <table cellpadding="0" cellspacing="0" class="lines">
1904 <tr>
1905 <td>
1906 <pre class="line_numbers">
1907<span>162</span>
1908<span>163</span>
1909<span>164</span>
1910<span>165</span>
1911<span>166</span>
1912<span>167</span>
1913 </pre>
1914 </td>
1915<td width="100%">
1916<pre>
1917<div class="line"> def instrument(name, payload = {})
1918</div><div class="line"> if notifier.listening?(name)
1919</div><div class="line active"> instrumenter.instrument(name, payload) { yield payload if block_given? }
1920</div><div class="line"> else
1921</div><div class="line"> yield payload if block_given?
1922</div><div class="line"> end
1923</div>
1924</pre>
1925</td>
1926 </tr>
1927 </table>
1928 </div>
1929 </div>
1930 <div class="source hidden" id="frame-source-55">
1931 <div class="info">
1932 Extracted source (around line <strong>#30</strong>):
1933 </div>
1934 <div class="data">
1935 <table cellpadding="0" cellspacing="0" class="lines">
1936 <tr>
1937 <td>
1938 <pre class="line_numbers">
1939<span>28</span>
1940<span>29</span>
1941<span>30</span>
1942<span>31</span>
1943<span>32</span>
1944<span>33</span>
1945 </pre>
1946 </td>
1947<td width="100%">
1948<pre>
1949<div class="line"> ActiveSupport::Notifications.instrument("start_processing.action_controller", raw_payload.dup)
1950</div><div class="line">
1951</div><div class="line active"> ActiveSupport::Notifications.instrument("process_action.action_controller", raw_payload) do |payload|
1952</div><div class="line"> begin
1953</div><div class="line"> result = super
1954</div><div class="line"> payload[:status] = response.status
1955</div>
1956</pre>
1957</td>
1958 </tr>
1959 </table>
1960 </div>
1961 </div>
1962 <div class="source hidden" id="frame-source-56">
1963 <div class="info">
1964 Extracted source (around line <strong>#250</strong>):
1965 </div>
1966 <div class="data">
1967 <table cellpadding="0" cellspacing="0" class="lines">
1968 <tr>
1969 <td>
1970 <pre class="line_numbers">
1971<span>248</span>
1972<span>249</span>
1973<span>250</span>
1974<span>251</span>
1975<span>252</span>
1976<span>253</span>
1977 </pre>
1978 </td>
1979<td width="100%">
1980<pre>
1981<div class="line"> request.filtered_parameters.merge! wrapped_filtered_hash
1982</div><div class="line"> end
1983</div><div class="line active"> super
1984</div><div class="line"> end
1985</div><div class="line">
1986</div><div class="line"> private
1987</div>
1988</pre>
1989</td>
1990 </tr>
1991 </table>
1992 </div>
1993 </div>
1994 <div class="source hidden" id="frame-source-57">
1995 <div class="info">
1996 Extracted source (around line <strong>#18</strong>):
1997 </div>
1998 <div class="data">
1999 <table cellpadding="0" cellspacing="0" class="lines">
2000 <tr>
2001 <td>
2002 <pre class="line_numbers">
2003<span>16</span>
2004<span>17</span>
2005<span>18</span>
2006<span>19</span>
2007<span>20</span>
2008<span>21</span>
2009 </pre>
2010 </td>
2011<td width="100%">
2012<pre>
2013<div class="line"> # and it won't be cleaned up by the method below.
2014</div><div class="line"> ActiveRecord::LogSubscriber.reset_runtime
2015</div><div class="line active"> super
2016</div><div class="line"> end
2017</div><div class="line">
2018</div><div class="line"> def cleanup_view_runtime
2019</div>
2020</pre>
2021</td>
2022 </tr>
2023 </table>
2024 </div>
2025 </div>
2026 <div class="source hidden" id="frame-source-58">
2027 <div class="info">
2028 Extracted source (around line <strong>#137</strong>):
2029 </div>
2030 <div class="data">
2031 <table cellpadding="0" cellspacing="0" class="lines">
2032 <tr>
2033 <td>
2034 <pre class="line_numbers">
2035<span>135</span>
2036<span>136</span>
2037<span>137</span>
2038<span>138</span>
2039<span>139</span>
2040<span>140</span>
2041 </pre>
2042 </td>
2043<td width="100%">
2044<pre>
2045<div class="line"> @_response_body = nil
2046</div><div class="line">
2047</div><div class="line active"> process_action(action_name, *args)
2048</div><div class="line"> end
2049</div><div class="line">
2050</div><div class="line"> # Delegates to the class' #controller_path
2051</div>
2052</pre>
2053</td>
2054 </tr>
2055 </table>
2056 </div>
2057 </div>
2058 <div class="source hidden" id="frame-source-59">
2059 <div class="info">
2060 Extracted source (around line <strong>#30</strong>):
2061 </div>
2062 <div class="data">
2063 <table cellpadding="0" cellspacing="0" class="lines">
2064 <tr>
2065 <td>
2066 <pre class="line_numbers">
2067<span>28</span>
2068<span>29</span>
2069<span>30</span>
2070<span>31</span>
2071<span>32</span>
2072<span>33</span>
2073 </pre>
2074 </td>
2075<td width="100%">
2076<pre>
2077<div class="line"> def process(*) #:nodoc:
2078</div><div class="line"> old_config, I18n.config = I18n.config, I18nProxy.new(I18n.config, lookup_context)
2079</div><div class="line active"> super
2080</div><div class="line"> ensure
2081</div><div class="line"> I18n.config = old_config
2082</div><div class="line"> end
2083</div>
2084</pre>
2085</td>
2086 </tr>
2087 </table>
2088 </div>
2089 </div>
2090 <div class="source hidden" id="frame-source-60">
2091 <div class="info">
2092 Extracted source (around line <strong>#196</strong>):
2093 </div>
2094 <div class="data">
2095 <table cellpadding="0" cellspacing="0" class="lines">
2096 <tr>
2097 <td>
2098 <pre class="line_numbers">
2099<span>194</span>
2100<span>195</span>
2101<span>196</span>
2102<span>197</span>
2103<span>198</span>
2104<span>199</span>
2105 </pre>
2106 </td>
2107<td width="100%">
2108<pre>
2109<div class="line"> @_env = request.env
2110</div><div class="line"> @_env['action_controller.instance'] = self
2111</div><div class="line active"> process(name)
2112</div><div class="line"> to_a
2113</div><div class="line"> end
2114</div><div class="line">
2115</div>
2116</pre>
2117</td>
2118 </tr>
2119 </table>
2120 </div>
2121 </div>
2122 <div class="source hidden" id="frame-source-61">
2123 <div class="info">
2124 Extracted source (around line <strong>#13</strong>):
2125 </div>
2126 <div class="data">
2127 <table cellpadding="0" cellspacing="0" class="lines">
2128 <tr>
2129 <td>
2130 <pre class="line_numbers">
2131<span>11</span>
2132<span>12</span>
2133<span>13</span>
2134<span>14</span>
2135<span>15</span>
2136<span>16</span>
2137 </pre>
2138 </td>
2139<td width="100%">
2140<pre>
2141<div class="line"> def dispatch(action, request)
2142</div><div class="line"> set_response!(request)
2143</div><div class="line active"> super(action, request)
2144</div><div class="line"> end
2145</div><div class="line">
2146</div><div class="line"> def response_body=(body)
2147</div>
2148</pre>
2149</td>
2150 </tr>
2151 </table>
2152 </div>
2153 </div>
2154 <div class="source hidden" id="frame-source-62">
2155 <div class="info">
2156 Extracted source (around line <strong>#237</strong>):
2157 </div>
2158 <div class="data">
2159 <table cellpadding="0" cellspacing="0" class="lines">
2160 <tr>
2161 <td>
2162 <pre class="line_numbers">
2163<span>235</span>
2164<span>236</span>
2165<span>237</span>
2166<span>238</span>
2167<span>239</span>
2168<span>240</span>
2169 </pre>
2170 </td>
2171<td width="100%">
2172<pre>
2173<div class="line"> end
2174</div><div class="line"> else
2175</div><div class="line active"> lambda { |env| new.dispatch(name, klass.new(env)) }
2176</div><div class="line"> end
2177</div><div class="line"> end
2178</div><div class="line"> end
2179</div>
2180</pre>
2181</td>
2182 </tr>
2183 </table>
2184 </div>
2185 </div>
2186 <div class="source hidden" id="frame-source-63">
2187 <div class="info">
2188 Extracted source (around line <strong>#76</strong>):
2189 </div>
2190 <div class="data">
2191 <table cellpadding="0" cellspacing="0" class="lines">
2192 <tr>
2193 <td>
2194 <pre class="line_numbers">
2195<span>74</span>
2196<span>75</span>
2197<span>76</span>
2198<span>77</span>
2199<span>78</span>
2200<span>79</span>
2201 </pre>
2202 </td>
2203<td width="100%">
2204<pre>
2205<div class="line">
2206</div><div class="line"> def dispatch(controller, action, env)
2207</div><div class="line active"> controller.action(action).call(env)
2208</div><div class="line"> end
2209</div><div class="line">
2210</div><div class="line"> def normalize_controller!(params)
2211</div>
2212</pre>
2213</td>
2214 </tr>
2215 </table>
2216 </div>
2217 </div>
2218 <div class="source hidden" id="frame-source-64">
2219 <div class="info">
2220 Extracted source (around line <strong>#45</strong>):
2221 </div>
2222 <div class="data">
2223 <table cellpadding="0" cellspacing="0" class="lines">
2224 <tr>
2225 <td>
2226 <pre class="line_numbers">
2227<span>43</span>
2228<span>44</span>
2229<span>45</span>
2230<span>46</span>
2231<span>47</span>
2232<span>48</span>
2233 </pre>
2234 </td>
2235<td width="100%">
2236<pre>
2237<div class="line"> end
2238</div><div class="line">
2239</div><div class="line active"> dispatch(controller, params[:action], req.env)
2240</div><div class="line"> end
2241</div><div class="line">
2242</div><div class="line"> def prepare_params!(params)
2243</div>
2244</pre>
2245</td>
2246 </tr>
2247 </table>
2248 </div>
2249 </div>
2250 <div class="source hidden" id="frame-source-65">
2251 <div class="info">
2252 Extracted source (around line <strong>#49</strong>):
2253 </div>
2254 <div class="data">
2255 <table cellpadding="0" cellspacing="0" class="lines">
2256 <tr>
2257 <td>
2258 <pre class="line_numbers">
2259<span>47</span>
2260<span>48</span>
2261<span>49</span>
2262<span>50</span>
2263<span>51</span>
2264<span>52</span>
2265 </pre>
2266 </td>
2267<td width="100%">
2268<pre>
2269<div class="line">
2270</div><div class="line"> if dispatcher?
2271</div><div class="line active"> @app.serve req
2272</div><div class="line"> else
2273</div><div class="line"> @app.call req.env
2274</div><div class="line"> end
2275</div>
2276</pre>
2277</td>
2278 </tr>
2279 </table>
2280 </div>
2281 </div>
2282 <div class="source hidden" id="frame-source-66">
2283 <div class="info">
2284 Extracted source (around line <strong>#43</strong>):
2285 </div>
2286 <div class="data">
2287 <table cellpadding="0" cellspacing="0" class="lines">
2288 <tr>
2289 <td>
2290 <pre class="line_numbers">
2291<span>41</span>
2292<span>42</span>
2293<span>43</span>
2294<span>44</span>
2295<span>45</span>
2296<span>46</span>
2297 </pre>
2298 </td>
2299<td width="100%">
2300<pre>
2301<div class="line"> req.path_parameters = set_params.merge parameters
2302</div><div class="line">
2303</div><div class="line active"> status, headers, body = route.app.serve(req)
2304</div><div class="line">
2305</div><div class="line"> if 'pass' == headers['X-Cascade']
2306</div><div class="line"> req.script_name = script_name
2307</div>
2308</pre>
2309</td>
2310 </tr>
2311 </table>
2312 </div>
2313 </div>
2314 <div class="source hidden" id="frame-source-67">
2315 <div class="info">
2316 Extracted source (around line <strong>#30</strong>):
2317 </div>
2318 <div class="data">
2319 <table cellpadding="0" cellspacing="0" class="lines">
2320 <tr>
2321 <td>
2322 <pre class="line_numbers">
2323<span>28</span>
2324<span>29</span>
2325<span>30</span>
2326<span>31</span>
2327<span>32</span>
2328<span>33</span>
2329 </pre>
2330 </td>
2331<td width="100%">
2332<pre>
2333<div class="line">
2334</div><div class="line"> def serve(req)
2335</div><div class="line active"> find_routes(req).each do |match, parameters, route|
2336</div><div class="line"> set_params = req.path_parameters
2337</div><div class="line"> path_info = req.path_info
2338</div><div class="line"> script_name = req.script_name
2339</div>
2340</pre>
2341</td>
2342 </tr>
2343 </table>
2344 </div>
2345 </div>
2346 <div class="source hidden" id="frame-source-68">
2347 <div class="info">
2348 Extracted source (around line <strong>#30</strong>):
2349 </div>
2350 <div class="data">
2351 <table cellpadding="0" cellspacing="0" class="lines">
2352 <tr>
2353 <td>
2354 <pre class="line_numbers">
2355<span>28</span>
2356<span>29</span>
2357<span>30</span>
2358<span>31</span>
2359<span>32</span>
2360<span>33</span>
2361 </pre>
2362 </td>
2363<td width="100%">
2364<pre>
2365<div class="line">
2366</div><div class="line"> def serve(req)
2367</div><div class="line active"> find_routes(req).each do |match, parameters, route|
2368</div><div class="line"> set_params = req.path_parameters
2369</div><div class="line"> path_info = req.path_info
2370</div><div class="line"> script_name = req.script_name
2371</div>
2372</pre>
2373</td>
2374 </tr>
2375 </table>
2376 </div>
2377 </div>
2378 <div class="source hidden" id="frame-source-69">
2379 <div class="info">
2380 Extracted source (around line <strong>#817</strong>):
2381 </div>
2382 <div class="data">
2383 <table cellpadding="0" cellspacing="0" class="lines">
2384 <tr>
2385 <td>
2386 <pre class="line_numbers">
2387<span>815</span>
2388<span>816</span>
2389<span>817</span>
2390<span>818</span>
2391<span>819</span>
2392<span>820</span>
2393 </pre>
2394 </td>
2395<td width="100%">
2396<pre>
2397<div class="line"> req = request_class.new(env)
2398</div><div class="line"> req.path_info = Journey::Router::Utils.normalize_path(req.path_info)
2399</div><div class="line active"> @router.serve(req)
2400</div><div class="line"> end
2401</div><div class="line">
2402</div><div class="line"> def recognize_path(path, environment = {})
2403</div>
2404</pre>
2405</td>
2406 </tr>
2407 </table>
2408 </div>
2409 </div>
2410 <div class="source hidden" id="frame-source-70">
2411 <div class="info">
2412 Extracted source (around line <strong>#35</strong>):
2413 </div>
2414 <div class="data">
2415 <table cellpadding="0" cellspacing="0" class="lines">
2416 <tr>
2417 <td>
2418 <pre class="line_numbers">
2419<span>33</span>
2420<span>34</span>
2421<span>35</span>
2422<span>36</span>
2423<span>37</span>
2424<span>38</span>
2425 </pre>
2426 </td>
2427<td width="100%">
2428<pre>
2429<div class="line"> env['warden'] = Proxy.new(env, self)
2430</div><div class="line"> result = catch(:warden) do
2431</div><div class="line active"> @app.call(env)
2432</div><div class="line"> end
2433</div><div class="line">
2434</div><div class="line"> result ||= {}
2435</div>
2436</pre>
2437</td>
2438 </tr>
2439 </table>
2440 </div>
2441 </div>
2442 <div class="source hidden" id="frame-source-71">
2443 <div class="info">
2444 Extracted source (around line <strong>#34</strong>):
2445 </div>
2446 <div class="data">
2447 <table cellpadding="0" cellspacing="0" class="lines">
2448 <tr>
2449 <td>
2450 <pre class="line_numbers">
2451<span>32</span>
2452<span>33</span>
2453<span>34</span>
2454<span>35</span>
2455<span>36</span>
2456<span>37</span>
2457 </pre>
2458 </td>
2459<td width="100%">
2460<pre>
2461<div class="line">
2462</div><div class="line"> env['warden'] = Proxy.new(env, self)
2463</div><div class="line active"> result = catch(:warden) do
2464</div><div class="line"> @app.call(env)
2465</div><div class="line"> end
2466</div><div class="line">
2467</div>
2468</pre>
2469</td>
2470 </tr>
2471 </table>
2472 </div>
2473 </div>
2474 <div class="source hidden" id="frame-source-72">
2475 <div class="info">
2476 Extracted source (around line <strong>#34</strong>):
2477 </div>
2478 <div class="data">
2479 <table cellpadding="0" cellspacing="0" class="lines">
2480 <tr>
2481 <td>
2482 <pre class="line_numbers">
2483<span>32</span>
2484<span>33</span>
2485<span>34</span>
2486<span>35</span>
2487<span>36</span>
2488<span>37</span>
2489 </pre>
2490 </td>
2491<td width="100%">
2492<pre>
2493<div class="line">
2494</div><div class="line"> env['warden'] = Proxy.new(env, self)
2495</div><div class="line active"> result = catch(:warden) do
2496</div><div class="line"> @app.call(env)
2497</div><div class="line"> end
2498</div><div class="line">
2499</div>
2500</pre>
2501</td>
2502 </tr>
2503 </table>
2504 </div>
2505 </div>
2506 <div class="source hidden" id="frame-source-73">
2507 <div class="info">
2508 Extracted source (around line <strong>#39</strong>):
2509 </div>
2510 <div class="data">
2511 <table cellpadding="0" cellspacing="0" class="lines">
2512 <tr>
2513 <td>
2514 <pre class="line_numbers">
2515<span>37</span>
2516<span>38</span>
2517<span>39</span>
2518<span>40</span>
2519<span>41</span>
2520<span>42</span>
2521 </pre>
2522 </td>
2523<td width="100%">
2524<pre>
2525<div class="line"> env[HTTP_ACCEPT] = entries.join(", ")
2526</div><div class="line"> end
2527</div><div class="line active"> @app.call(env)
2528</div><div class="line"> end
2529</div><div class="line"> end
2530</div><div class="line">end
2531</div>
2532</pre>
2533</td>
2534 </tr>
2535 </table>
2536 </div>
2537 </div>
2538 <div class="source hidden" id="frame-source-74">
2539 <div class="info">
2540 Extracted source (around line <strong>#17</strong>):
2541 </div>
2542 <div class="data">
2543 <table cellpadding="0" cellspacing="0" class="lines">
2544 <tr>
2545 <td>
2546 <pre class="line_numbers">
2547<span>15</span>
2548<span>16</span>
2549<span>17</span>
2550<span>18</span>
2551<span>19</span>
2552<span>20</span>
2553 </pre>
2554 </td>
2555<td width="100%">
2556<pre>
2557<div class="line">
2558</div><div class="line"> def call(env)
2559</div><div class="line active"> dup._call(env)
2560</div><div class="line"> end
2561</div><div class="line">
2562</div><div class="line"> def _call(env)
2563</div>
2564</pre>
2565</td>
2566 </tr>
2567 </table>
2568 </div>
2569 </div>
2570 <div class="source hidden" id="frame-source-75">
2571 <div class="info">
2572 Extracted source (around line <strong>#24</strong>):
2573 </div>
2574 <div class="data">
2575 <table cellpadding="0" cellspacing="0" class="lines">
2576 <tr>
2577 <td>
2578 <pre class="line_numbers">
2579<span>22</span>
2580<span>23</span>
2581<span>24</span>
2582<span>25</span>
2583<span>26</span>
2584<span>27</span>
2585 </pre>
2586 </td>
2587<td width="100%">
2588<pre>
2589<div class="line">
2590</div><div class="line"> def call(env)
2591</div><div class="line active"> status, headers, body = @app.call(env)
2592</div><div class="line">
2593</div><div class="line"> if etag_status?(status) && etag_body?(body) && !skip_caching?(headers)
2594</div><div class="line"> original_body = body
2595</div>
2596</pre>
2597</td>
2598 </tr>
2599 </table>
2600 </div>
2601 </div>
2602 <div class="source hidden" id="frame-source-76">
2603 <div class="info">
2604 Extracted source (around line <strong>#38</strong>):
2605 </div>
2606 <div class="data">
2607 <table cellpadding="0" cellspacing="0" class="lines">
2608 <tr>
2609 <td>
2610 <pre class="line_numbers">
2611<span>36</span>
2612<span>37</span>
2613<span>38</span>
2614<span>39</span>
2615<span>40</span>
2616<span>41</span>
2617 </pre>
2618 </td>
2619<td width="100%">
2620<pre>
2621<div class="line"> [status, headers, body]
2622</div><div class="line"> else
2623</div><div class="line active"> @app.call(env)
2624</div><div class="line"> end
2625</div><div class="line"> end
2626</div><div class="line">
2627</div>
2628</pre>
2629</td>
2630 </tr>
2631 </table>
2632 </div>
2633 </div>
2634 <div class="source hidden" id="frame-source-77">
2635 <div class="info">
2636 Extracted source (around line <strong>#13</strong>):
2637 </div>
2638 <div class="data">
2639 <table cellpadding="0" cellspacing="0" class="lines">
2640 <tr>
2641 <td>
2642 <pre class="line_numbers">
2643<span>11</span>
2644<span>12</span>
2645<span>13</span>
2646<span>14</span>
2647<span>15</span>
2648<span>16</span>
2649 </pre>
2650 </td>
2651<td width="100%">
2652<pre>
2653<div class="line">
2654</div><div class="line"> def call(env)
2655</div><div class="line active"> status, headers, body = @app.call(env)
2656</div><div class="line">
2657</div><div class="line"> if env[REQUEST_METHOD] == HEAD
2658</div><div class="line"> [
2659</div>
2660</pre>
2661</td>
2662 </tr>
2663 </table>
2664 </div>
2665 </div>
2666 <div class="source hidden" id="frame-source-78">
2667 <div class="info">
2668 Extracted source (around line <strong>#27</strong>):
2669 </div>
2670 <div class="data">
2671 <table cellpadding="0" cellspacing="0" class="lines">
2672 <tr>
2673 <td>
2674 <pre class="line_numbers">
2675<span>25</span>
2676<span>26</span>
2677<span>27</span>
2678<span>28</span>
2679<span>29</span>
2680<span>30</span>
2681 </pre>
2682 </td>
2683<td width="100%">
2684<pre>
2685<div class="line"> end
2686</div><div class="line">
2687</div><div class="line active"> @app.call(env)
2688</div><div class="line"> end
2689</div><div class="line">
2690</div><div class="line"> private
2691</div>
2692</pre>
2693</td>
2694 </tr>
2695 </table>
2696 </div>
2697 </div>
2698 <div class="source hidden" id="frame-source-79">
2699 <div class="info">
2700 Extracted source (around line <strong>#260</strong>):
2701 </div>
2702 <div class="data">
2703 <table cellpadding="0" cellspacing="0" class="lines">
2704 <tr>
2705 <td>
2706 <pre class="line_numbers">
2707<span>258</span>
2708<span>259</span>
2709<span>260</span>
2710<span>261</span>
2711<span>262</span>
2712<span>263</span>
2713 </pre>
2714 </td>
2715<td width="100%">
2716<pre>
2717<div class="line">
2718</div><div class="line"> def call(env)
2719</div><div class="line active"> @app.call(env)
2720</div><div class="line"> ensure
2721</div><div class="line"> session = Request::Session.find(env) || {}
2722</div><div class="line"> flash_hash = env[KEY]
2723</div>
2724</pre>
2725</td>
2726 </tr>
2727 </table>
2728 </div>
2729 </div>
2730 <div class="source hidden" id="frame-source-80">
2731 <div class="info">
2732 Extracted source (around line <strong>#225</strong>):
2733 </div>
2734 <div class="data">
2735 <table cellpadding="0" cellspacing="0" class="lines">
2736 <tr>
2737 <td>
2738 <pre class="line_numbers">
2739<span>223</span>
2740<span>224</span>
2741<span>225</span>
2742<span>226</span>
2743<span>227</span>
2744<span>228</span>
2745 </pre>
2746 </td>
2747<td width="100%">
2748<pre>
2749<div class="line"> def context(env, app=@app)
2750</div><div class="line"> prepare_session(env)
2751</div><div class="line active"> status, headers, body = app.call(env)
2752</div><div class="line"> commit_session(env, status, headers, body)
2753</div><div class="line"> end
2754</div><div class="line">
2755</div>
2756</pre>
2757</td>
2758 </tr>
2759 </table>
2760 </div>
2761 </div>
2762 <div class="source hidden" id="frame-source-81">
2763 <div class="info">
2764 Extracted source (around line <strong>#220</strong>):
2765 </div>
2766 <div class="data">
2767 <table cellpadding="0" cellspacing="0" class="lines">
2768 <tr>
2769 <td>
2770 <pre class="line_numbers">
2771<span>218</span>
2772<span>219</span>
2773<span>220</span>
2774<span>221</span>
2775<span>222</span>
2776<span>223</span>
2777 </pre>
2778 </td>
2779<td width="100%">
2780<pre>
2781<div class="line">
2782</div><div class="line"> def call(env)
2783</div><div class="line active"> context(env)
2784</div><div class="line"> end
2785</div><div class="line">
2786</div><div class="line"> def context(env, app=@app)
2787</div>
2788</pre>
2789</td>
2790 </tr>
2791 </table>
2792 </div>
2793 </div>
2794 <div class="source hidden" id="frame-source-82">
2795 <div class="info">
2796 Extracted source (around line <strong>#560</strong>):
2797 </div>
2798 <div class="data">
2799 <table cellpadding="0" cellspacing="0" class="lines">
2800 <tr>
2801 <td>
2802 <pre class="line_numbers">
2803<span>558</span>
2804<span>559</span>
2805<span>560</span>
2806<span>561</span>
2807<span>562</span>
2808<span>563</span>
2809 </pre>
2810 </td>
2811<td width="100%">
2812<pre>
2813<div class="line">
2814</div><div class="line"> def call(env)
2815</div><div class="line active"> status, headers, body = @app.call(env)
2816</div><div class="line">
2817</div><div class="line"> if cookie_jar = env['action_dispatch.cookies']
2818</div><div class="line"> unless cookie_jar.committed?
2819</div>
2820</pre>
2821</td>
2822 </tr>
2823 </table>
2824 </div>
2825 </div>
2826 <div class="source hidden" id="frame-source-83">
2827 <div class="info">
2828 Extracted source (around line <strong>#36</strong>):
2829 </div>
2830 <div class="data">
2831 <table cellpadding="0" cellspacing="0" class="lines">
2832 <tr>
2833 <td>
2834 <pre class="line_numbers">
2835<span>34</span>
2836<span>35</span>
2837<span>36</span>
2838<span>37</span>
2839<span>38</span>
2840<span>39</span>
2841 </pre>
2842 </td>
2843<td width="100%">
2844<pre>
2845<div class="line"> connection.enable_query_cache!
2846</div><div class="line">
2847</div><div class="line active"> response = @app.call(env)
2848</div><div class="line"> response[2] = Rack::BodyProxy.new(response[2]) do
2849</div><div class="line"> restore_query_cache_settings(connection_id, enabled)
2850</div><div class="line"> end
2851</div>
2852</pre>
2853</td>
2854 </tr>
2855 </table>
2856 </div>
2857 </div>
2858 <div class="source hidden" id="frame-source-84">
2859 <div class="info">
2860 Extracted source (around line <strong>#653</strong>):
2861 </div>
2862 <div class="data">
2863 <table cellpadding="0" cellspacing="0" class="lines">
2864 <tr>
2865 <td>
2866 <pre class="line_numbers">
2867<span>651</span>
2868<span>652</span>
2869<span>653</span>
2870<span>654</span>
2871<span>655</span>
2872<span>656</span>
2873 </pre>
2874 </td>
2875<td width="100%">
2876<pre>
2877<div class="line"> testing = env['rack.test']
2878</div><div class="line">
2879</div><div class="line active"> response = @app.call(env)
2880</div><div class="line"> response[2] = ::Rack::BodyProxy.new(response[2]) do
2881</div><div class="line"> ActiveRecord::Base.clear_active_connections! unless testing
2882</div><div class="line"> end
2883</div>
2884</pre>
2885</td>
2886 </tr>
2887 </table>
2888 </div>
2889 </div>
2890 <div class="source hidden" id="frame-source-85">
2891 <div class="info">
2892 Extracted source (around line <strong>#377</strong>):
2893 </div>
2894 <div class="data">
2895 <table cellpadding="0" cellspacing="0" class="lines">
2896 <tr>
2897 <td>
2898 <pre class="line_numbers">
2899<span>375</span>
2900<span>376</span>
2901<span>377</span>
2902<span>378</span>
2903<span>379</span>
2904<span>380</span>
2905 </pre>
2906 </td>
2907<td width="100%">
2908<pre>
2909<div class="line"> end
2910</div><div class="line"> end
2911</div><div class="line active"> @app.call(env)
2912</div><div class="line"> end
2913</div><div class="line">
2914</div><div class="line"> private
2915</div>
2916</pre>
2917</td>
2918 </tr>
2919 </table>
2920 </div>
2921 </div>
2922 <div class="source hidden" id="frame-source-86">
2923 <div class="info">
2924 Extracted source (around line <strong>#29</strong>):
2925 </div>
2926 <div class="data">
2927 <table cellpadding="0" cellspacing="0" class="lines">
2928 <tr>
2929 <td>
2930 <pre class="line_numbers">
2931<span>27</span>
2932<span>28</span>
2933<span>29</span>
2934<span>30</span>
2935<span>31</span>
2936<span>32</span>
2937 </pre>
2938 </td>
2939<td width="100%">
2940<pre>
2941<div class="line"> result = run_callbacks :call do
2942</div><div class="line"> begin
2943</div><div class="line active"> @app.call(env)
2944</div><div class="line"> rescue => error
2945</div><div class="line"> end
2946</div><div class="line"> end
2947</div>
2948</pre>
2949</td>
2950 </tr>
2951 </table>
2952 </div>
2953 </div>
2954 <div class="source hidden" id="frame-source-87">
2955 <div class="info">
2956 Extracted source (around line <strong>#88</strong>):
2957 </div>
2958 <div class="data">
2959 <table cellpadding="0" cellspacing="0" class="lines">
2960 <tr>
2961 <td>
2962 <pre class="line_numbers">
2963<span>86</span>
2964<span>87</span>
2965<span>88</span>
2966<span>89</span>
2967<span>90</span>
2968<span>91</span>
2969 </pre>
2970 </td>
2971<td width="100%">
2972<pre>
2973<div class="line"> def __run_callbacks__(callbacks, &block)
2974</div><div class="line"> if callbacks.empty?
2975</div><div class="line active"> yield if block_given?
2976</div><div class="line"> else
2977</div><div class="line"> runner = callbacks.compile
2978</div><div class="line"> e = Filters::Environment.new(self, false, nil, block)
2979</div>
2980</pre>
2981</td>
2982 </tr>
2983 </table>
2984 </div>
2985 </div>
2986 <div class="source hidden" id="frame-source-88">
2987 <div class="info">
2988 Extracted source (around line <strong>#778</strong>):
2989 </div>
2990 <div class="data">
2991 <table cellpadding="0" cellspacing="0" class="lines">
2992 <tr>
2993 <td>
2994 <pre class="line_numbers">
2995<span>776</span>
2996<span>777</span>
2997<span>778</span>
2998<span>779</span>
2999<span>780</span>
3000<span>781</span>
3001 </pre>
3002 </td>
3003<td width="100%">
3004<pre>
3005<div class="line"> module_eval <<-RUBY, __FILE__, __LINE__ + 1
3006</div><div class="line"> def _run_#{name}_callbacks(&block)
3007</div><div class="line active"> __run_callbacks__(_#{name}_callbacks, &block)
3008</div><div class="line"> end
3009</div><div class="line"> RUBY
3010</div><div class="line"> end
3011</div>
3012</pre>
3013</td>
3014 </tr>
3015 </table>
3016 </div>
3017 </div>
3018 <div class="source hidden" id="frame-source-89">
3019 <div class="info">
3020 Extracted source (around line <strong>#81</strong>):
3021 </div>
3022 <div class="data">
3023 <table cellpadding="0" cellspacing="0" class="lines">
3024 <tr>
3025 <td>
3026 <pre class="line_numbers">
3027<span>79</span>
3028<span>80</span>
3029<span>81</span>
3030<span>82</span>
3031<span>83</span>
3032<span>84</span>
3033 </pre>
3034 </td>
3035<td width="100%">
3036<pre>
3037<div class="line"> # end
3038</div><div class="line"> def run_callbacks(kind, &block)
3039</div><div class="line active"> send "_run_#{kind}_callbacks", &block
3040</div><div class="line"> end
3041</div><div class="line">
3042</div><div class="line"> private
3043</div>
3044</pre>
3045</td>
3046 </tr>
3047 </table>
3048 </div>
3049 </div>
3050 <div class="source hidden" id="frame-source-90">
3051 <div class="info">
3052 Extracted source (around line <strong>#27</strong>):
3053 </div>
3054 <div class="data">
3055 <table cellpadding="0" cellspacing="0" class="lines">
3056 <tr>
3057 <td>
3058 <pre class="line_numbers">
3059<span>25</span>
3060<span>26</span>
3061<span>27</span>
3062<span>28</span>
3063<span>29</span>
3064<span>30</span>
3065 </pre>
3066 </td>
3067<td width="100%">
3068<pre>
3069<div class="line"> def call(env)
3070</div><div class="line"> error = nil
3071</div><div class="line active"> result = run_callbacks :call do
3072</div><div class="line"> begin
3073</div><div class="line"> @app.call(env)
3074</div><div class="line"> rescue => error
3075</div>
3076</pre>
3077</td>
3078 </tr>
3079 </table>
3080 </div>
3081 </div>
3082 <div class="source hidden" id="frame-source-91">
3083 <div class="info">
3084 Extracted source (around line <strong>#73</strong>):
3085 </div>
3086 <div class="data">
3087 <table cellpadding="0" cellspacing="0" class="lines">
3088 <tr>
3089 <td>
3090 <pre class="line_numbers">
3091<span>71</span>
3092<span>72</span>
3093<span>73</span>
3094<span>74</span>
3095<span>75</span>
3096<span>76</span>
3097 </pre>
3098 </td>
3099<td width="100%">
3100<pre>
3101<div class="line"> prepare!
3102</div><div class="line">
3103</div><div class="line active"> response = @app.call(env)
3104</div><div class="line"> response[2] = ::Rack::BodyProxy.new(response[2]) { cleanup! }
3105</div><div class="line">
3106</div><div class="line"> response
3107</div>
3108</pre>
3109</td>
3110 </tr>
3111 </table>
3112 </div>
3113 </div>
3114 <div class="source hidden" id="frame-source-92">
3115 <div class="info">
3116 Extracted source (around line <strong>#78</strong>):
3117 </div>
3118 <div class="data">
3119 <table cellpadding="0" cellspacing="0" class="lines">
3120 <tr>
3121 <td>
3122 <pre class="line_numbers">
3123<span>76</span>
3124<span>77</span>
3125<span>78</span>
3126<span>79</span>
3127<span>80</span>
3128<span>81</span>
3129 </pre>
3130 </td>
3131<td width="100%">
3132<pre>
3133<div class="line"> def call(env)
3134</div><div class="line"> env["action_dispatch.remote_ip"] = GetIp.new(env, self)
3135</div><div class="line active"> @app.call(env)
3136</div><div class="line"> end
3137</div><div class="line">
3138</div><div class="line"> # The GetIp class exists as a way to defer processing of the request data
3139</div>
3140</pre>
3141</td>
3142 </tr>
3143 </table>
3144 </div>
3145 </div>
3146 <div class="source hidden" id="frame-source-93">
3147 <div class="info">
3148 Extracted source (around line <strong>#17</strong>):
3149 </div>
3150 <div class="data">
3151 <table cellpadding="0" cellspacing="0" class="lines">
3152 <tr>
3153 <td>
3154 <pre class="line_numbers">
3155<span>15</span>
3156<span>16</span>
3157<span>17</span>
3158<span>18</span>
3159<span>19</span>
3160<span>20</span>
3161 </pre>
3162 </td>
3163<td width="100%">
3164<pre>
3165<div class="line">
3166</div><div class="line"> def call(env)
3167</div><div class="line active"> _, headers, body = response = @app.call(env)
3168</div><div class="line">
3169</div><div class="line"> if headers['X-Cascade'] == 'pass'
3170</div><div class="line"> body.close if body.respond_to?(:close)
3171</div>
3172</pre>
3173</td>
3174 </tr>
3175 </table>
3176 </div>
3177 </div>
3178 <div class="source hidden" id="frame-source-94">
3179 <div class="info">
3180 Extracted source (around line <strong>#30</strong>):
3181 </div>
3182 <div class="data">
3183 <table cellpadding="0" cellspacing="0" class="lines">
3184 <tr>
3185 <td>
3186 <pre class="line_numbers">
3187<span>28</span>
3188<span>29</span>
3189<span>30</span>
3190<span>31</span>
3191<span>32</span>
3192<span>33</span>
3193 </pre>
3194 </td>
3195<td width="100%">
3196<pre>
3197<div class="line">
3198</div><div class="line"> def call(env)
3199</div><div class="line active"> @app.call(env)
3200</div><div class="line"> rescue Exception => exception
3201</div><div class="line"> if env['action_dispatch.show_exceptions'] == false
3202</div><div class="line"> raise exception
3203</div>
3204</pre>
3205</td>
3206 </tr>
3207 </table>
3208 </div>
3209 </div>
3210 <div class="source hidden" id="frame-source-95">
3211 <div class="info">
3212 Extracted source (around line <strong>#38</strong>):
3213 </div>
3214 <div class="data">
3215 <table cellpadding="0" cellspacing="0" class="lines">
3216 <tr>
3217 <td>
3218 <pre class="line_numbers">
3219<span>36</span>
3220<span>37</span>
3221<span>38</span>
3222<span>39</span>
3223<span>40</span>
3224<span>41</span>
3225 </pre>
3226 </td>
3227<td width="100%">
3228<pre>
3229<div class="line"> instrumenter.start 'request.action_dispatch', request: request
3230</div><div class="line"> logger.info { started_request_message(request) }
3231</div><div class="line active"> resp = @app.call(env)
3232</div><div class="line"> resp[2] = ::Rack::BodyProxy.new(resp[2]) { finish(request) }
3233</div><div class="line"> resp
3234</div><div class="line"> rescue Exception
3235</div>
3236</pre>
3237</td>
3238 </tr>
3239 </table>
3240 </div>
3241 </div>
3242 <div class="source hidden" id="frame-source-96">
3243 <div class="info">
3244 Extracted source (around line <strong>#20</strong>):
3245 </div>
3246 <div class="data">
3247 <table cellpadding="0" cellspacing="0" class="lines">
3248 <tr>
3249 <td>
3250 <pre class="line_numbers">
3251<span>18</span>
3252<span>19</span>
3253<span>20</span>
3254<span>21</span>
3255<span>22</span>
3256<span>23</span>
3257 </pre>
3258 </td>
3259<td width="100%">
3260<pre>
3261<div class="line">
3262</div><div class="line"> if logger.respond_to?(:tagged)
3263</div><div class="line active"> logger.tagged(compute_tags(request)) { call_app(request, env) }
3264</div><div class="line"> else
3265</div><div class="line"> call_app(request, env)
3266</div><div class="line"> end
3267</div>
3268</pre>
3269</td>
3270 </tr>
3271 </table>
3272 </div>
3273 </div>
3274 <div class="source hidden" id="frame-source-97">
3275 <div class="info">
3276 Extracted source (around line <strong>#68</strong>):
3277 </div>
3278 <div class="data">
3279 <table cellpadding="0" cellspacing="0" class="lines">
3280 <tr>
3281 <td>
3282 <pre class="line_numbers">
3283<span>66</span>
3284<span>67</span>
3285<span>68</span>
3286<span>69</span>
3287<span>70</span>
3288<span>71</span>
3289 </pre>
3290 </td>
3291<td width="100%">
3292<pre>
3293<div class="line">
3294</div><div class="line"> def tagged(*tags)
3295</div><div class="line active"> formatter.tagged(*tags) { yield self }
3296</div><div class="line"> end
3297</div><div class="line">
3298</div><div class="line"> def flush
3299</div>
3300</pre>
3301</td>
3302 </tr>
3303 </table>
3304 </div>
3305 </div>
3306 <div class="source hidden" id="frame-source-98">
3307 <div class="info">
3308 Extracted source (around line <strong>#26</strong>):
3309 </div>
3310 <div class="data">
3311 <table cellpadding="0" cellspacing="0" class="lines">
3312 <tr>
3313 <td>
3314 <pre class="line_numbers">
3315<span>24</span>
3316<span>25</span>
3317<span>26</span>
3318<span>27</span>
3319<span>28</span>
3320<span>29</span>
3321 </pre>
3322 </td>
3323<td width="100%">
3324<pre>
3325<div class="line"> def tagged(*tags)
3326</div><div class="line"> new_tags = push_tags(*tags)
3327</div><div class="line active"> yield self
3328</div><div class="line"> ensure
3329</div><div class="line"> pop_tags(new_tags.size)
3330</div><div class="line"> end
3331</div>
3332</pre>
3333</td>
3334 </tr>
3335 </table>
3336 </div>
3337 </div>
3338 <div class="source hidden" id="frame-source-99">
3339 <div class="info">
3340 Extracted source (around line <strong>#68</strong>):
3341 </div>
3342 <div class="data">
3343 <table cellpadding="0" cellspacing="0" class="lines">
3344 <tr>
3345 <td>
3346 <pre class="line_numbers">
3347<span>66</span>
3348<span>67</span>
3349<span>68</span>
3350<span>69</span>
3351<span>70</span>
3352<span>71</span>
3353 </pre>
3354 </td>
3355<td width="100%">
3356<pre>
3357<div class="line">
3358</div><div class="line"> def tagged(*tags)
3359</div><div class="line active"> formatter.tagged(*tags) { yield self }
3360</div><div class="line"> end
3361</div><div class="line">
3362</div><div class="line"> def flush
3363</div>
3364</pre>
3365</td>
3366 </tr>
3367 </table>
3368 </div>
3369 </div>
3370 <div class="source hidden" id="frame-source-100">
3371 <div class="info">
3372 Extracted source (around line <strong>#20</strong>):
3373 </div>
3374 <div class="data">
3375 <table cellpadding="0" cellspacing="0" class="lines">
3376 <tr>
3377 <td>
3378 <pre class="line_numbers">
3379<span>18</span>
3380<span>19</span>
3381<span>20</span>
3382<span>21</span>
3383<span>22</span>
3384<span>23</span>
3385 </pre>
3386 </td>
3387<td width="100%">
3388<pre>
3389<div class="line">
3390</div><div class="line"> if logger.respond_to?(:tagged)
3391</div><div class="line active"> logger.tagged(compute_tags(request)) { call_app(request, env) }
3392</div><div class="line"> else
3393</div><div class="line"> call_app(request, env)
3394</div><div class="line"> end
3395</div>
3396</pre>
3397</td>
3398 </tr>
3399 </table>
3400 </div>
3401 </div>
3402 <div class="source hidden" id="frame-source-101">
3403 <div class="info">
3404 Extracted source (around line <strong>#9</strong>):
3405 </div>
3406 <div class="data">
3407 <table cellpadding="0" cellspacing="0" class="lines">
3408 <tr>
3409 <td>
3410 <pre class="line_numbers">
3411<span>7</span>
3412<span>8</span>
3413<span>9</span>
3414<span>10</span>
3415<span>11</span>
3416<span>12</span>
3417 </pre>
3418 </td>
3419<td width="100%">
3420<pre>
3421<div class="line"> def call(env)
3422</div><div class="line"> RequestStore.begin!
3423</div><div class="line active"> @app.call(env)
3424</div><div class="line"> ensure
3425</div><div class="line"> RequestStore.end!
3426</div><div class="line"> RequestStore.clear!
3427</div>
3428</pre>
3429</td>
3430 </tr>
3431 </table>
3432 </div>
3433 </div>
3434 <div class="source hidden" id="frame-source-102">
3435 <div class="info">
3436 Extracted source (around line <strong>#21</strong>):
3437 </div>
3438 <div class="data">
3439 <table cellpadding="0" cellspacing="0" class="lines">
3440 <tr>
3441 <td>
3442 <pre class="line_numbers">
3443<span>19</span>
3444<span>20</span>
3445<span>21</span>
3446<span>22</span>
3447<span>23</span>
3448<span>24</span>
3449 </pre>
3450 </td>
3451<td width="100%">
3452<pre>
3453<div class="line"> def call(env)
3454</div><div class="line"> env["action_dispatch.request_id"] = external_request_id(env) || internal_request_id
3455</div><div class="line active"> @app.call(env).tap { |_status, headers, _body| headers["X-Request-Id"] = env["action_dispatch.request_id"] }
3456</div><div class="line"> end
3457</div><div class="line">
3458</div><div class="line"> private
3459</div>
3460</pre>
3461</td>
3462 </tr>
3463 </table>
3464 </div>
3465 </div>
3466 <div class="source hidden" id="frame-source-103">
3467 <div class="info">
3468 Extracted source (around line <strong>#22</strong>):
3469 </div>
3470 <div class="data">
3471 <table cellpadding="0" cellspacing="0" class="lines">
3472 <tr>
3473 <td>
3474 <pre class="line_numbers">
3475<span>20</span>
3476<span>21</span>
3477<span>22</span>
3478<span>23</span>
3479<span>24</span>
3480<span>25</span>
3481 </pre>
3482 </td>
3483<td width="100%">
3484<pre>
3485<div class="line"> end
3486</div><div class="line">
3487</div><div class="line active"> @app.call(env)
3488</div><div class="line"> end
3489</div><div class="line">
3490</div><div class="line"> def method_override(env)
3491</div>
3492</pre>
3493</td>
3494 </tr>
3495 </table>
3496 </div>
3497 </div>
3498 <div class="source hidden" id="frame-source-104">
3499 <div class="info">
3500 Extracted source (around line <strong>#18</strong>):
3501 </div>
3502 <div class="data">
3503 <table cellpadding="0" cellspacing="0" class="lines">
3504 <tr>
3505 <td>
3506 <pre class="line_numbers">
3507<span>16</span>
3508<span>17</span>
3509<span>18</span>
3510<span>19</span>
3511<span>20</span>
3512<span>21</span>
3513 </pre>
3514 </td>
3515<td width="100%">
3516<pre>
3517<div class="line"> def call(env)
3518</div><div class="line"> start_time = clock_time
3519</div><div class="line active"> status, headers, body = @app.call(env)
3520</div><div class="line"> request_time = clock_time - start_time
3521</div><div class="line">
3522</div><div class="line"> if !headers.has_key?(@header_name)
3523</div>
3524</pre>
3525</td>
3526 </tr>
3527 </table>
3528 </div>
3529 </div>
3530 <div class="source hidden" id="frame-source-105">
3531 <div class="info">
3532 Extracted source (around line <strong>#100</strong>):
3533 </div>
3534 <div class="data">
3535 <table cellpadding="0" cellspacing="0" class="lines">
3536 <tr>
3537 <td>
3538 <pre class="line_numbers">
3539<span>98</span>
3540<span>99</span>
3541<span>100</span>
3542<span>101</span>
3543<span>102</span>
3544<span>103</span>
3545 </pre>
3546 </td>
3547<td width="100%">
3548<pre>
3549<div class="line">
3550</div><div class="line"> # pass request through if service_timeout is false (i.e., don't time it out at all.)
3551</div><div class="line active"> return @app.call(env) unless service_timeout
3552</div><div class="line">
3553</div><div class="line"> # compute actual timeout to be used for this request; if service_past_wait is true, this is just service_timeout. If false (the default), and wait time was determined, we'll use the shortest value between seconds_service_left and service_timeout. See comment above at service_past_wait for justification.
3554</div><div class="line"> info.timeout = service_timeout # nice and simple, when service_past_wait is true, not so much otherwise:
3555</div>
3556</pre>
3557</td>
3558 </tr>
3559 </table>
3560 </div>
3561 </div>
3562 <div class="source hidden" id="frame-source-106">
3563 <div class="info">
3564 Extracted source (around line <strong>#28</strong>):
3565 </div>
3566 <div class="data">
3567 <table cellpadding="0" cellspacing="0" class="lines">
3568 <tr>
3569 <td>
3570 <pre class="line_numbers">
3571<span>26</span>
3572<span>27</span>
3573<span>28</span>
3574<span>29</span>
3575<span>30</span>
3576<span>31</span>
3577 </pre>
3578 </td>
3579<td width="100%">
3580<pre>
3581<div class="line"> def call(env)
3582</div><div class="line"> LocalCacheRegistry.set_cache_for(local_cache_key, LocalStore.new)
3583</div><div class="line active"> response = @app.call(env)
3584</div><div class="line"> response[2] = ::Rack::BodyProxy.new(response[2]) do
3585</div><div class="line"> LocalCacheRegistry.set_cache_for(local_cache_key, nil)
3586</div><div class="line"> end
3587</div>
3588</pre>
3589</td>
3590 </tr>
3591 </table>
3592 </div>
3593 </div>
3594 <div class="source hidden" id="frame-source-107">
3595 <div class="info">
3596 Extracted source (around line <strong>#17</strong>):
3597 </div>
3598 <div class="data">
3599 <table cellpadding="0" cellspacing="0" class="lines">
3600 <tr>
3601 <td>
3602 <pre class="line_numbers">
3603<span>15</span>
3604<span>16</span>
3605<span>17</span>
3606<span>18</span>
3607<span>19</span>
3608<span>20</span>
3609 </pre>
3610 </td>
3611<td width="100%">
3612<pre>
3613<div class="line"> old, env[FLAG] = env[FLAG], false
3614</div><div class="line"> @mutex.lock
3615</div><div class="line active"> response = @app.call(env)
3616</div><div class="line"> body = BodyProxy.new(response[2]) { @mutex.unlock }
3617</div><div class="line"> response[2] = body
3618</div><div class="line"> response
3619</div>
3620</pre>
3621</td>
3622 </tr>
3623 </table>
3624 </div>
3625 </div>
3626 <div class="source hidden" id="frame-source-108">
3627 <div class="info">
3628 Extracted source (around line <strong>#116</strong>):
3629 </div>
3630 <div class="data">
3631 <table cellpadding="0" cellspacing="0" class="lines">
3632 <tr>
3633 <td>
3634 <pre class="line_numbers">
3635<span>114</span>
3636<span>115</span>
3637<span>116</span>
3638<span>117</span>
3639<span>118</span>
3640<span>119</span>
3641 </pre>
3642 </td>
3643<td width="100%">
3644<pre>
3645<div class="line"> end
3646</div><div class="line">
3647</div><div class="line active"> @app.call(env)
3648</div><div class="line"> end
3649</div><div class="line"> end
3650</div><div class="line">end
3651</div>
3652</pre>
3653</td>
3654 </tr>
3655 </table>
3656 </div>
3657 </div>
3658 <div class="source hidden" id="frame-source-109">
3659 <div class="info">
3660 Extracted source (around line <strong>#113</strong>):
3661 </div>
3662 <div class="data">
3663 <table cellpadding="0" cellspacing="0" class="lines">
3664 <tr>
3665 <td>
3666 <pre class="line_numbers">
3667<span>111</span>
3668<span>112</span>
3669<span>113</span>
3670<span>114</span>
3671<span>115</span>
3672<span>116</span>
3673 </pre>
3674 </td>
3675<td width="100%">
3676<pre>
3677<div class="line">
3678</div><div class="line"> def call(env)
3679</div><div class="line active"> status, headers, body = @app.call(env)
3680</div><div class="line"> if body.respond_to?(:to_path)
3681</div><div class="line"> case type = variation(env)
3682</div><div class="line"> when 'X-Accel-Redirect'
3683</div>
3684</pre>
3685</td>
3686 </tr>
3687 </table>
3688 </div>
3689 </div>
3690 <div class="source hidden" id="frame-source-110">
3691 <div class="info">
3692 Extracted source (around line <strong>#518</strong>):
3693 </div>
3694 <div class="data">
3695 <table cellpadding="0" cellspacing="0" class="lines">
3696 <tr>
3697 <td>
3698 <pre class="line_numbers">
3699<span>516</span>
3700<span>517</span>
3701<span>518</span>
3702<span>519</span>
3703<span>520</span>
3704<span>521</span>
3705 </pre>
3706 </td>
3707<td width="100%">
3708<pre>
3709<div class="line"> env["ROUTES_#{routes.object_id}_SCRIPT_NAME"] = env['SCRIPT_NAME'].dup
3710</div><div class="line"> end
3711</div><div class="line active"> app.call(env)
3712</div><div class="line"> end
3713</div><div class="line">
3714</div><div class="line"> # Defines additional Rack env configuration that is added on each call.
3715</div>
3716</pre>
3717</td>
3718 </tr>
3719 </table>
3720 </div>
3721 </div>
3722 <div class="source hidden" id="frame-source-111">
3723 <div class="info">
3724 Extracted source (around line <strong>#165</strong>):
3725 </div>
3726 <div class="data">
3727 <table cellpadding="0" cellspacing="0" class="lines">
3728 <tr>
3729 <td>
3730 <pre class="line_numbers">
3731<span>163</span>
3732<span>164</span>
3733<span>165</span>
3734<span>166</span>
3735<span>167</span>
3736<span>168</span>
3737 </pre>
3738 </td>
3739<td width="100%">
3740<pre>
3741<div class="line"> env["ORIGINAL_FULLPATH"] = build_original_fullpath(env)
3742</div><div class="line"> env["ORIGINAL_SCRIPT_NAME"] = env["SCRIPT_NAME"]
3743</div><div class="line active"> super(env)
3744</div><div class="line"> end
3745</div><div class="line">
3746</div><div class="line"> # Reload application routes regardless if they changed or not.
3747</div>
3748</pre>
3749</td>
3750 </tr>
3751 </table>
3752 </div>
3753 </div>
3754 <div class="source hidden" id="frame-source-112">
3755 <div class="info">
3756 Extracted source (around line <strong>#224</strong>):
3757 </div>
3758 <div class="data">
3759 <table cellpadding="0" cellspacing="0" class="lines">
3760 <tr>
3761 <td>
3762 <pre class="line_numbers">
3763<span>222</span>
3764<span>223</span>
3765<span>224</span>
3766<span>225</span>
3767<span>226</span>
3768<span>227</span>
3769 </pre>
3770 </td>
3771<td width="100%">
3772<pre>
3773<div class="line"> def call(env)
3774</div><div class="line"> env[Const::PUMA_CONFIG] = @config
3775</div><div class="line active"> @app.call(env)
3776</div><div class="line"> end
3777</div><div class="line"> end
3778</div><div class="line">
3779</div>
3780</pre>
3781</td>
3782 </tr>
3783 </table>
3784 </div>
3785 </div>
3786 <div class="source hidden" id="frame-source-113">
3787 <div class="info">
3788 Extracted source (around line <strong>#569</strong>):
3789 </div>
3790 <div class="data">
3791 <table cellpadding="0" cellspacing="0" class="lines">
3792 <tr>
3793 <td>
3794 <pre class="line_numbers">
3795<span>567</span>
3796<span>568</span>
3797<span>569</span>
3798<span>570</span>
3799<span>571</span>
3800<span>572</span>
3801 </pre>
3802 </td>
3803<td width="100%">
3804<pre>
3805<div class="line"> begin
3806</div><div class="line"> begin
3807</div><div class="line active"> status, headers, res_body = @app.call(env)
3808</div><div class="line">
3809</div><div class="line"> return :async if req.hijacked
3810</div><div class="line">
3811</div>
3812</pre>
3813</td>
3814 </tr>
3815 </table>
3816 </div>
3817 </div>
3818 <div class="source hidden" id="frame-source-114">
3819 <div class="info">
3820 Extracted source (around line <strong>#406</strong>):
3821 </div>
3822 <div class="data">
3823 <table cellpadding="0" cellspacing="0" class="lines">
3824 <tr>
3825 <td>
3826 <pre class="line_numbers">
3827<span>404</span>
3828<span>405</span>
3829<span>406</span>
3830<span>407</span>
3831<span>408</span>
3832<span>409</span>
3833 </pre>
3834 </td>
3835<td width="100%">
3836<pre>
3837<div class="line">
3838</div><div class="line"> while true
3839</div><div class="line active"> case handle_request(client, buffer)
3840</div><div class="line"> when false
3841</div><div class="line"> return
3842</div><div class="line"> when :async
3843</div>
3844</pre>
3845</td>
3846 </tr>
3847 </table>
3848 </div>
3849 </div>
3850 <div class="source hidden" id="frame-source-115">
3851 <div class="info">
3852 Extracted source (around line <strong>#271</strong>):
3853 </div>
3854 <div class="data">
3855 <table cellpadding="0" cellspacing="0" class="lines">
3856 <tr>
3857 <td>
3858 <pre class="line_numbers">
3859<span>269</span>
3860<span>270</span>
3861<span>271</span>
3862<span>272</span>
3863<span>273</span>
3864<span>274</span>
3865 </pre>
3866 </td>
3867<td width="100%">
3868<pre>
3869<div class="line"> else
3870</div><div class="line"> if process_now
3871</div><div class="line active"> process_client client, buffer
3872</div><div class="line"> else
3873</div><div class="line"> client.set_timeout @first_data_timeout
3874</div><div class="line"> @reactor.add client
3875</div>
3876</pre>
3877</td>
3878 </tr>
3879 </table>
3880 </div>
3881 </div>
3882 <div class="source hidden" id="frame-source-116">
3883 <div class="info">
3884 Extracted source (around line <strong>#114</strong>):
3885 </div>
3886 <div class="data">
3887 <table cellpadding="0" cellspacing="0" class="lines">
3888 <tr>
3889 <td>
3890 <pre class="line_numbers">
3891<span>112</span>
3892<span>113</span>
3893<span>114</span>
3894<span>115</span>
3895<span>116</span>
3896<span>117</span>
3897 </pre>
3898 </td>
3899<td width="100%">
3900<pre>
3901<div class="line">
3902</div><div class="line"> begin
3903</div><div class="line active"> block.call(work, *extra)
3904</div><div class="line"> rescue Exception
3905</div><div class="line"> end
3906</div><div class="line"> end
3907</div>
3908</pre>
3909</td>
3910 </tr>
3911 </table>
3912 </div>
3913 </div>
3914
3915
3916<p><code>Rails.root: /var/www/vhosts/homesway/releases/20160829043947</code></p>
3917
3918<div id="traces">
3919 <a href="#" onclick="hide('Framework-Trace');hide('Full-Trace');show('Application-Trace');; return false;">Application Trace</a> |
3920 <a href="#" onclick="hide('Application-Trace');hide('Full-Trace');show('Framework-Trace');; return false;">Framework Trace</a> |
3921 <a href="#" onclick="hide('Application-Trace');hide('Framework-Trace');show('Full-Trace');; return false;">Full Trace</a>
3922
3923 <div id="Application-Trace" style="display: block;">
3924 <pre><code><a class="trace-frames" data-frame-id="6" href="#">app/models/seller_team.rb:20:in `seller_house_uniqueness'</a><br><a class="trace-frames" data-frame-id="38" href="#">app/controllers/api/v1/teams_controller.rb:33:in `update'</a><br></code></pre>
3925 </div>
3926 <div id="Framework-Trace" style="display: none;">
3927 <pre><code><a class="trace-frames" data-frame-id="0" href="#">activerecord (4.2.5) lib/active_record/connection_adapters/postgresql_adapter.rb:637:in `prepare'</a><br><a class="trace-frames" data-frame-id="1" href="#">activerecord (4.2.5) lib/active_record/connection_adapters/postgresql_adapter.rb:637:in `prepare_statement'</a><br><a class="trace-frames" data-frame-id="2" href="#">activerecord (4.2.5) lib/active_record/connection_adapters/postgresql_adapter.rb:596:in `exec_cache'</a><br><a class="trace-frames" data-frame-id="3" href="#">activerecord (4.2.5) lib/active_record/connection_adapters/postgresql_adapter.rb:585:in `execute_and_clear'</a><br><a class="trace-frames" data-frame-id="4" href="#">activerecord (4.2.5) lib/active_record/connection_adapters/postgresql/database_statements.rb:50:in `select_value'</a><br><a class="trace-frames" data-frame-id="5" href="#">activerecord (4.2.5) lib/active_record/relation/finder_methods.rb:302:in `exists?'</a><br><a class="trace-frames" data-frame-id="7" href="#">activesupport (4.2.5) lib/active_support/callbacks.rb:432:in `block in make_lambda'</a><br><a class="trace-frames" data-frame-id="8" href="#">activesupport (4.2.5) lib/active_support/callbacks.rb:192:in `block in simple'</a><br><a class="trace-frames" data-frame-id="9" href="#">activesupport (4.2.5) lib/active_support/callbacks.rb:504:in `block in call'</a><br><a class="trace-frames" data-frame-id="10" href="#">activesupport (4.2.5) lib/active_support/callbacks.rb:504:in `each'</a><br><a class="trace-frames" data-frame-id="11" href="#">activesupport (4.2.5) lib/active_support/callbacks.rb:504:in `call'</a><br><a class="trace-frames" data-frame-id="12" href="#">activesupport (4.2.5) lib/active_support/callbacks.rb:92:in `__run_callbacks__'</a><br><a class="trace-frames" data-frame-id="13" href="#">activesupport (4.2.5) lib/active_support/callbacks.rb:778:in `_run_validate_callbacks'</a><br><a class="trace-frames" data-frame-id="14" href="#">activemodel (4.2.5) lib/active_model/validations.rb:398:in `run_validations!'</a><br><a class="trace-frames" data-frame-id="15" href="#">activemodel (4.2.5) lib/active_model/validations/callbacks.rb:113:in `block in run_validations!'</a><br><a class="trace-frames" data-frame-id="16" href="#">activesupport (4.2.5) lib/active_support/callbacks.rb:88:in `__run_callbacks__'</a><br><a class="trace-frames" data-frame-id="17" href="#">activesupport (4.2.5) lib/active_support/callbacks.rb:778:in `_run_validation_callbacks'</a><br><a class="trace-frames" data-frame-id="18" href="#">activemodel (4.2.5) lib/active_model/validations/callbacks.rb:113:in `run_validations!'</a><br><a class="trace-frames" data-frame-id="19" href="#">activemodel (4.2.5) lib/active_model/validations.rb:337:in `valid?'</a><br><a class="trace-frames" data-frame-id="20" href="#">activerecord (4.2.5) lib/active_record/validations.rb:58:in `valid?'</a><br><a class="trace-frames" data-frame-id="21" href="#">activerecord (4.2.5) lib/active_record/validations.rb:83:in `perform_validations'</a><br><a class="trace-frames" data-frame-id="22" href="#">activerecord (4.2.5) lib/active_record/validations.rb:43:in `save!'</a><br><a class="trace-frames" data-frame-id="23" href="#">activerecord (4.2.5) lib/active_record/attribute_methods/dirty.rb:29:in `save!'</a><br><a class="trace-frames" data-frame-id="24" href="#">activerecord (4.2.5) lib/active_record/transactions.rb:291:in `block in save!'</a><br><a class="trace-frames" data-frame-id="25" href="#">activerecord (4.2.5) lib/active_record/transactions.rb:351:in `block in with_transaction_returning_status'</a><br><a class="trace-frames" data-frame-id="26" href="#">activerecord (4.2.5) lib/active_record/connection_adapters/abstract/database_statements.rb:211:in `transaction'</a><br><a class="trace-frames" data-frame-id="27" href="#">activerecord (4.2.5) lib/active_record/transactions.rb:220:in `transaction'</a><br><a class="trace-frames" data-frame-id="28" href="#">activerecord (4.2.5) lib/active_record/transactions.rb:348:in `with_transaction_returning_status'</a><br><a class="trace-frames" data-frame-id="29" href="#">activerecord (4.2.5) lib/active_record/transactions.rb:291:in `save!'</a><br><a class="trace-frames" data-frame-id="30" href="#">activerecord (4.2.5) lib/active_record/persistence.rb:265:in `block in update!'</a><br><a class="trace-frames" data-frame-id="31" href="#">activerecord (4.2.5) lib/active_record/transactions.rb:351:in `block in with_transaction_returning_status'</a><br><a class="trace-frames" data-frame-id="32" href="#">activerecord (4.2.5) lib/active_record/connection_adapters/abstract/database_statements.rb:213:in `block in transaction'</a><br><a class="trace-frames" data-frame-id="33" href="#">activerecord (4.2.5) lib/active_record/connection_adapters/abstract/transaction.rb:184:in `within_new_transaction'</a><br><a class="trace-frames" data-frame-id="34" href="#">activerecord (4.2.5) lib/active_record/connection_adapters/abstract/database_statements.rb:213:in `transaction'</a><br><a class="trace-frames" data-frame-id="35" href="#">activerecord (4.2.5) lib/active_record/transactions.rb:220:in `transaction'</a><br><a class="trace-frames" data-frame-id="36" href="#">activerecord (4.2.5) lib/active_record/transactions.rb:348:in `with_transaction_returning_status'</a><br><a class="trace-frames" data-frame-id="37" href="#">activerecord (4.2.5) lib/active_record/persistence.rb:263:in `update!'</a><br><a class="trace-frames" data-frame-id="39" href="#">actionpack (4.2.5) lib/action_controller/metal/implicit_render.rb:4:in `send_action'</a><br><a class="trace-frames" data-frame-id="40" href="#">actionpack (4.2.5) lib/abstract_controller/base.rb:198:in `process_action'</a><br><a class="trace-frames" data-frame-id="41" href="#">actionpack (4.2.5) lib/action_controller/metal/rendering.rb:10:in `process_action'</a><br><a class="trace-frames" data-frame-id="42" href="#">actionpack (4.2.5) lib/abstract_controller/callbacks.rb:20:in `block in process_action'</a><br><a class="trace-frames" data-frame-id="43" href="#">activesupport (4.2.5) lib/active_support/callbacks.rb:117:in `call'</a><br><a class="trace-frames" data-frame-id="44" href="#">activesupport (4.2.5) lib/active_support/callbacks.rb:555:in `block (2 levels) in compile'</a><br><a class="trace-frames" data-frame-id="45" href="#">activesupport (4.2.5) lib/active_support/callbacks.rb:505:in `call'</a><br><a class="trace-frames" data-frame-id="46" href="#">activesupport (4.2.5) lib/active_support/callbacks.rb:92:in `__run_callbacks__'</a><br><a class="trace-frames" data-frame-id="47" href="#">activesupport (4.2.5) lib/active_support/callbacks.rb:778:in `_run_process_action_callbacks'</a><br><a class="trace-frames" data-frame-id="48" href="#">activesupport (4.2.5) lib/active_support/callbacks.rb:81:in `run_callbacks'</a><br><a class="trace-frames" data-frame-id="49" href="#">actionpack (4.2.5) lib/abstract_controller/callbacks.rb:19:in `process_action'</a><br><a class="trace-frames" data-frame-id="50" href="#">actionpack (4.2.5) lib/action_controller/metal/rescue.rb:29:in `process_action'</a><br><a class="trace-frames" data-frame-id="51" href="#">actionpack (4.2.5) lib/action_controller/metal/instrumentation.rb:32:in `block in process_action'</a><br><a class="trace-frames" data-frame-id="52" href="#">activesupport (4.2.5) lib/active_support/notifications.rb:164:in `block in instrument'</a><br><a class="trace-frames" data-frame-id="53" href="#">activesupport (4.2.5) lib/active_support/notifications/instrumenter.rb:20:in `instrument'</a><br><a class="trace-frames" data-frame-id="54" href="#">activesupport (4.2.5) lib/active_support/notifications.rb:164:in `instrument'</a><br><a class="trace-frames" data-frame-id="55" href="#">actionpack (4.2.5) lib/action_controller/metal/instrumentation.rb:30:in `process_action'</a><br><a class="trace-frames" data-frame-id="56" href="#">actionpack (4.2.5) lib/action_controller/metal/params_wrapper.rb:250:in `process_action'</a><br><a class="trace-frames" data-frame-id="57" href="#">activerecord (4.2.5) lib/active_record/railties/controller_runtime.rb:18:in `process_action'</a><br><a class="trace-frames" data-frame-id="58" href="#">actionpack (4.2.5) lib/abstract_controller/base.rb:137:in `process'</a><br><a class="trace-frames" data-frame-id="59" href="#">actionview (4.2.5) lib/action_view/rendering.rb:30:in `process'</a><br><a class="trace-frames" data-frame-id="60" href="#">actionpack (4.2.5) lib/action_controller/metal.rb:196:in `dispatch'</a><br><a class="trace-frames" data-frame-id="61" href="#">actionpack (4.2.5) lib/action_controller/metal/rack_delegation.rb:13:in `dispatch'</a><br><a class="trace-frames" data-frame-id="62" href="#">actionpack (4.2.5) lib/action_controller/metal.rb:237:in `block in action'</a><br><a class="trace-frames" data-frame-id="63" href="#">actionpack (4.2.5) lib/action_dispatch/routing/route_set.rb:76:in `dispatch'</a><br><a class="trace-frames" data-frame-id="64" href="#">actionpack (4.2.5) lib/action_dispatch/routing/route_set.rb:45:in `serve'</a><br><a class="trace-frames" data-frame-id="65" href="#">actionpack (4.2.5) lib/action_dispatch/routing/mapper.rb:49:in `serve'</a><br><a class="trace-frames" data-frame-id="66" href="#">actionpack (4.2.5) lib/action_dispatch/journey/router.rb:43:in `block in serve'</a><br><a class="trace-frames" data-frame-id="67" href="#">actionpack (4.2.5) lib/action_dispatch/journey/router.rb:30:in `each'</a><br><a class="trace-frames" data-frame-id="68" href="#">actionpack (4.2.5) lib/action_dispatch/journey/router.rb:30:in `serve'</a><br><a class="trace-frames" data-frame-id="69" href="#">actionpack (4.2.5) lib/action_dispatch/routing/route_set.rb:817:in `call'</a><br><a class="trace-frames" data-frame-id="70" href="#">warden (1.2.6) lib/warden/manager.rb:35:in `block in call'</a><br><a class="trace-frames" data-frame-id="71" href="#">warden (1.2.6) lib/warden/manager.rb:34:in `catch'</a><br><a class="trace-frames" data-frame-id="72" href="#">warden (1.2.6) lib/warden/manager.rb:34:in `call'</a><br><a class="trace-frames" data-frame-id="73" href="#">versionist (1.5.0) lib/versionist/middleware.rb:39:in `_call'</a><br><a class="trace-frames" data-frame-id="74" href="#">versionist (1.5.0) lib/versionist/middleware.rb:17:in `call'</a><br><a class="trace-frames" data-frame-id="75" href="#">rack (1.6.4) lib/rack/etag.rb:24:in `call'</a><br><a class="trace-frames" data-frame-id="76" href="#">rack (1.6.4) lib/rack/conditionalget.rb:38:in `call'</a><br><a class="trace-frames" data-frame-id="77" href="#">rack (1.6.4) lib/rack/head.rb:13:in `call'</a><br><a class="trace-frames" data-frame-id="78" href="#">actionpack (4.2.5) lib/action_dispatch/middleware/params_parser.rb:27:in `call'</a><br><a class="trace-frames" data-frame-id="79" href="#">actionpack (4.2.5) lib/action_dispatch/middleware/flash.rb:260:in `call'</a><br><a class="trace-frames" data-frame-id="80" href="#">rack (1.6.4) lib/rack/session/abstract/id.rb:225:in `context'</a><br><a class="trace-frames" data-frame-id="81" href="#">rack (1.6.4) lib/rack/session/abstract/id.rb:220:in `call'</a><br><a class="trace-frames" data-frame-id="82" href="#">actionpack (4.2.5) lib/action_dispatch/middleware/cookies.rb:560:in `call'</a><br><a class="trace-frames" data-frame-id="83" href="#">activerecord (4.2.5) lib/active_record/query_cache.rb:36:in `call'</a><br><a class="trace-frames" data-frame-id="84" href="#">activerecord (4.2.5) lib/active_record/connection_adapters/abstract/connection_pool.rb:653:in `call'</a><br><a class="trace-frames" data-frame-id="85" href="#">activerecord (4.2.5) lib/active_record/migration.rb:377:in `call'</a><br><a class="trace-frames" data-frame-id="86" href="#">actionpack (4.2.5) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'</a><br><a class="trace-frames" data-frame-id="87" href="#">activesupport (4.2.5) lib/active_support/callbacks.rb:88:in `__run_callbacks__'</a><br><a class="trace-frames" data-frame-id="88" href="#">activesupport (4.2.5) lib/active_support/callbacks.rb:778:in `_run_call_callbacks'</a><br><a class="trace-frames" data-frame-id="89" href="#">activesupport (4.2.5) lib/active_support/callbacks.rb:81:in `run_callbacks'</a><br><a class="trace-frames" data-frame-id="90" href="#">actionpack (4.2.5) lib/action_dispatch/middleware/callbacks.rb:27:in `call'</a><br><a class="trace-frames" data-frame-id="91" href="#">actionpack (4.2.5) lib/action_dispatch/middleware/reloader.rb:73:in `call'</a><br><a class="trace-frames" data-frame-id="92" href="#">actionpack (4.2.5) lib/action_dispatch/middleware/remote_ip.rb:78:in `call'</a><br><a class="trace-frames" data-frame-id="93" href="#">actionpack (4.2.5) lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'</a><br><a class="trace-frames" data-frame-id="94" href="#">actionpack (4.2.5) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'</a><br><a class="trace-frames" data-frame-id="95" href="#">railties (4.2.5) lib/rails/rack/logger.rb:38:in `call_app'</a><br><a class="trace-frames" data-frame-id="96" href="#">railties (4.2.5) lib/rails/rack/logger.rb:20:in `block in call'</a><br><a class="trace-frames" data-frame-id="97" href="#">activesupport (4.2.5) lib/active_support/tagged_logging.rb:68:in `block in tagged'</a><br><a class="trace-frames" data-frame-id="98" href="#">activesupport (4.2.5) lib/active_support/tagged_logging.rb:26:in `tagged'</a><br><a class="trace-frames" data-frame-id="99" href="#">activesupport (4.2.5) lib/active_support/tagged_logging.rb:68:in `tagged'</a><br><a class="trace-frames" data-frame-id="100" href="#">railties (4.2.5) lib/rails/rack/logger.rb:20:in `call'</a><br><a class="trace-frames" data-frame-id="101" href="#">request_store (1.3.1) lib/request_store/middleware.rb:9:in `call'</a><br><a class="trace-frames" data-frame-id="102" href="#">actionpack (4.2.5) lib/action_dispatch/middleware/request_id.rb:21:in `call'</a><br><a class="trace-frames" data-frame-id="103" href="#">rack (1.6.4) lib/rack/methodoverride.rb:22:in `call'</a><br><a class="trace-frames" data-frame-id="104" href="#">rack (1.6.4) lib/rack/runtime.rb:18:in `call'</a><br><a class="trace-frames" data-frame-id="105" href="#">rack-timeout (0.4.2) lib/rack/timeout/core.rb:100:in `call'</a><br><a class="trace-frames" data-frame-id="106" href="#">activesupport (4.2.5) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call'</a><br><a class="trace-frames" data-frame-id="107" href="#">rack (1.6.4) lib/rack/lock.rb:17:in `call'</a><br><a class="trace-frames" data-frame-id="108" href="#">actionpack (4.2.5) lib/action_dispatch/middleware/static.rb:116:in `call'</a><br><a class="trace-frames" data-frame-id="109" href="#">rack (1.6.4) lib/rack/sendfile.rb:113:in `call'</a><br><a class="trace-frames" data-frame-id="110" href="#">railties (4.2.5) lib/rails/engine.rb:518:in `call'</a><br><a class="trace-frames" data-frame-id="111" href="#">railties (4.2.5) lib/rails/application.rb:165:in `call'</a><br><a class="trace-frames" data-frame-id="112" href="#">puma (3.4.0) lib/puma/configuration.rb:224:in `call'</a><br><a class="trace-frames" data-frame-id="113" href="#">puma (3.4.0) lib/puma/server.rb:569:in `handle_request'</a><br><a class="trace-frames" data-frame-id="114" href="#">puma (3.4.0) lib/puma/server.rb:406:in `process_client'</a><br><a class="trace-frames" data-frame-id="115" href="#">puma (3.4.0) lib/puma/server.rb:271:in `block in run'</a><br><a class="trace-frames" data-frame-id="116" href="#">puma (3.4.0) lib/puma/thread_pool.rb:114:in `block in spawn_thread'</a><br></code></pre>
3928 </div>
3929 <div id="Full-Trace" style="display: none;">
3930 <pre><code><a class="trace-frames" data-frame-id="0" href="#">activerecord (4.2.5) lib/active_record/connection_adapters/postgresql_adapter.rb:637:in `prepare'</a><br><a class="trace-frames" data-frame-id="1" href="#">activerecord (4.2.5) lib/active_record/connection_adapters/postgresql_adapter.rb:637:in `prepare_statement'</a><br><a class="trace-frames" data-frame-id="2" href="#">activerecord (4.2.5) lib/active_record/connection_adapters/postgresql_adapter.rb:596:in `exec_cache'</a><br><a class="trace-frames" data-frame-id="3" href="#">activerecord (4.2.5) lib/active_record/connection_adapters/postgresql_adapter.rb:585:in `execute_and_clear'</a><br><a class="trace-frames" data-frame-id="4" href="#">activerecord (4.2.5) lib/active_record/connection_adapters/postgresql/database_statements.rb:50:in `select_value'</a><br><a class="trace-frames" data-frame-id="5" href="#">activerecord (4.2.5) lib/active_record/relation/finder_methods.rb:302:in `exists?'</a><br><a class="trace-frames" data-frame-id="6" href="#">app/models/seller_team.rb:20:in `seller_house_uniqueness'</a><br><a class="trace-frames" data-frame-id="7" href="#">activesupport (4.2.5) lib/active_support/callbacks.rb:432:in `block in make_lambda'</a><br><a class="trace-frames" data-frame-id="8" href="#">activesupport (4.2.5) lib/active_support/callbacks.rb:192:in `block in simple'</a><br><a class="trace-frames" data-frame-id="9" href="#">activesupport (4.2.5) lib/active_support/callbacks.rb:504:in `block in call'</a><br><a class="trace-frames" data-frame-id="10" href="#">activesupport (4.2.5) lib/active_support/callbacks.rb:504:in `each'</a><br><a class="trace-frames" data-frame-id="11" href="#">activesupport (4.2.5) lib/active_support/callbacks.rb:504:in `call'</a><br><a class="trace-frames" data-frame-id="12" href="#">activesupport (4.2.5) lib/active_support/callbacks.rb:92:in `__run_callbacks__'</a><br><a class="trace-frames" data-frame-id="13" href="#">activesupport (4.2.5) lib/active_support/callbacks.rb:778:in `_run_validate_callbacks'</a><br><a class="trace-frames" data-frame-id="14" href="#">activemodel (4.2.5) lib/active_model/validations.rb:398:in `run_validations!'</a><br><a class="trace-frames" data-frame-id="15" href="#">activemodel (4.2.5) lib/active_model/validations/callbacks.rb:113:in `block in run_validations!'</a><br><a class="trace-frames" data-frame-id="16" href="#">activesupport (4.2.5) lib/active_support/callbacks.rb:88:in `__run_callbacks__'</a><br><a class="trace-frames" data-frame-id="17" href="#">activesupport (4.2.5) lib/active_support/callbacks.rb:778:in `_run_validation_callbacks'</a><br><a class="trace-frames" data-frame-id="18" href="#">activemodel (4.2.5) lib/active_model/validations/callbacks.rb:113:in `run_validations!'</a><br><a class="trace-frames" data-frame-id="19" href="#">activemodel (4.2.5) lib/active_model/validations.rb:337:in `valid?'</a><br><a class="trace-frames" data-frame-id="20" href="#">activerecord (4.2.5) lib/active_record/validations.rb:58:in `valid?'</a><br><a class="trace-frames" data-frame-id="21" href="#">activerecord (4.2.5) lib/active_record/validations.rb:83:in `perform_validations'</a><br><a class="trace-frames" data-frame-id="22" href="#">activerecord (4.2.5) lib/active_record/validations.rb:43:in `save!'</a><br><a class="trace-frames" data-frame-id="23" href="#">activerecord (4.2.5) lib/active_record/attribute_methods/dirty.rb:29:in `save!'</a><br><a class="trace-frames" data-frame-id="24" href="#">activerecord (4.2.5) lib/active_record/transactions.rb:291:in `block in save!'</a><br><a class="trace-frames" data-frame-id="25" href="#">activerecord (4.2.5) lib/active_record/transactions.rb:351:in `block in with_transaction_returning_status'</a><br><a class="trace-frames" data-frame-id="26" href="#">activerecord (4.2.5) lib/active_record/connection_adapters/abstract/database_statements.rb:211:in `transaction'</a><br><a class="trace-frames" data-frame-id="27" href="#">activerecord (4.2.5) lib/active_record/transactions.rb:220:in `transaction'</a><br><a class="trace-frames" data-frame-id="28" href="#">activerecord (4.2.5) lib/active_record/transactions.rb:348:in `with_transaction_returning_status'</a><br><a class="trace-frames" data-frame-id="29" href="#">activerecord (4.2.5) lib/active_record/transactions.rb:291:in `save!'</a><br><a class="trace-frames" data-frame-id="30" href="#">activerecord (4.2.5) lib/active_record/persistence.rb:265:in `block in update!'</a><br><a class="trace-frames" data-frame-id="31" href="#">activerecord (4.2.5) lib/active_record/transactions.rb:351:in `block in with_transaction_returning_status'</a><br><a class="trace-frames" data-frame-id="32" href="#">activerecord (4.2.5) lib/active_record/connection_adapters/abstract/database_statements.rb:213:in `block in transaction'</a><br><a class="trace-frames" data-frame-id="33" href="#">activerecord (4.2.5) lib/active_record/connection_adapters/abstract/transaction.rb:184:in `within_new_transaction'</a><br><a class="trace-frames" data-frame-id="34" href="#">activerecord (4.2.5) lib/active_record/connection_adapters/abstract/database_statements.rb:213:in `transaction'</a><br><a class="trace-frames" data-frame-id="35" href="#">activerecord (4.2.5) lib/active_record/transactions.rb:220:in `transaction'</a><br><a class="trace-frames" data-frame-id="36" href="#">activerecord (4.2.5) lib/active_record/transactions.rb:348:in `with_transaction_returning_status'</a><br><a class="trace-frames" data-frame-id="37" href="#">activerecord (4.2.5) lib/active_record/persistence.rb:263:in `update!'</a><br><a class="trace-frames" data-frame-id="38" href="#">app/controllers/api/v1/teams_controller.rb:33:in `update'</a><br><a class="trace-frames" data-frame-id="39" href="#">actionpack (4.2.5) lib/action_controller/metal/implicit_render.rb:4:in `send_action'</a><br><a class="trace-frames" data-frame-id="40" href="#">actionpack (4.2.5) lib/abstract_controller/base.rb:198:in `process_action'</a><br><a class="trace-frames" data-frame-id="41" href="#">actionpack (4.2.5) lib/action_controller/metal/rendering.rb:10:in `process_action'</a><br><a class="trace-frames" data-frame-id="42" href="#">actionpack (4.2.5) lib/abstract_controller/callbacks.rb:20:in `block in process_action'</a><br><a class="trace-frames" data-frame-id="43" href="#">activesupport (4.2.5) lib/active_support/callbacks.rb:117:in `call'</a><br><a class="trace-frames" data-frame-id="44" href="#">activesupport (4.2.5) lib/active_support/callbacks.rb:555:in `block (2 levels) in compile'</a><br><a class="trace-frames" data-frame-id="45" href="#">activesupport (4.2.5) lib/active_support/callbacks.rb:505:in `call'</a><br><a class="trace-frames" data-frame-id="46" href="#">activesupport (4.2.5) lib/active_support/callbacks.rb:92:in `__run_callbacks__'</a><br><a class="trace-frames" data-frame-id="47" href="#">activesupport (4.2.5) lib/active_support/callbacks.rb:778:in `_run_process_action_callbacks'</a><br><a class="trace-frames" data-frame-id="48" href="#">activesupport (4.2.5) lib/active_support/callbacks.rb:81:in `run_callbacks'</a><br><a class="trace-frames" data-frame-id="49" href="#">actionpack (4.2.5) lib/abstract_controller/callbacks.rb:19:in `process_action'</a><br><a class="trace-frames" data-frame-id="50" href="#">actionpack (4.2.5) lib/action_controller/metal/rescue.rb:29:in `process_action'</a><br><a class="trace-frames" data-frame-id="51" href="#">actionpack (4.2.5) lib/action_controller/metal/instrumentation.rb:32:in `block in process_action'</a><br><a class="trace-frames" data-frame-id="52" href="#">activesupport (4.2.5) lib/active_support/notifications.rb:164:in `block in instrument'</a><br><a class="trace-frames" data-frame-id="53" href="#">activesupport (4.2.5) lib/active_support/notifications/instrumenter.rb:20:in `instrument'</a><br><a class="trace-frames" data-frame-id="54" href="#">activesupport (4.2.5) lib/active_support/notifications.rb:164:in `instrument'</a><br><a class="trace-frames" data-frame-id="55" href="#">actionpack (4.2.5) lib/action_controller/metal/instrumentation.rb:30:in `process_action'</a><br><a class="trace-frames" data-frame-id="56" href="#">actionpack (4.2.5) lib/action_controller/metal/params_wrapper.rb:250:in `process_action'</a><br><a class="trace-frames" data-frame-id="57" href="#">activerecord (4.2.5) lib/active_record/railties/controller_runtime.rb:18:in `process_action'</a><br><a class="trace-frames" data-frame-id="58" href="#">actionpack (4.2.5) lib/abstract_controller/base.rb:137:in `process'</a><br><a class="trace-frames" data-frame-id="59" href="#">actionview (4.2.5) lib/action_view/rendering.rb:30:in `process'</a><br><a class="trace-frames" data-frame-id="60" href="#">actionpack (4.2.5) lib/action_controller/metal.rb:196:in `dispatch'</a><br><a class="trace-frames" data-frame-id="61" href="#">actionpack (4.2.5) lib/action_controller/metal/rack_delegation.rb:13:in `dispatch'</a><br><a class="trace-frames" data-frame-id="62" href="#">actionpack (4.2.5) lib/action_controller/metal.rb:237:in `block in action'</a><br><a class="trace-frames" data-frame-id="63" href="#">actionpack (4.2.5) lib/action_dispatch/routing/route_set.rb:76:in `dispatch'</a><br><a class="trace-frames" data-frame-id="64" href="#">actionpack (4.2.5) lib/action_dispatch/routing/route_set.rb:45:in `serve'</a><br><a class="trace-frames" data-frame-id="65" href="#">actionpack (4.2.5) lib/action_dispatch/routing/mapper.rb:49:in `serve'</a><br><a class="trace-frames" data-frame-id="66" href="#">actionpack (4.2.5) lib/action_dispatch/journey/router.rb:43:in `block in serve'</a><br><a class="trace-frames" data-frame-id="67" href="#">actionpack (4.2.5) lib/action_dispatch/journey/router.rb:30:in `each'</a><br><a class="trace-frames" data-frame-id="68" href="#">actionpack (4.2.5) lib/action_dispatch/journey/router.rb:30:in `serve'</a><br><a class="trace-frames" data-frame-id="69" href="#">actionpack (4.2.5) lib/action_dispatch/routing/route_set.rb:817:in `call'</a><br><a class="trace-frames" data-frame-id="70" href="#">warden (1.2.6) lib/warden/manager.rb:35:in `block in call'</a><br><a class="trace-frames" data-frame-id="71" href="#">warden (1.2.6) lib/warden/manager.rb:34:in `catch'</a><br><a class="trace-frames" data-frame-id="72" href="#">warden (1.2.6) lib/warden/manager.rb:34:in `call'</a><br><a class="trace-frames" data-frame-id="73" href="#">versionist (1.5.0) lib/versionist/middleware.rb:39:in `_call'</a><br><a class="trace-frames" data-frame-id="74" href="#">versionist (1.5.0) lib/versionist/middleware.rb:17:in `call'</a><br><a class="trace-frames" data-frame-id="75" href="#">rack (1.6.4) lib/rack/etag.rb:24:in `call'</a><br><a class="trace-frames" data-frame-id="76" href="#">rack (1.6.4) lib/rack/conditionalget.rb:38:in `call'</a><br><a class="trace-frames" data-frame-id="77" href="#">rack (1.6.4) lib/rack/head.rb:13:in `call'</a><br><a class="trace-frames" data-frame-id="78" href="#">actionpack (4.2.5) lib/action_dispatch/middleware/params_parser.rb:27:in `call'</a><br><a class="trace-frames" data-frame-id="79" href="#">actionpack (4.2.5) lib/action_dispatch/middleware/flash.rb:260:in `call'</a><br><a class="trace-frames" data-frame-id="80" href="#">rack (1.6.4) lib/rack/session/abstract/id.rb:225:in `context'</a><br><a class="trace-frames" data-frame-id="81" href="#">rack (1.6.4) lib/rack/session/abstract/id.rb:220:in `call'</a><br><a class="trace-frames" data-frame-id="82" href="#">actionpack (4.2.5) lib/action_dispatch/middleware/cookies.rb:560:in `call'</a><br><a class="trace-frames" data-frame-id="83" href="#">activerecord (4.2.5) lib/active_record/query_cache.rb:36:in `call'</a><br><a class="trace-frames" data-frame-id="84" href="#">activerecord (4.2.5) lib/active_record/connection_adapters/abstract/connection_pool.rb:653:in `call'</a><br><a class="trace-frames" data-frame-id="85" href="#">activerecord (4.2.5) lib/active_record/migration.rb:377:in `call'</a><br><a class="trace-frames" data-frame-id="86" href="#">actionpack (4.2.5) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'</a><br><a class="trace-frames" data-frame-id="87" href="#">activesupport (4.2.5) lib/active_support/callbacks.rb:88:in `__run_callbacks__'</a><br><a class="trace-frames" data-frame-id="88" href="#">activesupport (4.2.5) lib/active_support/callbacks.rb:778:in `_run_call_callbacks'</a><br><a class="trace-frames" data-frame-id="89" href="#">activesupport (4.2.5) lib/active_support/callbacks.rb:81:in `run_callbacks'</a><br><a class="trace-frames" data-frame-id="90" href="#">actionpack (4.2.5) lib/action_dispatch/middleware/callbacks.rb:27:in `call'</a><br><a class="trace-frames" data-frame-id="91" href="#">actionpack (4.2.5) lib/action_dispatch/middleware/reloader.rb:73:in `call'</a><br><a class="trace-frames" data-frame-id="92" href="#">actionpack (4.2.5) lib/action_dispatch/middleware/remote_ip.rb:78:in `call'</a><br><a class="trace-frames" data-frame-id="93" href="#">actionpack (4.2.5) lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'</a><br><a class="trace-frames" data-frame-id="94" href="#">actionpack (4.2.5) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'</a><br><a class="trace-frames" data-frame-id="95" href="#">railties (4.2.5) lib/rails/rack/logger.rb:38:in `call_app'</a><br><a class="trace-frames" data-frame-id="96" href="#">railties (4.2.5) lib/rails/rack/logger.rb:20:in `block in call'</a><br><a class="trace-frames" data-frame-id="97" href="#">activesupport (4.2.5) lib/active_support/tagged_logging.rb:68:in `block in tagged'</a><br><a class="trace-frames" data-frame-id="98" href="#">activesupport (4.2.5) lib/active_support/tagged_logging.rb:26:in `tagged'</a><br><a class="trace-frames" data-frame-id="99" href="#">activesupport (4.2.5) lib/active_support/tagged_logging.rb:68:in `tagged'</a><br><a class="trace-frames" data-frame-id="100" href="#">railties (4.2.5) lib/rails/rack/logger.rb:20:in `call'</a><br><a class="trace-frames" data-frame-id="101" href="#">request_store (1.3.1) lib/request_store/middleware.rb:9:in `call'</a><br><a class="trace-frames" data-frame-id="102" href="#">actionpack (4.2.5) lib/action_dispatch/middleware/request_id.rb:21:in `call'</a><br><a class="trace-frames" data-frame-id="103" href="#">rack (1.6.4) lib/rack/methodoverride.rb:22:in `call'</a><br><a class="trace-frames" data-frame-id="104" href="#">rack (1.6.4) lib/rack/runtime.rb:18:in `call'</a><br><a class="trace-frames" data-frame-id="105" href="#">rack-timeout (0.4.2) lib/rack/timeout/core.rb:100:in `call'</a><br><a class="trace-frames" data-frame-id="106" href="#">activesupport (4.2.5) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call'</a><br><a class="trace-frames" data-frame-id="107" href="#">rack (1.6.4) lib/rack/lock.rb:17:in `call'</a><br><a class="trace-frames" data-frame-id="108" href="#">actionpack (4.2.5) lib/action_dispatch/middleware/static.rb:116:in `call'</a><br><a class="trace-frames" data-frame-id="109" href="#">rack (1.6.4) lib/rack/sendfile.rb:113:in `call'</a><br><a class="trace-frames" data-frame-id="110" href="#">railties (4.2.5) lib/rails/engine.rb:518:in `call'</a><br><a class="trace-frames" data-frame-id="111" href="#">railties (4.2.5) lib/rails/application.rb:165:in `call'</a><br><a class="trace-frames" data-frame-id="112" href="#">puma (3.4.0) lib/puma/configuration.rb:224:in `call'</a><br><a class="trace-frames" data-frame-id="113" href="#">puma (3.4.0) lib/puma/server.rb:569:in `handle_request'</a><br><a class="trace-frames" data-frame-id="114" href="#">puma (3.4.0) lib/puma/server.rb:406:in `process_client'</a><br><a class="trace-frames" data-frame-id="115" href="#">puma (3.4.0) lib/puma/server.rb:271:in `block in run'</a><br><a class="trace-frames" data-frame-id="116" href="#">puma (3.4.0) lib/puma/thread_pool.rb:114:in `block in spawn_thread'</a><br></code></pre>
3931 </div>
3932
3933 <script type="text/javascript">
3934 var traceFrames = document.getElementsByClassName('trace-frames');
3935 var selectedFrame, currentSource = document.getElementById('frame-source-0');
3936
3937 // Add click listeners for all stack frames
3938 for (var i = 0; i < traceFrames.length; i++) {
3939 traceFrames[i].addEventListener('click', function(e) {
3940 e.preventDefault();
3941 var target = e.target;
3942 var frame_id = target.dataset.frameId;
3943
3944 if (selectedFrame) {
3945 selectedFrame.className = selectedFrame.className.replace("selected", "");
3946 }
3947
3948 target.className += " selected";
3949 selectedFrame = target;
3950
3951 // Change the extracted source code
3952 changeSourceExtract(frame_id);
3953 });
3954
3955 function changeSourceExtract(frame_id) {
3956 var el = document.getElementById('frame-source-' + frame_id);
3957 if (currentSource && el) {
3958 currentSource.className += " hidden";
3959 el.className = el.className.replace(" hidden", "");
3960 currentSource = el;
3961 }
3962 }
3963 }
3964 </script>
3965</div>
3966
3967
3968
3969<h2 style="margin-top: 30px">Request</h2>
3970<p><b>Parameters</b>:</p> <pre>{"houses_ids"=>[246607,
3971 246614],
3972 "id"=>"686",
3973 "team"=>{}}</pre>
3974
3975<div class="details">
3976 <div class="summary"><a href="#" onclick="return toggleSessionDump()">Toggle session dump</a></div>
3977 <div id="session_dump" style="display:none"><pre></pre></div>
3978</div>
3979
3980<div class="details">
3981 <div class="summary"><a href="#" onclick="return toggleEnvDump()">Toggle env dump</a></div>
3982 <div id="env_dump" style="display:none"><pre>GATEWAY_INTERFACE: "CGI/1.2"
3983HTTP_ACCEPT: "*/*"
3984HTTP_ACCEPT_ENCODING: "gzip, deflate, sdch"
3985HTTP_ACCEPT_LANGUAGE: "ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4"
3986HTTP_CACHE_CONTROL: "no-cache"
3987REMOTE_ADDR: "127.0.0.1"
3988SERVER_NAME: "homesway-stage.yalantis.com"
3989SERVER_PROTOCOL: "HTTP/1.1"</pre></div>
3990</div>
3991
3992<h2 style="margin-top: 30px">Response</h2>
3993<p><b>Headers</b>:</p> <pre>None</pre>
3994
3995</div>
3996
3997
3998</body>
3999</html>