report_cat 0.2.0 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +6 -1
- data/app/controllers/report_cat/reports_controller.rb +4 -4
- data/app/helpers/report_cat/reports_helper.rb +1 -1
- data/config/routes.rb +0 -1
- data/config/version.txt +1 -0
- data/lib/report_cat/reports/cohort_report.rb +2 -2
- data/spec/controllers/report_cat/reports_controller_spec.rb +4 -13
- data/spec/coverage_spec.rb +0 -3
- data/spec/data/helpers/report_charts.html +1 -1
- data/spec/data/helpers/report_charts.html.tmp +1 -1
- data/spec/data/helpers/report_form.html.tmp +6 -6
- data/spec/data/helpers/report_form_param.html +1 -1
- data/spec/data/helpers/report_form_param.html.tmp +1 -1
- data/spec/data/helpers/report_param_checkbox.html +1 -1
- data/spec/data/helpers/report_param_checkbox.html.tmp +1 -1
- data/spec/data/helpers/report_param_date.html +3 -3
- data/spec/data/helpers/report_param_date.html.tmp +3 -3
- data/spec/data/helpers/report_param_hidden.html +1 -1
- data/spec/data/helpers/report_param_hidden.html.tmp +1 -1
- data/spec/data/helpers/report_param_select.html +1 -1
- data/spec/data/helpers/report_param_select.html.tmp +1 -1
- data/spec/data/helpers/report_param_text_field.html +1 -1
- data/spec/data/helpers/report_param_text_field.html.tmp +1 -1
- data/spec/dummy/app/controllers/application_controller.rb +2 -2
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/schema.rb +1 -12
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/log/development.log +585 -60
- data/spec/dummy/log/test.log +27483 -19298
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/-7/-7N9BG1cQiMYY8UMlmf3_4FVVMlD00ymlbTuh82WuS8.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/-k/-k2qsarLLTBlpFkpIsOhSTEvSd1QiBuEVruCHsumUTM.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/1b/1bXvRYTK2ZdyLEDfRPDSW7bzhJZV50gdM6NvQTvFIT8.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/2h/2h0qaamYnTFD4_avHFHSiCgxlqYKOn7O69EiXvWi3Kc.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/4a/4aeDnvZuq3kUksER6eQ2KNIXNEsJJrrd4Ld-C-4rVow.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/5h/5hS5RE8zl-8HOZ5-nCeS8hIq250MBZLzETNf7P2-qNY.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/98/98JiN8yZHAgg2whyhOSZoKECB2Vts6sEE1rB8-a8S24.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/9u/9u1N3fsOb157LrMB0SOXuqOkpW2nb6e9x0qEg0yfqrg.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/CC/CCrpES7jzm_6ZW6OOAWAf1dmUjmcxa_DFILHp0GxbuQ.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/D_/D_lnOlRcmOyggYZIw0knYSjfLtG5CGjdU4KUnkXS8DQ.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/G9/G9uWgu8fEBOYcTsd5PklZ2YM5Qv3y8leOsfVyQ89fSU.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/HG/HGiGgo0WGlOFXSamIrpvYPMOceEOpoPXvUAUX10rsIA.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ht/Ht4OIHWZ3aEvTS9CczoNb4b0BAzkdBZz9tkf0O8Nc24.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/IB/IBk9uSfPrQeiKuTuO3xdV2XK9HUmF56iCuX2rC5bT0Q.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/JR/JRZ7aonF7cL5EXFuhUvCT4-3_Hr9qwbjYbIxBT4f1L0.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/K8/K8mpgt9SvwiiLIjvGlppqxehWBSV5HROOdJMJl027gg.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Ll/Ll6DZTH-4gseVREwtfAjpKX2JJpuZD51B8gzyuHoAKY.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/OX/OXQFRQZ5OA2i3YtnP1fZ96aWeUC3_IIqO4fAMdR9FsM.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/P3/P3VDzxNeRNhRo3eQYTTA6z3yt7wHEx9HdCCzpvUtXJg.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/PY/PYbtB-C0kuDabmsMK06qjs0nZTja09PdFZ8viP17RfI.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/RJ/RJ_xp1ptrD7j3vgMm13iBNkRctC_D6ZRFzqJNvrSbWs.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/UI/UIatO_Unz9Spo98Wd-wJV0tjFDNeDgSJ4AC0tJnr6tg.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/cu/cuf6bBlP3IGoMUg4ufuqQsJTxLAvQm_DtOZ31leGByk.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/cw/cwXe7eRGPAiBGS7XlD2bhvZ4qxB9TQkV3AFRc7ssqWs.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/dX/dX21q6tri2xPVdZPgAm0wHhi4NHy8472aNws93A7HPk.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/de/deCXYN9Ebr5mQiIRc_U5AazbpWe6RGrrp23ctNAfasw.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hj/hj8Ir9wcVSy1KYrnWu9bpD24vDhCG3tvt-nKbNxb1Wg.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/j2/j2YZQDdtL_Ui31lyFsKhZm7fhFNBA_moHu9MFPHqiOc.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/jS/jS21YVIy2Q2WpZgXrnW1Ojo7Ksl3tyZajaIA2OnVphs.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/jU/jUktWNbR4V7n34UAZe7uJpmEofhflF0bVtIO2BgxyJ8.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/oC/oCsZTGZyV4kH8Y4OeSDUdrwfkJFPzTODZjuBKZB8oGQ.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/q6/q6BYa32YJF11eGVapO4ouNl6gayPIsARgMavlzZmoi0.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/qq/qqhkq3VxHJuYEOIVbZvMGseb6uqA-br1P_IZU8BUhjQ.cache +1 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/tB/tBQZIkEbUj7ymB0292nMX95islGqkIlkuiPBKguzFYY.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/vU/vUaTFapkH6bF-NmoOA_qhfJ8wBPXmY6kws6C_Q_WBX4.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/x7/x7KkTV3ibfIEysLB_ug5bfmnn2VLV_BldukPR3EoPBk.cache +2 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/xG/xGxEAR3tIpGm8pGJe67sPN0EUGLCwdxA3ALTwCqHATo.cache +0 -0
- data/spec/dummy/tmp/cache/assets/sprockets/v3.0/yl/ylUpFZYPy6aajpCGogjXgEtH5sBZMHJVbQCtNd2c5Aw.cache +0 -0
- data/spec/helpers/report_cat/reports_helper_spec.rb +2 -19
- data/spec/lib/report_cat/config_spec.rb +0 -6
- data/spec/lib/report_cat/core/chart_spec.rb +6 -11
- data/spec/lib/report_cat/core/column_spec.rb +0 -12
- data/spec/lib/report_cat/core/param_spec.rb +0 -7
- data/spec/lib/report_cat/core/report_spec.rb +5 -27
- data/spec/lib/report_cat/engine_spec.rb +0 -3
- data/spec/lib/report_cat/matchers/have_chart_spec.rb +0 -3
- data/spec/lib/report_cat/matchers/have_column_spec.rb +0 -3
- data/spec/lib/report_cat/matchers/have_param_spec.rb +0 -3
- data/spec/lib/report_cat/reports/cohort_report_spec.rb +0 -7
- data/spec/lib/report_cat/reports/date_range_report_spec.rb +0 -9
- data/spec/lib/report_cat_spec.rb +0 -6
- data/spec/lib/tasks/report_cat.rake_spec.rb +0 -2
- data/spec/models/report_cat/date_range_spec.rb +0 -12
- data/spec/spec_helper.rb +6 -2
- data/spec/support/setup_reports.rb +0 -1
- data/spec/views/report_cat/reports/index.html.erb_spec.rb +0 -3
- data/spec/views/report_cat/reports/show.html.erb_spec.rb +0 -3
- metadata +94 -102
- data/lib/report_cat/version.rb +0 -3
- data/spec/lib/report_cat/version_spec.rb +0 -11
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 412080d5d92a20cf248ba399182699fb565fe006
|
|
4
|
+
data.tar.gz: d89b0ccfac6986b9e02920973af27d7a6867344c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2685f7b14804b6ae6b89e528bcc5eb968a9649ad1d2887f3d625037b027cb146470eb5c9028dad937f0a6c131c38099df1ed8a168eea2ccba186168db4827888
|
|
7
|
+
data.tar.gz: 13550eca36dddfcfd1f194529e2341903b07858ecc03ae21815abc9672ea7b8e63c26c9742fee5852340078572b7c9c214907fd4f884a162acad96d13a149e1f
|
data/README.md
CHANGED
|
@@ -108,7 +108,7 @@ You can place new reports anywhere you like, but `app/reports` is the recommende
|
|
|
108
108
|
|
|
109
109
|
Add the following to ApplicationController:
|
|
110
110
|
|
|
111
|
-
|
|
111
|
+
before_action :require_reports if Rails.env.development?
|
|
112
112
|
|
|
113
113
|
def require_reports
|
|
114
114
|
silence_warnings do
|
|
@@ -129,6 +129,11 @@ without restarting the server. Please let me know if you find a better way to d
|
|
|
129
129
|
* [The Semi-Isolated Rails Engine](http://bibwild.wordpress.com/2012/05/10/the-semi-isolated-rails-engine/)
|
|
130
130
|
* [Shoulda](https://github.com/thoughtbot/shoulda-matchers)
|
|
131
131
|
|
|
132
|
+
## History
|
|
133
|
+
|
|
134
|
+
* Version 0.2.1 = Rails 4 compatible
|
|
135
|
+
* Version 5.0.0 = Rails 5 compatible
|
|
136
|
+
|
|
132
137
|
# TODO
|
|
133
138
|
|
|
134
139
|
* Ability to register "anonymous" reports of generic Report classes with factory
|
|
@@ -3,9 +3,9 @@ module ReportCat
|
|
|
3
3
|
|
|
4
4
|
layout :set_layout
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
before_action :_authenticate!
|
|
7
|
+
before_action :_authorize!
|
|
8
|
+
before_action :set_reports
|
|
9
9
|
|
|
10
10
|
def index
|
|
11
11
|
end
|
|
@@ -17,7 +17,7 @@ module ReportCat
|
|
|
17
17
|
|
|
18
18
|
respond_to do |format|
|
|
19
19
|
format.html
|
|
20
|
-
format.csv { render :
|
|
20
|
+
format.csv { render :plain => @report.to_csv, :content_type => 'text/csv' }
|
|
21
21
|
end
|
|
22
22
|
end
|
|
23
23
|
|
|
@@ -38,7 +38,7 @@ module ReportCat
|
|
|
38
38
|
end
|
|
39
39
|
|
|
40
40
|
def report_csv_link( report )
|
|
41
|
-
link_to t( :export_as_csv, :scope => :report_cat ), :params => params.merge( :format => :csv )
|
|
41
|
+
link_to t( :export_as_csv, :scope => :report_cat ), :params => params.to_unsafe_hash.merge( :format => :csv )
|
|
42
42
|
end
|
|
43
43
|
|
|
44
44
|
def report_description( report )
|
data/config/routes.rb
CHANGED
data/config/version.txt
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
500
|
|
@@ -33,7 +33,7 @@ module ReportCat
|
|
|
33
33
|
DateRange.generate( period, start_date, stop_date )
|
|
34
34
|
range = DateRange.range( period, start_date, stop_date )
|
|
35
35
|
|
|
36
|
-
range.
|
|
36
|
+
range.each_with_index { |v, i| add_column( "#{name}_#{i+1}", :float ) }
|
|
37
37
|
range.each { |r| @rows << add_row( r, range ) }
|
|
38
38
|
|
|
39
39
|
columns = @columns[ 3, @columns.length - 3 ].map { |c| c.name }
|
|
@@ -51,7 +51,7 @@ module ReportCat
|
|
|
51
51
|
total = cohort.rows.empty? ? 0 : cohort.rows[ 0 ][ i_total ]
|
|
52
52
|
row = [ date_range.start_date, date_range.stop_date, total ]
|
|
53
53
|
|
|
54
|
-
column_range.
|
|
54
|
+
column_range.each_with_index do |v, i|
|
|
55
55
|
if i >= cohort.rows.size
|
|
56
56
|
row << nil
|
|
57
57
|
else
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
1
|
describe ReportCat::ReportsController do
|
|
4
2
|
|
|
5
3
|
include SetupReports
|
|
@@ -39,7 +37,6 @@ describe ReportCat::ReportsController do
|
|
|
39
37
|
get :index
|
|
40
38
|
expect( response ).to render_template( ReportCat.config.layout )
|
|
41
39
|
end
|
|
42
|
-
|
|
43
40
|
end
|
|
44
41
|
|
|
45
42
|
#############################################################################
|
|
@@ -53,35 +50,31 @@ describe ReportCat::ReportsController do
|
|
|
53
50
|
end
|
|
54
51
|
|
|
55
52
|
it 'gets successfully' do
|
|
56
|
-
get :show, :id => @report.name
|
|
53
|
+
get :show, params: { :id => @report.name }
|
|
57
54
|
expect( response ).to be_success
|
|
58
55
|
end
|
|
59
56
|
|
|
60
57
|
it 'assigns report' do
|
|
61
|
-
get :show, :id => @report.name
|
|
58
|
+
get :show, params: { :id => @report.name }
|
|
62
59
|
expect( assigns( :report ) ).to be_an_instance_of( Report )
|
|
63
60
|
end
|
|
64
61
|
|
|
65
62
|
context 'formatting CSV' do
|
|
66
|
-
|
|
67
63
|
it 'renders CSV' do
|
|
68
|
-
get :show, :id => @report.name, :format => 'csv'
|
|
64
|
+
get :show, params: { :id => @report.name, :format => 'csv' }
|
|
69
65
|
expect( response ).to be_success
|
|
70
66
|
expect( response.content_type ).to eql( 'text/csv' )
|
|
71
67
|
end
|
|
72
|
-
|
|
73
68
|
end
|
|
74
69
|
|
|
75
70
|
context 'formatting HTML' do
|
|
76
71
|
|
|
77
72
|
it 'renders HTML' do
|
|
78
|
-
get :show, :id => @report.name, :format => 'html'
|
|
73
|
+
get :show, params: { :id => @report.name, :format => 'html' }
|
|
79
74
|
expect( response ).to be_success
|
|
80
75
|
expect( response.content_type ).to eql( 'text/html' )
|
|
81
76
|
end
|
|
82
|
-
|
|
83
77
|
end
|
|
84
|
-
|
|
85
78
|
end
|
|
86
79
|
|
|
87
80
|
#############################################################################
|
|
@@ -94,7 +87,5 @@ describe ReportCat::ReportsController do
|
|
|
94
87
|
controller.send( :set_reports )
|
|
95
88
|
expect( assigns( :reports ) ).to eql( @reports )
|
|
96
89
|
end
|
|
97
|
-
|
|
98
90
|
end
|
|
99
|
-
|
|
100
91
|
end
|
data/spec/coverage_spec.rb
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<div
|
|
1
|
+
<div class="chart" name="Pie Chart Test" chart="pie" columns="[["string","day"],["number","total"]]" data="[["2013-09-17",27],["2013-09-18",270]]" options="{}"></div><div class="chart" name="Bar Chart Test" chart="bar" columns="[["string","day"],["number","total"]]" data="[["2013-09-17",27],["2013-09-18",270]]" options="{}"></div><div class="chart" name="Line Chart Test" chart="line" columns="[["string","day"],["number","total"]]" data="[["2013-09-17",27],["2013-09-18",270]]" options="{}"></div>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<div
|
|
1
|
+
<div class="chart" name="Pie Chart Test" chart="pie" columns="[["string","day"],["number","total"]]" data="[["2013-09-17",27],["2013-09-18",270]]" options="{}"></div><div class="chart" name="Bar Chart Test" chart="bar" columns="[["string","day"],["number","total"]]" data="[["2013-09-17",27],["2013-09-18",270]]" options="{}"></div><div class="chart" name="Line Chart Test" chart="line" columns="[["string","day"],["number","total"]]" data="[["2013-09-17",27],["2013-09-18",270]]" options="{}"></div>
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
<form accept-charset="UTF-8"
|
|
1
|
+
<form action="" accept-charset="UTF-8" method="get"><input name="utf8" type="hidden" value="✓" /><div><label for="_span_class__translation_missing__title__translation_missing:_en.report_cat.params.check_box_test__Check_Box_Test__span_"><span class="translation missing" title="translation missing: en.report cat.params.check box test">check box test</span></label><input type="checkbox" name="check_box_test" id="check_box_test" value="1" /></div><div><label for="_span_class__translation_missing__title__translation_missing:_en.report_cat.params.date_test__Date_Test__span_"><span class="translation missing" title="translation missing: en.report cat.params.date test">date test</span></label><select id="date_test_year" name="date_test[year]">
|
|
2
2
|
<option value="2008">2008</option>
|
|
3
3
|
<option value="2009">2009</option>
|
|
4
4
|
<option value="2010">2010</option>
|
|
5
5
|
<option value="2011">2011</option>
|
|
6
6
|
<option value="2012">2012</option>
|
|
7
|
-
<option
|
|
7
|
+
<option value="2013" selected="selected">2013</option>
|
|
8
8
|
<option value="2014">2014</option>
|
|
9
9
|
<option value="2015">2015</option>
|
|
10
10
|
<option value="2016">2016</option>
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
<option value="6">June</option>
|
|
21
21
|
<option value="7">July</option>
|
|
22
22
|
<option value="8">August</option>
|
|
23
|
-
<option
|
|
23
|
+
<option value="9" selected="selected">September</option>
|
|
24
24
|
<option value="10">October</option>
|
|
25
25
|
<option value="11">November</option>
|
|
26
26
|
<option value="12">December</option>
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
<option value="13">13</option>
|
|
42
42
|
<option value="14">14</option>
|
|
43
43
|
<option value="15">15</option>
|
|
44
|
-
<option
|
|
44
|
+
<option value="16" selected="selected">16</option>
|
|
45
45
|
<option value="17">17</option>
|
|
46
46
|
<option value="18">18</option>
|
|
47
47
|
<option value="19">19</option>
|
|
@@ -58,6 +58,6 @@
|
|
|
58
58
|
<option value="30">30</option>
|
|
59
59
|
<option value="31">31</option>
|
|
60
60
|
</select>
|
|
61
|
-
</div><input
|
|
61
|
+
</div><input type="hidden" name="hidden_test" id="hidden_test" value="true" /><div><label for="_span_class__translation_missing__title__translation_missing:_en.report_cat.params.select_test__Select_Test__span_"><span class="translation missing" title="translation missing: en.report cat.params.select test">select test</span></label><select name="select_test" id="select_test"><option selected="selected" value="1">1</option>
|
|
62
62
|
<option value="2">2</option>
|
|
63
|
-
<option value="3">3</option></select></div><div><label for="_span_class__translation_missing__title__translation_missing:_en.report_cat.params.text_field_test__Text_Field_Test__span_"><span class="translation missing" title="translation missing: en.report cat.params.text field test">text field test</span></label><input
|
|
63
|
+
<option value="3">3</option></select></div><div><label for="_span_class__translation_missing__title__translation_missing:_en.report_cat.params.text_field_test__Text_Field_Test__span_"><span class="translation missing" title="translation missing: en.report cat.params.text field test">text field test</span></label><input type="text" name="text_field_test" id="text_field_test" /></div><input type="submit" name="commit" value="Report" data-disable-with="Report" /></form>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<div><label for="_span_class__translation_missing__title__translation_missing:_en.report_cat.params.check_box_test__Check_Box_Test__span_"><span class="translation missing" title="translation missing: en.report cat.params.check box test">check box test</span></label><input
|
|
1
|
+
<div><label for="_span_class__translation_missing__title__translation_missing:_en.report_cat.params.check_box_test__Check_Box_Test__span_"><span class="translation missing" title="translation missing: en.report cat.params.check box test">check box test</span></label><input type="checkbox" name="check_box_test" id="check_box_test" value="1" /></div>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<div><label for="_span_class__translation_missing__title__translation_missing:_en.report_cat.params.check_box_test__Check_Box_Test__span_"><span class="translation missing" title="translation missing: en.report cat.params.check box test">check box test</span></label><input
|
|
1
|
+
<div><label for="_span_class__translation_missing__title__translation_missing:_en.report_cat.params.check_box_test__Check_Box_Test__span_"><span class="translation missing" title="translation missing: en.report cat.params.check box test">check box test</span></label><input type="checkbox" name="check_box_test" id="check_box_test" value="1" /></div>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<input
|
|
1
|
+
<input type="checkbox" name="check_box_test" id="check_box_test" value="1" />
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<input
|
|
1
|
+
<input type="checkbox" name="check_box_test" id="check_box_test" value="1" />
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<option value="2010">2010</option>
|
|
5
5
|
<option value="2011">2011</option>
|
|
6
6
|
<option value="2012">2012</option>
|
|
7
|
-
<option
|
|
7
|
+
<option value="2013" selected="selected">2013</option>
|
|
8
8
|
<option value="2014">2014</option>
|
|
9
9
|
<option value="2015">2015</option>
|
|
10
10
|
<option value="2016">2016</option>
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
<option value="6">June</option>
|
|
21
21
|
<option value="7">July</option>
|
|
22
22
|
<option value="8">August</option>
|
|
23
|
-
<option
|
|
23
|
+
<option value="9" selected="selected">September</option>
|
|
24
24
|
<option value="10">October</option>
|
|
25
25
|
<option value="11">November</option>
|
|
26
26
|
<option value="12">December</option>
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
<option value="13">13</option>
|
|
42
42
|
<option value="14">14</option>
|
|
43
43
|
<option value="15">15</option>
|
|
44
|
-
<option
|
|
44
|
+
<option value="16" selected="selected">16</option>
|
|
45
45
|
<option value="17">17</option>
|
|
46
46
|
<option value="18">18</option>
|
|
47
47
|
<option value="19">19</option>
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<option value="2010">2010</option>
|
|
5
5
|
<option value="2011">2011</option>
|
|
6
6
|
<option value="2012">2012</option>
|
|
7
|
-
<option
|
|
7
|
+
<option value="2013" selected="selected">2013</option>
|
|
8
8
|
<option value="2014">2014</option>
|
|
9
9
|
<option value="2015">2015</option>
|
|
10
10
|
<option value="2016">2016</option>
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
<option value="6">June</option>
|
|
21
21
|
<option value="7">July</option>
|
|
22
22
|
<option value="8">August</option>
|
|
23
|
-
<option
|
|
23
|
+
<option value="9" selected="selected">September</option>
|
|
24
24
|
<option value="10">October</option>
|
|
25
25
|
<option value="11">November</option>
|
|
26
26
|
<option value="12">December</option>
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
<option value="13">13</option>
|
|
42
42
|
<option value="14">14</option>
|
|
43
43
|
<option value="15">15</option>
|
|
44
|
-
<option
|
|
44
|
+
<option value="16" selected="selected">16</option>
|
|
45
45
|
<option value="17">17</option>
|
|
46
46
|
<option value="18">18</option>
|
|
47
47
|
<option value="19">19</option>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<input
|
|
1
|
+
<input type="hidden" name="hidden_test" id="hidden_test" value="true" />
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<input
|
|
1
|
+
<input type="hidden" name="hidden_test" id="hidden_test" value="true" />
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<input
|
|
1
|
+
<input type="text" name="text_field_test" id="text_field_test" />
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<input
|
|
1
|
+
<input type="text" name="text_field_test" id="text_field_test" />
|
|
@@ -5,10 +5,10 @@ class ApplicationController < ActionController::Base
|
|
|
5
5
|
|
|
6
6
|
# This just makes the reports reload in development
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
before_action :require_reports if Rails.env.development?
|
|
9
9
|
|
|
10
10
|
def authenticate!
|
|
11
|
-
render :
|
|
11
|
+
render :plain => 'forbidden' unless cookies[ :login ]
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
def authorize!
|
|
Binary file
|
data/spec/dummy/db/schema.rb
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
# encoding: UTF-8
|
|
2
1
|
# This file is auto-generated from the current state of the database. Instead
|
|
3
2
|
# of editing this file, please use the migrations feature of Active Record to
|
|
4
3
|
# incrementally modify your database, and then regenerate this schema definition.
|
|
@@ -11,16 +10,6 @@
|
|
|
11
10
|
#
|
|
12
11
|
# It's strongly recommended that you check this file into your version control system.
|
|
13
12
|
|
|
14
|
-
ActiveRecord::Schema.define(version:
|
|
15
|
-
|
|
16
|
-
create_table "report_cat_date_ranges", force: true do |t|
|
|
17
|
-
t.date "start_date"
|
|
18
|
-
t.date "stop_date"
|
|
19
|
-
t.string "period"
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
add_index "report_cat_date_ranges", ["period", "start_date", "stop_date"], name: "index_report_cat_date_ranges_on_period_and_dates", unique: true
|
|
23
|
-
add_index "report_cat_date_ranges", ["period", "start_date"], name: "index_report_cat_date_ranges_on_period_and_start_date", unique: true
|
|
24
|
-
add_index "report_cat_date_ranges", ["period", "stop_date"], name: "index_report_cat_date_ranges_on_period_and_stop_date", unique: true
|
|
13
|
+
ActiveRecord::Schema.define(version: 0) do
|
|
25
14
|
|
|
26
15
|
end
|
data/spec/dummy/db/test.sqlite3
CHANGED
|
Binary file
|
|
@@ -1,61 +1,586 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
1
|
+
DEPRECATION WARNING: Using a dynamic :controller segment in a route is deprecated and will be removed in Rails 5.2. (called from block in <top (required)> at /Users/rdh/schrodingersbox/report_cat/spec/dummy/config/routes.rb:11)
|
|
2
|
+
DEPRECATION WARNING: Using a dynamic :action segment in a route is deprecated and will be removed in Rails 5.2. (called from block in <top (required)> at /Users/rdh/schrodingersbox/report_cat/spec/dummy/config/routes.rb:11)
|
|
3
|
+
Started GET "/" for ::1 at 2017-09-19 16:11:44 -0700
|
|
4
|
+
|
|
5
|
+
ActionController::RoutingError (undefined method `before_filter' for ApplicationController:Class
|
|
6
|
+
Did you mean? before_action):
|
|
7
|
+
|
|
8
|
+
app/controllers/application_controller.rb:8:in `<class:ApplicationController>'
|
|
9
|
+
app/controllers/application_controller.rb:1:in `<top (required)>'
|
|
10
|
+
app/controllers/root_controller.rb:1:in `<top (required)>'
|
|
11
|
+
Started GET "/apple-touch-icon-precomposed.png" for ::1 at 2017-09-19 16:11:44 -0700
|
|
12
|
+
|
|
13
|
+
ActionController::RoutingError (No route matches [GET] "/apple-touch-icon-precomposed.png"):
|
|
14
|
+
|
|
15
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/debug_exceptions.rb:63:in `call'
|
|
16
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call'
|
|
17
|
+
railties (5.1.4) lib/rails/rack/logger.rb:36:in `call_app'
|
|
18
|
+
railties (5.1.4) lib/rails/rack/logger.rb:24:in `block in call'
|
|
19
|
+
activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `block in tagged'
|
|
20
|
+
activesupport (5.1.4) lib/active_support/tagged_logging.rb:26:in `tagged'
|
|
21
|
+
activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `tagged'
|
|
22
|
+
railties (5.1.4) lib/rails/rack/logger.rb:24:in `call'
|
|
23
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/remote_ip.rb:79:in `call'
|
|
24
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/request_id.rb:25:in `call'
|
|
25
|
+
rack (2.0.3) lib/rack/method_override.rb:22:in `call'
|
|
26
|
+
rack (2.0.3) lib/rack/runtime.rb:22:in `call'
|
|
27
|
+
activesupport (5.1.4) lib/active_support/cache/strategy/local_cache_middleware.rb:27:in `call'
|
|
28
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/executor.rb:12:in `call'
|
|
29
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/static.rb:125:in `call'
|
|
30
|
+
rack (2.0.3) lib/rack/sendfile.rb:111:in `call'
|
|
31
|
+
railties (5.1.4) lib/rails/engine.rb:522:in `call'
|
|
32
|
+
rack (2.0.3) lib/rack/handler/webrick.rb:86:in `service'
|
|
33
|
+
/Users/rdh/.rbenv/versions/2.4.1/lib/ruby/2.4.0/webrick/httpserver.rb:140:in `service'
|
|
34
|
+
/Users/rdh/.rbenv/versions/2.4.1/lib/ruby/2.4.0/webrick/httpserver.rb:96:in `run'
|
|
35
|
+
/Users/rdh/.rbenv/versions/2.4.1/lib/ruby/2.4.0/webrick/server.rb:290:in `block in start_thread'
|
|
36
|
+
Started GET "/apple-touch-icon.png" for ::1 at 2017-09-19 16:11:49 -0700
|
|
37
|
+
|
|
38
|
+
ActionController::RoutingError (No route matches [GET] "/apple-touch-icon.png"):
|
|
39
|
+
|
|
40
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/debug_exceptions.rb:63:in `call'
|
|
41
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call'
|
|
42
|
+
railties (5.1.4) lib/rails/rack/logger.rb:36:in `call_app'
|
|
43
|
+
railties (5.1.4) lib/rails/rack/logger.rb:24:in `block in call'
|
|
44
|
+
activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `block in tagged'
|
|
45
|
+
activesupport (5.1.4) lib/active_support/tagged_logging.rb:26:in `tagged'
|
|
46
|
+
activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `tagged'
|
|
47
|
+
railties (5.1.4) lib/rails/rack/logger.rb:24:in `call'
|
|
48
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/remote_ip.rb:79:in `call'
|
|
49
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/request_id.rb:25:in `call'
|
|
50
|
+
rack (2.0.3) lib/rack/method_override.rb:22:in `call'
|
|
51
|
+
rack (2.0.3) lib/rack/runtime.rb:22:in `call'
|
|
52
|
+
activesupport (5.1.4) lib/active_support/cache/strategy/local_cache_middleware.rb:27:in `call'
|
|
53
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/executor.rb:12:in `call'
|
|
54
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/static.rb:125:in `call'
|
|
55
|
+
rack (2.0.3) lib/rack/sendfile.rb:111:in `call'
|
|
56
|
+
railties (5.1.4) lib/rails/engine.rb:522:in `call'
|
|
57
|
+
rack (2.0.3) lib/rack/handler/webrick.rb:86:in `service'
|
|
58
|
+
/Users/rdh/.rbenv/versions/2.4.1/lib/ruby/2.4.0/webrick/httpserver.rb:140:in `service'
|
|
59
|
+
/Users/rdh/.rbenv/versions/2.4.1/lib/ruby/2.4.0/webrick/httpserver.rb:96:in `run'
|
|
60
|
+
/Users/rdh/.rbenv/versions/2.4.1/lib/ruby/2.4.0/webrick/server.rb:290:in `block in start_thread'
|
|
61
|
+
Started GET "/" for ::1 at 2017-09-19 16:12:18 -0700
|
|
62
|
+
DEPRECATION WARNING: Using a dynamic :controller segment in a route is deprecated and will be removed in Rails 5.2. (called from block in <top (required)> at /Users/rdh/schrodingersbox/report_cat/spec/dummy/config/routes.rb:11)
|
|
63
|
+
DEPRECATION WARNING: Using a dynamic :action segment in a route is deprecated and will be removed in Rails 5.2. (called from block in <top (required)> at /Users/rdh/schrodingersbox/report_cat/spec/dummy/config/routes.rb:11)
|
|
64
|
+
Processing by RootController#index as HTML
|
|
65
|
+
Rendering root/index.html.erb within layouts/application
|
|
66
|
+
Rendered root/index.html.erb within layouts/application (0.3ms)
|
|
67
|
+
Completed 200 OK in 307ms (Views: 189.1ms)
|
|
61
68
|
|
|
69
|
+
|
|
70
|
+
Started GET "/assets/application.self-f9e7c1541e1b8783561468c59162bd896007380f5a3799ef2169d3a3fdf40bed.css?body=1" for ::1 at 2017-09-19 16:12:18 -0700
|
|
71
|
+
Started GET "/assets/application.self-de3615060568b463d43b07d97e54e44d624bb66c323372bf19f0d7cab7415efb.js?body=1" for ::1 at 2017-09-19 16:12:19 -0700
|
|
72
|
+
Started GET "/" for ::1 at 2017-09-19 16:12:36 -0700
|
|
73
|
+
Processing by RootController#index as HTML
|
|
74
|
+
Rendering root/index.html.erb within layouts/application
|
|
75
|
+
Rendered root/index.html.erb within layouts/application (0.3ms)
|
|
76
|
+
Completed 200 OK in 8ms (Views: 7.1ms)
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
Started GET "/report_cat" for ::1 at 2017-09-19 16:12:39 -0700
|
|
80
|
+
Processing by ReportCat::ReportsController#index as HTML
|
|
81
|
+
Rendering /Users/rdh/schrodingersbox/report_cat/app/views/report_cat/reports/index.html.erb within layouts/admin
|
|
82
|
+
Rendered /Users/rdh/schrodingersbox/report_cat/app/views/report_cat/reports/index.html.erb within layouts/admin (21.5ms)
|
|
83
|
+
Completed 500 Internal Server Error in 39ms
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
ActionView::Template::Error (undefined method `values' for nil:NilClass):
|
|
88
|
+
1: <h1><%= report_title %></h1>
|
|
89
|
+
2: <%= report_list( @reports ) %>
|
|
90
|
+
|
|
91
|
+
app/controllers/application_controller.rb:11:in `authenticate!'
|
|
92
|
+
config/initializers/report_cat.rb:4:in `block (2 levels) in <top (required)>'
|
|
93
|
+
Started GET "/login" for ::1 at 2017-09-19 16:12:58 -0700
|
|
94
|
+
DEPRECATION WARNING: Using a dynamic :controller segment in a route is deprecated and will be removed in Rails 5.2. (called from block in <top (required)> at /Users/rdh/schrodingersbox/report_cat/spec/dummy/config/routes.rb:11)
|
|
95
|
+
DEPRECATION WARNING: Using a dynamic :action segment in a route is deprecated and will be removed in Rails 5.2. (called from block in <top (required)> at /Users/rdh/schrodingersbox/report_cat/spec/dummy/config/routes.rb:11)
|
|
96
|
+
Processing by RootController#login as HTML
|
|
97
|
+
Redirected to http://localhost:3000/
|
|
98
|
+
Completed 302 Found in 3ms
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
Started GET "/" for ::1 at 2017-09-19 16:12:58 -0700
|
|
102
|
+
Processing by RootController#index as HTML
|
|
103
|
+
Rendering root/index.html.erb within layouts/application
|
|
104
|
+
Rendered root/index.html.erb within layouts/application (0.3ms)
|
|
105
|
+
Completed 200 OK in 9ms (Views: 8.1ms)
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
Started GET "/report_cat" for ::1 at 2017-09-19 16:13:02 -0700
|
|
109
|
+
Processing by ReportCat::ReportsController#index as HTML
|
|
110
|
+
Rendering /Users/rdh/schrodingersbox/report_cat/app/views/report_cat/reports/index.html.erb within layouts/admin
|
|
111
|
+
Rendered /Users/rdh/schrodingersbox/report_cat/app/views/report_cat/reports/index.html.erb within layouts/admin (3.6ms)
|
|
112
|
+
Completed 200 OK in 40ms (Views: 10.6ms)
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
Started GET "/report_cat/reports/retention_cohort_report" for ::1 at 2017-09-19 16:13:05 -0700
|
|
116
|
+
Processing by ReportCat::ReportsController#show as HTML
|
|
117
|
+
Parameters: {"id"=>"retention_cohort_report"}
|
|
118
|
+
[1m[36mReportCat::DateRange Load (0.3ms)[0m [1m[34mSELECT "report_cat_date_ranges".* FROM "report_cat_date_ranges" WHERE ( (
|
|
119
|
+
report_cat_date_ranges.start_date between '2017-09-12' and '2017-09-19'
|
|
120
|
+
or
|
|
121
|
+
'2017-09-12' between report_cat_date_ranges.start_date and report_cat_date_ranges.stop_date
|
|
122
|
+
)
|
|
123
|
+
and report_cat_date_ranges.period = 'weekly') ORDER BY report_cat_date_ranges.start_date asc[0m
|
|
124
|
+
Completed 500 Internal Server Error in 11ms (ActiveRecord: 0.6ms)
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
ActiveRecord::StatementInvalid (SQLite3::SQLException: no such table: report_cat_date_ranges: SELECT "report_cat_date_ranges".* FROM "report_cat_date_ranges" WHERE ( (
|
|
129
|
+
report_cat_date_ranges.start_date between '2017-09-12' and '2017-09-19'
|
|
130
|
+
or
|
|
131
|
+
'2017-09-12' between report_cat_date_ranges.start_date and report_cat_date_ranges.stop_date
|
|
132
|
+
)
|
|
133
|
+
and report_cat_date_ranges.period = 'weekly') ORDER BY report_cat_date_ranges.start_date asc):
|
|
134
|
+
|
|
135
|
+
sqlite3 (1.3.13) lib/sqlite3/database.rb:91:in `initialize'
|
|
136
|
+
sqlite3 (1.3.13) lib/sqlite3/database.rb:91:in `new'
|
|
137
|
+
sqlite3 (1.3.13) lib/sqlite3/database.rb:91:in `prepare'
|
|
138
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/sqlite3_adapter.rb:212:in `block (2 levels) in exec_query'
|
|
139
|
+
activesupport (5.1.4) lib/active_support/dependencies/interlock.rb:46:in `block in permit_concurrent_loads'
|
|
140
|
+
activesupport (5.1.4) lib/active_support/concurrency/share_lock.rb:185:in `yield_shares'
|
|
141
|
+
activesupport (5.1.4) lib/active_support/dependencies/interlock.rb:45:in `permit_concurrent_loads'
|
|
142
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/sqlite3_adapter.rb:209:in `block in exec_query'
|
|
143
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/abstract_adapter.rb:612:in `block (2 levels) in log'
|
|
144
|
+
/Users/rdh/.rbenv/versions/2.4.1/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize'
|
|
145
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/abstract_adapter.rb:611:in `block in log'
|
|
146
|
+
activesupport (5.1.4) lib/active_support/notifications/instrumenter.rb:21:in `instrument'
|
|
147
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/abstract_adapter.rb:603:in `log'
|
|
148
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/sqlite3_adapter.rb:208:in `exec_query'
|
|
149
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/abstract/database_statements.rb:371:in `select'
|
|
150
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/abstract/database_statements.rb:42:in `select_all'
|
|
151
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/abstract/query_cache.rb:95:in `block in select_all'
|
|
152
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/abstract/query_cache.rb:117:in `block in cache_sql'
|
|
153
|
+
/Users/rdh/.rbenv/versions/2.4.1/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize'
|
|
154
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/abstract/query_cache.rb:104:in `cache_sql'
|
|
155
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/abstract/query_cache.rb:95:in `select_all'
|
|
156
|
+
activerecord (5.1.4) lib/active_record/querying.rb:39:in `find_by_sql'
|
|
157
|
+
activerecord (5.1.4) lib/active_record/relation.rb:667:in `exec_queries'
|
|
158
|
+
activerecord (5.1.4) lib/active_record/relation.rb:546:in `load'
|
|
159
|
+
activerecord (5.1.4) lib/active_record/relation.rb:255:in `records'
|
|
160
|
+
activerecord (5.1.4) lib/active_record/relation/delegation.rb:39:in `each'
|
|
161
|
+
/Users/rdh/schrodingersbox/report_cat/app/models/report_cat/date_range.rb:18:in `generate'
|
|
162
|
+
/Users/rdh/schrodingersbox/report_cat/lib/report_cat/reports/cohort_report.rb:33:in `query'
|
|
163
|
+
/Users/rdh/schrodingersbox/report_cat/lib/report_cat/core/report.rb:80:in `generate'
|
|
164
|
+
/Users/rdh/schrodingersbox/report_cat/app/controllers/report_cat/reports_controller.rb:16:in `show'
|
|
165
|
+
actionpack (5.1.4) lib/action_controller/metal/basic_implicit_render.rb:4:in `send_action'
|
|
166
|
+
actionpack (5.1.4) lib/abstract_controller/base.rb:186:in `process_action'
|
|
167
|
+
actionpack (5.1.4) lib/action_controller/metal/rendering.rb:30:in `process_action'
|
|
168
|
+
actionpack (5.1.4) lib/abstract_controller/callbacks.rb:20:in `block in process_action'
|
|
169
|
+
activesupport (5.1.4) lib/active_support/callbacks.rb:131:in `run_callbacks'
|
|
170
|
+
actionpack (5.1.4) lib/abstract_controller/callbacks.rb:19:in `process_action'
|
|
171
|
+
actionpack (5.1.4) lib/action_controller/metal/rescue.rb:20:in `process_action'
|
|
172
|
+
actionpack (5.1.4) lib/action_controller/metal/instrumentation.rb:32:in `block in process_action'
|
|
173
|
+
activesupport (5.1.4) lib/active_support/notifications.rb:166:in `block in instrument'
|
|
174
|
+
activesupport (5.1.4) lib/active_support/notifications/instrumenter.rb:21:in `instrument'
|
|
175
|
+
activesupport (5.1.4) lib/active_support/notifications.rb:166:in `instrument'
|
|
176
|
+
actionpack (5.1.4) lib/action_controller/metal/instrumentation.rb:30:in `process_action'
|
|
177
|
+
actionpack (5.1.4) lib/action_controller/metal/params_wrapper.rb:252:in `process_action'
|
|
178
|
+
activerecord (5.1.4) lib/active_record/railties/controller_runtime.rb:22:in `process_action'
|
|
179
|
+
actionpack (5.1.4) lib/abstract_controller/base.rb:124:in `process'
|
|
180
|
+
actionview (5.1.4) lib/action_view/rendering.rb:30:in `process'
|
|
181
|
+
actionpack (5.1.4) lib/action_controller/metal.rb:189:in `dispatch'
|
|
182
|
+
actionpack (5.1.4) lib/action_controller/metal.rb:253:in `dispatch'
|
|
183
|
+
actionpack (5.1.4) lib/action_dispatch/routing/route_set.rb:49:in `dispatch'
|
|
184
|
+
actionpack (5.1.4) lib/action_dispatch/routing/route_set.rb:31:in `serve'
|
|
185
|
+
actionpack (5.1.4) lib/action_dispatch/journey/router.rb:50:in `block in serve'
|
|
186
|
+
actionpack (5.1.4) lib/action_dispatch/journey/router.rb:33:in `each'
|
|
187
|
+
actionpack (5.1.4) lib/action_dispatch/journey/router.rb:33:in `serve'
|
|
188
|
+
actionpack (5.1.4) lib/action_dispatch/routing/route_set.rb:834:in `call'
|
|
189
|
+
railties (5.1.4) lib/rails/engine.rb:522:in `call'
|
|
190
|
+
railties (5.1.4) lib/rails/railtie.rb:185:in `public_send'
|
|
191
|
+
railties (5.1.4) lib/rails/railtie.rb:185:in `method_missing'
|
|
192
|
+
actionpack (5.1.4) lib/action_dispatch/routing/mapper.rb:17:in `block in <class:Constraints>'
|
|
193
|
+
actionpack (5.1.4) lib/action_dispatch/routing/mapper.rb:46:in `serve'
|
|
194
|
+
actionpack (5.1.4) lib/action_dispatch/journey/router.rb:50:in `block in serve'
|
|
195
|
+
actionpack (5.1.4) lib/action_dispatch/journey/router.rb:33:in `each'
|
|
196
|
+
actionpack (5.1.4) lib/action_dispatch/journey/router.rb:33:in `serve'
|
|
197
|
+
actionpack (5.1.4) lib/action_dispatch/routing/route_set.rb:834:in `call'
|
|
198
|
+
rack (2.0.3) lib/rack/etag.rb:25:in `call'
|
|
199
|
+
rack (2.0.3) lib/rack/conditional_get.rb:25:in `call'
|
|
200
|
+
rack (2.0.3) lib/rack/head.rb:12:in `call'
|
|
201
|
+
rack (2.0.3) lib/rack/session/abstract/id.rb:232:in `context'
|
|
202
|
+
rack (2.0.3) lib/rack/session/abstract/id.rb:226:in `call'
|
|
203
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/cookies.rb:613:in `call'
|
|
204
|
+
activerecord (5.1.4) lib/active_record/migration.rb:556:in `call'
|
|
205
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/callbacks.rb:26:in `block in call'
|
|
206
|
+
activesupport (5.1.4) lib/active_support/callbacks.rb:97:in `run_callbacks'
|
|
207
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/callbacks.rb:24:in `call'
|
|
208
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/executor.rb:12:in `call'
|
|
209
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/debug_exceptions.rb:59:in `call'
|
|
210
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call'
|
|
211
|
+
railties (5.1.4) lib/rails/rack/logger.rb:36:in `call_app'
|
|
212
|
+
railties (5.1.4) lib/rails/rack/logger.rb:24:in `block in call'
|
|
213
|
+
activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `block in tagged'
|
|
214
|
+
activesupport (5.1.4) lib/active_support/tagged_logging.rb:26:in `tagged'
|
|
215
|
+
activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `tagged'
|
|
216
|
+
railties (5.1.4) lib/rails/rack/logger.rb:24:in `call'
|
|
217
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/remote_ip.rb:79:in `call'
|
|
218
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/request_id.rb:25:in `call'
|
|
219
|
+
rack (2.0.3) lib/rack/method_override.rb:22:in `call'
|
|
220
|
+
rack (2.0.3) lib/rack/runtime.rb:22:in `call'
|
|
221
|
+
activesupport (5.1.4) lib/active_support/cache/strategy/local_cache_middleware.rb:27:in `call'
|
|
222
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/executor.rb:12:in `call'
|
|
223
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/static.rb:125:in `call'
|
|
224
|
+
rack (2.0.3) lib/rack/sendfile.rb:111:in `call'
|
|
225
|
+
railties (5.1.4) lib/rails/engine.rb:522:in `call'
|
|
226
|
+
rack (2.0.3) lib/rack/handler/webrick.rb:86:in `service'
|
|
227
|
+
/Users/rdh/.rbenv/versions/2.4.1/lib/ruby/2.4.0/webrick/httpserver.rb:140:in `service'
|
|
228
|
+
/Users/rdh/.rbenv/versions/2.4.1/lib/ruby/2.4.0/webrick/httpserver.rb:96:in `run'
|
|
229
|
+
/Users/rdh/.rbenv/versions/2.4.1/lib/ruby/2.4.0/webrick/server.rb:290:in `block in start_thread'
|
|
230
|
+
Started GET "/report_cat/reports/retention_report" for ::1 at 2017-09-19 16:13:06 -0700
|
|
231
|
+
Processing by ReportCat::ReportsController#show as HTML
|
|
232
|
+
Parameters: {"id"=>"retention_report"}
|
|
233
|
+
[1m[36mReportCat::DateRange Load (0.2ms)[0m [1m[34mSELECT "report_cat_date_ranges".* FROM "report_cat_date_ranges" WHERE ( (
|
|
234
|
+
report_cat_date_ranges.start_date between '2017-09-12' and '2017-09-19'
|
|
235
|
+
or
|
|
236
|
+
'2017-09-12' between report_cat_date_ranges.start_date and report_cat_date_ranges.stop_date
|
|
237
|
+
)
|
|
238
|
+
and report_cat_date_ranges.period = 'weekly') ORDER BY report_cat_date_ranges.start_date asc[0m
|
|
239
|
+
Completed 500 Internal Server Error in 2ms (ActiveRecord: 0.2ms)
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
|
|
243
|
+
ActiveRecord::StatementInvalid (SQLite3::SQLException: no such table: report_cat_date_ranges: SELECT "report_cat_date_ranges".* FROM "report_cat_date_ranges" WHERE ( (
|
|
244
|
+
report_cat_date_ranges.start_date between '2017-09-12' and '2017-09-19'
|
|
245
|
+
or
|
|
246
|
+
'2017-09-12' between report_cat_date_ranges.start_date and report_cat_date_ranges.stop_date
|
|
247
|
+
)
|
|
248
|
+
and report_cat_date_ranges.period = 'weekly') ORDER BY report_cat_date_ranges.start_date asc):
|
|
249
|
+
|
|
250
|
+
sqlite3 (1.3.13) lib/sqlite3/database.rb:91:in `initialize'
|
|
251
|
+
sqlite3 (1.3.13) lib/sqlite3/database.rb:91:in `new'
|
|
252
|
+
sqlite3 (1.3.13) lib/sqlite3/database.rb:91:in `prepare'
|
|
253
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/sqlite3_adapter.rb:212:in `block (2 levels) in exec_query'
|
|
254
|
+
activesupport (5.1.4) lib/active_support/dependencies/interlock.rb:46:in `block in permit_concurrent_loads'
|
|
255
|
+
activesupport (5.1.4) lib/active_support/concurrency/share_lock.rb:185:in `yield_shares'
|
|
256
|
+
activesupport (5.1.4) lib/active_support/dependencies/interlock.rb:45:in `permit_concurrent_loads'
|
|
257
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/sqlite3_adapter.rb:209:in `block in exec_query'
|
|
258
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/abstract_adapter.rb:612:in `block (2 levels) in log'
|
|
259
|
+
/Users/rdh/.rbenv/versions/2.4.1/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize'
|
|
260
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/abstract_adapter.rb:611:in `block in log'
|
|
261
|
+
activesupport (5.1.4) lib/active_support/notifications/instrumenter.rb:21:in `instrument'
|
|
262
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/abstract_adapter.rb:603:in `log'
|
|
263
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/sqlite3_adapter.rb:208:in `exec_query'
|
|
264
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/abstract/database_statements.rb:371:in `select'
|
|
265
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/abstract/database_statements.rb:42:in `select_all'
|
|
266
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/abstract/query_cache.rb:95:in `block in select_all'
|
|
267
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/abstract/query_cache.rb:117:in `block in cache_sql'
|
|
268
|
+
/Users/rdh/.rbenv/versions/2.4.1/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize'
|
|
269
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/abstract/query_cache.rb:104:in `cache_sql'
|
|
270
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/abstract/query_cache.rb:95:in `select_all'
|
|
271
|
+
activerecord (5.1.4) lib/active_record/querying.rb:39:in `find_by_sql'
|
|
272
|
+
activerecord (5.1.4) lib/active_record/relation.rb:667:in `exec_queries'
|
|
273
|
+
activerecord (5.1.4) lib/active_record/relation.rb:546:in `load'
|
|
274
|
+
activerecord (5.1.4) lib/active_record/relation.rb:255:in `records'
|
|
275
|
+
activerecord (5.1.4) lib/active_record/relation/delegation.rb:39:in `each'
|
|
276
|
+
/Users/rdh/schrodingersbox/report_cat/app/models/report_cat/date_range.rb:18:in `generate'
|
|
277
|
+
/Users/rdh/schrodingersbox/report_cat/lib/report_cat/reports/date_range_report.rb:33:in `query'
|
|
278
|
+
/Users/rdh/schrodingersbox/report_cat/lib/report_cat/core/report.rb:80:in `generate'
|
|
279
|
+
/Users/rdh/schrodingersbox/report_cat/app/controllers/report_cat/reports_controller.rb:16:in `show'
|
|
280
|
+
actionpack (5.1.4) lib/action_controller/metal/basic_implicit_render.rb:4:in `send_action'
|
|
281
|
+
actionpack (5.1.4) lib/abstract_controller/base.rb:186:in `process_action'
|
|
282
|
+
actionpack (5.1.4) lib/action_controller/metal/rendering.rb:30:in `process_action'
|
|
283
|
+
actionpack (5.1.4) lib/abstract_controller/callbacks.rb:20:in `block in process_action'
|
|
284
|
+
activesupport (5.1.4) lib/active_support/callbacks.rb:131:in `run_callbacks'
|
|
285
|
+
actionpack (5.1.4) lib/abstract_controller/callbacks.rb:19:in `process_action'
|
|
286
|
+
actionpack (5.1.4) lib/action_controller/metal/rescue.rb:20:in `process_action'
|
|
287
|
+
actionpack (5.1.4) lib/action_controller/metal/instrumentation.rb:32:in `block in process_action'
|
|
288
|
+
activesupport (5.1.4) lib/active_support/notifications.rb:166:in `block in instrument'
|
|
289
|
+
activesupport (5.1.4) lib/active_support/notifications/instrumenter.rb:21:in `instrument'
|
|
290
|
+
activesupport (5.1.4) lib/active_support/notifications.rb:166:in `instrument'
|
|
291
|
+
actionpack (5.1.4) lib/action_controller/metal/instrumentation.rb:30:in `process_action'
|
|
292
|
+
actionpack (5.1.4) lib/action_controller/metal/params_wrapper.rb:252:in `process_action'
|
|
293
|
+
activerecord (5.1.4) lib/active_record/railties/controller_runtime.rb:22:in `process_action'
|
|
294
|
+
actionpack (5.1.4) lib/abstract_controller/base.rb:124:in `process'
|
|
295
|
+
actionview (5.1.4) lib/action_view/rendering.rb:30:in `process'
|
|
296
|
+
actionpack (5.1.4) lib/action_controller/metal.rb:189:in `dispatch'
|
|
297
|
+
actionpack (5.1.4) lib/action_controller/metal.rb:253:in `dispatch'
|
|
298
|
+
actionpack (5.1.4) lib/action_dispatch/routing/route_set.rb:49:in `dispatch'
|
|
299
|
+
actionpack (5.1.4) lib/action_dispatch/routing/route_set.rb:31:in `serve'
|
|
300
|
+
actionpack (5.1.4) lib/action_dispatch/journey/router.rb:50:in `block in serve'
|
|
301
|
+
actionpack (5.1.4) lib/action_dispatch/journey/router.rb:33:in `each'
|
|
302
|
+
actionpack (5.1.4) lib/action_dispatch/journey/router.rb:33:in `serve'
|
|
303
|
+
actionpack (5.1.4) lib/action_dispatch/routing/route_set.rb:834:in `call'
|
|
304
|
+
railties (5.1.4) lib/rails/engine.rb:522:in `call'
|
|
305
|
+
railties (5.1.4) lib/rails/railtie.rb:185:in `public_send'
|
|
306
|
+
railties (5.1.4) lib/rails/railtie.rb:185:in `method_missing'
|
|
307
|
+
actionpack (5.1.4) lib/action_dispatch/routing/mapper.rb:17:in `block in <class:Constraints>'
|
|
308
|
+
actionpack (5.1.4) lib/action_dispatch/routing/mapper.rb:46:in `serve'
|
|
309
|
+
actionpack (5.1.4) lib/action_dispatch/journey/router.rb:50:in `block in serve'
|
|
310
|
+
actionpack (5.1.4) lib/action_dispatch/journey/router.rb:33:in `each'
|
|
311
|
+
actionpack (5.1.4) lib/action_dispatch/journey/router.rb:33:in `serve'
|
|
312
|
+
actionpack (5.1.4) lib/action_dispatch/routing/route_set.rb:834:in `call'
|
|
313
|
+
rack (2.0.3) lib/rack/etag.rb:25:in `call'
|
|
314
|
+
rack (2.0.3) lib/rack/conditional_get.rb:25:in `call'
|
|
315
|
+
rack (2.0.3) lib/rack/head.rb:12:in `call'
|
|
316
|
+
rack (2.0.3) lib/rack/session/abstract/id.rb:232:in `context'
|
|
317
|
+
rack (2.0.3) lib/rack/session/abstract/id.rb:226:in `call'
|
|
318
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/cookies.rb:613:in `call'
|
|
319
|
+
activerecord (5.1.4) lib/active_record/migration.rb:556:in `call'
|
|
320
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/callbacks.rb:26:in `block in call'
|
|
321
|
+
activesupport (5.1.4) lib/active_support/callbacks.rb:97:in `run_callbacks'
|
|
322
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/callbacks.rb:24:in `call'
|
|
323
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/executor.rb:12:in `call'
|
|
324
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/debug_exceptions.rb:59:in `call'
|
|
325
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call'
|
|
326
|
+
railties (5.1.4) lib/rails/rack/logger.rb:36:in `call_app'
|
|
327
|
+
railties (5.1.4) lib/rails/rack/logger.rb:24:in `block in call'
|
|
328
|
+
activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `block in tagged'
|
|
329
|
+
activesupport (5.1.4) lib/active_support/tagged_logging.rb:26:in `tagged'
|
|
330
|
+
activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `tagged'
|
|
331
|
+
railties (5.1.4) lib/rails/rack/logger.rb:24:in `call'
|
|
332
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/remote_ip.rb:79:in `call'
|
|
333
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/request_id.rb:25:in `call'
|
|
334
|
+
rack (2.0.3) lib/rack/method_override.rb:22:in `call'
|
|
335
|
+
rack (2.0.3) lib/rack/runtime.rb:22:in `call'
|
|
336
|
+
activesupport (5.1.4) lib/active_support/cache/strategy/local_cache_middleware.rb:27:in `call'
|
|
337
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/executor.rb:12:in `call'
|
|
338
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/static.rb:125:in `call'
|
|
339
|
+
rack (2.0.3) lib/rack/sendfile.rb:111:in `call'
|
|
340
|
+
railties (5.1.4) lib/rails/engine.rb:522:in `call'
|
|
341
|
+
rack (2.0.3) lib/rack/handler/webrick.rb:86:in `service'
|
|
342
|
+
/Users/rdh/.rbenv/versions/2.4.1/lib/ruby/2.4.0/webrick/httpserver.rb:140:in `service'
|
|
343
|
+
/Users/rdh/.rbenv/versions/2.4.1/lib/ruby/2.4.0/webrick/httpserver.rb:96:in `run'
|
|
344
|
+
/Users/rdh/.rbenv/versions/2.4.1/lib/ruby/2.4.0/webrick/server.rb:290:in `block in start_thread'
|
|
345
|
+
Started GET "/report_cat/reports/user_report" for ::1 at 2017-09-19 16:13:07 -0700
|
|
346
|
+
Processing by ReportCat::ReportsController#show as HTML
|
|
347
|
+
Parameters: {"id"=>"user_report"}
|
|
348
|
+
[1m[36mReportCat::DateRange Load (0.2ms)[0m [1m[34mSELECT "report_cat_date_ranges".* FROM "report_cat_date_ranges" WHERE ( (
|
|
349
|
+
report_cat_date_ranges.start_date between '2017-09-12' and '2017-09-19'
|
|
350
|
+
or
|
|
351
|
+
'2017-09-12' between report_cat_date_ranges.start_date and report_cat_date_ranges.stop_date
|
|
352
|
+
)
|
|
353
|
+
and report_cat_date_ranges.period = 'weekly') ORDER BY report_cat_date_ranges.start_date asc[0m
|
|
354
|
+
Completed 500 Internal Server Error in 2ms (ActiveRecord: 0.2ms)
|
|
355
|
+
|
|
356
|
+
|
|
357
|
+
|
|
358
|
+
ActiveRecord::StatementInvalid (SQLite3::SQLException: no such table: report_cat_date_ranges: SELECT "report_cat_date_ranges".* FROM "report_cat_date_ranges" WHERE ( (
|
|
359
|
+
report_cat_date_ranges.start_date between '2017-09-12' and '2017-09-19'
|
|
360
|
+
or
|
|
361
|
+
'2017-09-12' between report_cat_date_ranges.start_date and report_cat_date_ranges.stop_date
|
|
362
|
+
)
|
|
363
|
+
and report_cat_date_ranges.period = 'weekly') ORDER BY report_cat_date_ranges.start_date asc):
|
|
364
|
+
|
|
365
|
+
sqlite3 (1.3.13) lib/sqlite3/database.rb:91:in `initialize'
|
|
366
|
+
sqlite3 (1.3.13) lib/sqlite3/database.rb:91:in `new'
|
|
367
|
+
sqlite3 (1.3.13) lib/sqlite3/database.rb:91:in `prepare'
|
|
368
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/sqlite3_adapter.rb:212:in `block (2 levels) in exec_query'
|
|
369
|
+
activesupport (5.1.4) lib/active_support/dependencies/interlock.rb:46:in `block in permit_concurrent_loads'
|
|
370
|
+
activesupport (5.1.4) lib/active_support/concurrency/share_lock.rb:185:in `yield_shares'
|
|
371
|
+
activesupport (5.1.4) lib/active_support/dependencies/interlock.rb:45:in `permit_concurrent_loads'
|
|
372
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/sqlite3_adapter.rb:209:in `block in exec_query'
|
|
373
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/abstract_adapter.rb:612:in `block (2 levels) in log'
|
|
374
|
+
/Users/rdh/.rbenv/versions/2.4.1/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize'
|
|
375
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/abstract_adapter.rb:611:in `block in log'
|
|
376
|
+
activesupport (5.1.4) lib/active_support/notifications/instrumenter.rb:21:in `instrument'
|
|
377
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/abstract_adapter.rb:603:in `log'
|
|
378
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/sqlite3_adapter.rb:208:in `exec_query'
|
|
379
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/abstract/database_statements.rb:371:in `select'
|
|
380
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/abstract/database_statements.rb:42:in `select_all'
|
|
381
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/abstract/query_cache.rb:95:in `block in select_all'
|
|
382
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/abstract/query_cache.rb:117:in `block in cache_sql'
|
|
383
|
+
/Users/rdh/.rbenv/versions/2.4.1/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize'
|
|
384
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/abstract/query_cache.rb:104:in `cache_sql'
|
|
385
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/abstract/query_cache.rb:95:in `select_all'
|
|
386
|
+
activerecord (5.1.4) lib/active_record/querying.rb:39:in `find_by_sql'
|
|
387
|
+
activerecord (5.1.4) lib/active_record/relation.rb:667:in `exec_queries'
|
|
388
|
+
activerecord (5.1.4) lib/active_record/relation.rb:546:in `load'
|
|
389
|
+
activerecord (5.1.4) lib/active_record/relation.rb:255:in `records'
|
|
390
|
+
activerecord (5.1.4) lib/active_record/relation/delegation.rb:39:in `each'
|
|
391
|
+
/Users/rdh/schrodingersbox/report_cat/app/models/report_cat/date_range.rb:18:in `generate'
|
|
392
|
+
/Users/rdh/schrodingersbox/report_cat/lib/report_cat/reports/date_range_report.rb:33:in `query'
|
|
393
|
+
/Users/rdh/schrodingersbox/report_cat/lib/report_cat/core/report.rb:80:in `generate'
|
|
394
|
+
/Users/rdh/schrodingersbox/report_cat/app/controllers/report_cat/reports_controller.rb:16:in `show'
|
|
395
|
+
actionpack (5.1.4) lib/action_controller/metal/basic_implicit_render.rb:4:in `send_action'
|
|
396
|
+
actionpack (5.1.4) lib/abstract_controller/base.rb:186:in `process_action'
|
|
397
|
+
actionpack (5.1.4) lib/action_controller/metal/rendering.rb:30:in `process_action'
|
|
398
|
+
actionpack (5.1.4) lib/abstract_controller/callbacks.rb:20:in `block in process_action'
|
|
399
|
+
activesupport (5.1.4) lib/active_support/callbacks.rb:131:in `run_callbacks'
|
|
400
|
+
actionpack (5.1.4) lib/abstract_controller/callbacks.rb:19:in `process_action'
|
|
401
|
+
actionpack (5.1.4) lib/action_controller/metal/rescue.rb:20:in `process_action'
|
|
402
|
+
actionpack (5.1.4) lib/action_controller/metal/instrumentation.rb:32:in `block in process_action'
|
|
403
|
+
activesupport (5.1.4) lib/active_support/notifications.rb:166:in `block in instrument'
|
|
404
|
+
activesupport (5.1.4) lib/active_support/notifications/instrumenter.rb:21:in `instrument'
|
|
405
|
+
activesupport (5.1.4) lib/active_support/notifications.rb:166:in `instrument'
|
|
406
|
+
actionpack (5.1.4) lib/action_controller/metal/instrumentation.rb:30:in `process_action'
|
|
407
|
+
actionpack (5.1.4) lib/action_controller/metal/params_wrapper.rb:252:in `process_action'
|
|
408
|
+
activerecord (5.1.4) lib/active_record/railties/controller_runtime.rb:22:in `process_action'
|
|
409
|
+
actionpack (5.1.4) lib/abstract_controller/base.rb:124:in `process'
|
|
410
|
+
actionview (5.1.4) lib/action_view/rendering.rb:30:in `process'
|
|
411
|
+
actionpack (5.1.4) lib/action_controller/metal.rb:189:in `dispatch'
|
|
412
|
+
actionpack (5.1.4) lib/action_controller/metal.rb:253:in `dispatch'
|
|
413
|
+
actionpack (5.1.4) lib/action_dispatch/routing/route_set.rb:49:in `dispatch'
|
|
414
|
+
actionpack (5.1.4) lib/action_dispatch/routing/route_set.rb:31:in `serve'
|
|
415
|
+
actionpack (5.1.4) lib/action_dispatch/journey/router.rb:50:in `block in serve'
|
|
416
|
+
actionpack (5.1.4) lib/action_dispatch/journey/router.rb:33:in `each'
|
|
417
|
+
actionpack (5.1.4) lib/action_dispatch/journey/router.rb:33:in `serve'
|
|
418
|
+
actionpack (5.1.4) lib/action_dispatch/routing/route_set.rb:834:in `call'
|
|
419
|
+
railties (5.1.4) lib/rails/engine.rb:522:in `call'
|
|
420
|
+
railties (5.1.4) lib/rails/railtie.rb:185:in `public_send'
|
|
421
|
+
railties (5.1.4) lib/rails/railtie.rb:185:in `method_missing'
|
|
422
|
+
actionpack (5.1.4) lib/action_dispatch/routing/mapper.rb:17:in `block in <class:Constraints>'
|
|
423
|
+
actionpack (5.1.4) lib/action_dispatch/routing/mapper.rb:46:in `serve'
|
|
424
|
+
actionpack (5.1.4) lib/action_dispatch/journey/router.rb:50:in `block in serve'
|
|
425
|
+
actionpack (5.1.4) lib/action_dispatch/journey/router.rb:33:in `each'
|
|
426
|
+
actionpack (5.1.4) lib/action_dispatch/journey/router.rb:33:in `serve'
|
|
427
|
+
actionpack (5.1.4) lib/action_dispatch/routing/route_set.rb:834:in `call'
|
|
428
|
+
rack (2.0.3) lib/rack/etag.rb:25:in `call'
|
|
429
|
+
rack (2.0.3) lib/rack/conditional_get.rb:25:in `call'
|
|
430
|
+
rack (2.0.3) lib/rack/head.rb:12:in `call'
|
|
431
|
+
rack (2.0.3) lib/rack/session/abstract/id.rb:232:in `context'
|
|
432
|
+
rack (2.0.3) lib/rack/session/abstract/id.rb:226:in `call'
|
|
433
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/cookies.rb:613:in `call'
|
|
434
|
+
activerecord (5.1.4) lib/active_record/migration.rb:556:in `call'
|
|
435
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/callbacks.rb:26:in `block in call'
|
|
436
|
+
activesupport (5.1.4) lib/active_support/callbacks.rb:97:in `run_callbacks'
|
|
437
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/callbacks.rb:24:in `call'
|
|
438
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/executor.rb:12:in `call'
|
|
439
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/debug_exceptions.rb:59:in `call'
|
|
440
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call'
|
|
441
|
+
railties (5.1.4) lib/rails/rack/logger.rb:36:in `call_app'
|
|
442
|
+
railties (5.1.4) lib/rails/rack/logger.rb:24:in `block in call'
|
|
443
|
+
activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `block in tagged'
|
|
444
|
+
activesupport (5.1.4) lib/active_support/tagged_logging.rb:26:in `tagged'
|
|
445
|
+
activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `tagged'
|
|
446
|
+
railties (5.1.4) lib/rails/rack/logger.rb:24:in `call'
|
|
447
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/remote_ip.rb:79:in `call'
|
|
448
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/request_id.rb:25:in `call'
|
|
449
|
+
rack (2.0.3) lib/rack/method_override.rb:22:in `call'
|
|
450
|
+
rack (2.0.3) lib/rack/runtime.rb:22:in `call'
|
|
451
|
+
activesupport (5.1.4) lib/active_support/cache/strategy/local_cache_middleware.rb:27:in `call'
|
|
452
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/executor.rb:12:in `call'
|
|
453
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/static.rb:125:in `call'
|
|
454
|
+
rack (2.0.3) lib/rack/sendfile.rb:111:in `call'
|
|
455
|
+
railties (5.1.4) lib/rails/engine.rb:522:in `call'
|
|
456
|
+
rack (2.0.3) lib/rack/handler/webrick.rb:86:in `service'
|
|
457
|
+
/Users/rdh/.rbenv/versions/2.4.1/lib/ruby/2.4.0/webrick/httpserver.rb:140:in `service'
|
|
458
|
+
/Users/rdh/.rbenv/versions/2.4.1/lib/ruby/2.4.0/webrick/httpserver.rb:96:in `run'
|
|
459
|
+
/Users/rdh/.rbenv/versions/2.4.1/lib/ruby/2.4.0/webrick/server.rb:290:in `block in start_thread'
|
|
460
|
+
DEPRECATION WARNING: Using a dynamic :controller segment in a route is deprecated and will be removed in Rails 5.2. (called from block in <top (required)> at /Users/rdh/schrodingersbox/report_cat/spec/dummy/config/routes.rb:11)
|
|
461
|
+
DEPRECATION WARNING: Using a dynamic :action segment in a route is deprecated and will be removed in Rails 5.2. (called from block in <top (required)> at /Users/rdh/schrodingersbox/report_cat/spec/dummy/config/routes.rb:11)
|
|
462
|
+
[1m[35m (0.1ms)[0m [1m[34mSELECT sqlite_version(*)[0m
|
|
463
|
+
[1m[35m (6.7ms)[0m [1m[35mCREATE TABLE "schema_migrations" ("version" varchar NOT NULL PRIMARY KEY)[0m
|
|
464
|
+
[1m[35m (1.1ms)[0m [1m[35mCREATE TABLE "ar_internal_metadata" ("key" varchar NOT NULL PRIMARY KEY, "value" varchar, "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL)[0m
|
|
465
|
+
[1m[36mActiveRecord::InternalMetadata Load (0.1ms)[0m [1m[34mSELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = ? LIMIT ?[0m [["key", "environment"], ["LIMIT", 1]]
|
|
466
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
|
467
|
+
[1m[35mSQL (0.3ms)[0m [1m[32mINSERT INTO "ar_internal_metadata" ("key", "value", "created_at", "updated_at") VALUES (?, ?, ?, ?)[0m [["key", "environment"], ["value", "development"], ["created_at", "2017-09-19 23:13:42.127317"], ["updated_at", "2017-09-19 23:13:42.127317"]]
|
|
468
|
+
[1m[35m (0.7ms)[0m [1m[36mcommit transaction[0m
|
|
469
|
+
[1m[35m (0.1ms)[0m [1m[34mSELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC[0m
|
|
470
|
+
Started GET "/report_cat/reports/retention_cohort_report" for ::1 at 2017-09-19 16:13:49 -0700
|
|
471
|
+
DEPRECATION WARNING: Using a dynamic :controller segment in a route is deprecated and will be removed in Rails 5.2. (called from block in <top (required)> at /Users/rdh/schrodingersbox/report_cat/spec/dummy/config/routes.rb:11)
|
|
472
|
+
DEPRECATION WARNING: Using a dynamic :action segment in a route is deprecated and will be removed in Rails 5.2. (called from block in <top (required)> at /Users/rdh/schrodingersbox/report_cat/spec/dummy/config/routes.rb:11)
|
|
473
|
+
Processing by ReportCat::ReportsController#show as HTML
|
|
474
|
+
Parameters: {"id"=>"retention_cohort_report"}
|
|
475
|
+
[1m[36mReportCat::DateRange Load (0.2ms)[0m [1m[34mSELECT "report_cat_date_ranges".* FROM "report_cat_date_ranges" WHERE ( (
|
|
476
|
+
report_cat_date_ranges.start_date between '2017-09-12' and '2017-09-19'
|
|
477
|
+
or
|
|
478
|
+
'2017-09-12' between report_cat_date_ranges.start_date and report_cat_date_ranges.stop_date
|
|
479
|
+
)
|
|
480
|
+
and report_cat_date_ranges.period = 'weekly') ORDER BY report_cat_date_ranges.start_date asc[0m
|
|
481
|
+
Completed 500 Internal Server Error in 4ms (ActiveRecord: 0.4ms)
|
|
482
|
+
|
|
483
|
+
|
|
484
|
+
|
|
485
|
+
ActiveRecord::StatementInvalid (SQLite3::SQLException: no such table: report_cat_date_ranges: SELECT "report_cat_date_ranges".* FROM "report_cat_date_ranges" WHERE ( (
|
|
486
|
+
report_cat_date_ranges.start_date between '2017-09-12' and '2017-09-19'
|
|
487
|
+
or
|
|
488
|
+
'2017-09-12' between report_cat_date_ranges.start_date and report_cat_date_ranges.stop_date
|
|
489
|
+
)
|
|
490
|
+
and report_cat_date_ranges.period = 'weekly') ORDER BY report_cat_date_ranges.start_date asc):
|
|
491
|
+
|
|
492
|
+
sqlite3 (1.3.13) lib/sqlite3/database.rb:91:in `initialize'
|
|
493
|
+
sqlite3 (1.3.13) lib/sqlite3/database.rb:91:in `new'
|
|
494
|
+
sqlite3 (1.3.13) lib/sqlite3/database.rb:91:in `prepare'
|
|
495
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/sqlite3_adapter.rb:212:in `block (2 levels) in exec_query'
|
|
496
|
+
activesupport (5.1.4) lib/active_support/dependencies/interlock.rb:46:in `block in permit_concurrent_loads'
|
|
497
|
+
activesupport (5.1.4) lib/active_support/concurrency/share_lock.rb:185:in `yield_shares'
|
|
498
|
+
activesupport (5.1.4) lib/active_support/dependencies/interlock.rb:45:in `permit_concurrent_loads'
|
|
499
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/sqlite3_adapter.rb:209:in `block in exec_query'
|
|
500
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/abstract_adapter.rb:612:in `block (2 levels) in log'
|
|
501
|
+
/Users/rdh/.rbenv/versions/2.4.1/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize'
|
|
502
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/abstract_adapter.rb:611:in `block in log'
|
|
503
|
+
activesupport (5.1.4) lib/active_support/notifications/instrumenter.rb:21:in `instrument'
|
|
504
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/abstract_adapter.rb:603:in `log'
|
|
505
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/sqlite3_adapter.rb:208:in `exec_query'
|
|
506
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/abstract/database_statements.rb:371:in `select'
|
|
507
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/abstract/database_statements.rb:42:in `select_all'
|
|
508
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/abstract/query_cache.rb:95:in `block in select_all'
|
|
509
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/abstract/query_cache.rb:117:in `block in cache_sql'
|
|
510
|
+
/Users/rdh/.rbenv/versions/2.4.1/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize'
|
|
511
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/abstract/query_cache.rb:104:in `cache_sql'
|
|
512
|
+
activerecord (5.1.4) lib/active_record/connection_adapters/abstract/query_cache.rb:95:in `select_all'
|
|
513
|
+
activerecord (5.1.4) lib/active_record/querying.rb:39:in `find_by_sql'
|
|
514
|
+
activerecord (5.1.4) lib/active_record/relation.rb:667:in `exec_queries'
|
|
515
|
+
activerecord (5.1.4) lib/active_record/relation.rb:546:in `load'
|
|
516
|
+
activerecord (5.1.4) lib/active_record/relation.rb:255:in `records'
|
|
517
|
+
activerecord (5.1.4) lib/active_record/relation/delegation.rb:39:in `each'
|
|
518
|
+
/Users/rdh/schrodingersbox/report_cat/app/models/report_cat/date_range.rb:18:in `generate'
|
|
519
|
+
/Users/rdh/schrodingersbox/report_cat/lib/report_cat/reports/cohort_report.rb:33:in `query'
|
|
520
|
+
/Users/rdh/schrodingersbox/report_cat/lib/report_cat/core/report.rb:80:in `generate'
|
|
521
|
+
/Users/rdh/schrodingersbox/report_cat/app/controllers/report_cat/reports_controller.rb:16:in `show'
|
|
522
|
+
actionpack (5.1.4) lib/action_controller/metal/basic_implicit_render.rb:4:in `send_action'
|
|
523
|
+
actionpack (5.1.4) lib/abstract_controller/base.rb:186:in `process_action'
|
|
524
|
+
actionpack (5.1.4) lib/action_controller/metal/rendering.rb:30:in `process_action'
|
|
525
|
+
actionpack (5.1.4) lib/abstract_controller/callbacks.rb:20:in `block in process_action'
|
|
526
|
+
activesupport (5.1.4) lib/active_support/callbacks.rb:131:in `run_callbacks'
|
|
527
|
+
actionpack (5.1.4) lib/abstract_controller/callbacks.rb:19:in `process_action'
|
|
528
|
+
actionpack (5.1.4) lib/action_controller/metal/rescue.rb:20:in `process_action'
|
|
529
|
+
actionpack (5.1.4) lib/action_controller/metal/instrumentation.rb:32:in `block in process_action'
|
|
530
|
+
activesupport (5.1.4) lib/active_support/notifications.rb:166:in `block in instrument'
|
|
531
|
+
activesupport (5.1.4) lib/active_support/notifications/instrumenter.rb:21:in `instrument'
|
|
532
|
+
activesupport (5.1.4) lib/active_support/notifications.rb:166:in `instrument'
|
|
533
|
+
actionpack (5.1.4) lib/action_controller/metal/instrumentation.rb:30:in `process_action'
|
|
534
|
+
actionpack (5.1.4) lib/action_controller/metal/params_wrapper.rb:252:in `process_action'
|
|
535
|
+
activerecord (5.1.4) lib/active_record/railties/controller_runtime.rb:22:in `process_action'
|
|
536
|
+
actionpack (5.1.4) lib/abstract_controller/base.rb:124:in `process'
|
|
537
|
+
actionview (5.1.4) lib/action_view/rendering.rb:30:in `process'
|
|
538
|
+
actionpack (5.1.4) lib/action_controller/metal.rb:189:in `dispatch'
|
|
539
|
+
actionpack (5.1.4) lib/action_controller/metal.rb:253:in `dispatch'
|
|
540
|
+
actionpack (5.1.4) lib/action_dispatch/routing/route_set.rb:49:in `dispatch'
|
|
541
|
+
actionpack (5.1.4) lib/action_dispatch/routing/route_set.rb:31:in `serve'
|
|
542
|
+
actionpack (5.1.4) lib/action_dispatch/journey/router.rb:50:in `block in serve'
|
|
543
|
+
actionpack (5.1.4) lib/action_dispatch/journey/router.rb:33:in `each'
|
|
544
|
+
actionpack (5.1.4) lib/action_dispatch/journey/router.rb:33:in `serve'
|
|
545
|
+
actionpack (5.1.4) lib/action_dispatch/routing/route_set.rb:834:in `call'
|
|
546
|
+
railties (5.1.4) lib/rails/engine.rb:522:in `call'
|
|
547
|
+
railties (5.1.4) lib/rails/railtie.rb:185:in `public_send'
|
|
548
|
+
railties (5.1.4) lib/rails/railtie.rb:185:in `method_missing'
|
|
549
|
+
actionpack (5.1.4) lib/action_dispatch/routing/mapper.rb:17:in `block in <class:Constraints>'
|
|
550
|
+
actionpack (5.1.4) lib/action_dispatch/routing/mapper.rb:46:in `serve'
|
|
551
|
+
actionpack (5.1.4) lib/action_dispatch/journey/router.rb:50:in `block in serve'
|
|
552
|
+
actionpack (5.1.4) lib/action_dispatch/journey/router.rb:33:in `each'
|
|
553
|
+
actionpack (5.1.4) lib/action_dispatch/journey/router.rb:33:in `serve'
|
|
554
|
+
actionpack (5.1.4) lib/action_dispatch/routing/route_set.rb:834:in `call'
|
|
555
|
+
rack (2.0.3) lib/rack/etag.rb:25:in `call'
|
|
556
|
+
rack (2.0.3) lib/rack/conditional_get.rb:25:in `call'
|
|
557
|
+
rack (2.0.3) lib/rack/head.rb:12:in `call'
|
|
558
|
+
rack (2.0.3) lib/rack/session/abstract/id.rb:232:in `context'
|
|
559
|
+
rack (2.0.3) lib/rack/session/abstract/id.rb:226:in `call'
|
|
560
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/cookies.rb:613:in `call'
|
|
561
|
+
activerecord (5.1.4) lib/active_record/migration.rb:556:in `call'
|
|
562
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/callbacks.rb:26:in `block in call'
|
|
563
|
+
activesupport (5.1.4) lib/active_support/callbacks.rb:97:in `run_callbacks'
|
|
564
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/callbacks.rb:24:in `call'
|
|
565
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/executor.rb:12:in `call'
|
|
566
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/debug_exceptions.rb:59:in `call'
|
|
567
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call'
|
|
568
|
+
railties (5.1.4) lib/rails/rack/logger.rb:36:in `call_app'
|
|
569
|
+
railties (5.1.4) lib/rails/rack/logger.rb:24:in `block in call'
|
|
570
|
+
activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `block in tagged'
|
|
571
|
+
activesupport (5.1.4) lib/active_support/tagged_logging.rb:26:in `tagged'
|
|
572
|
+
activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `tagged'
|
|
573
|
+
railties (5.1.4) lib/rails/rack/logger.rb:24:in `call'
|
|
574
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/remote_ip.rb:79:in `call'
|
|
575
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/request_id.rb:25:in `call'
|
|
576
|
+
rack (2.0.3) lib/rack/method_override.rb:22:in `call'
|
|
577
|
+
rack (2.0.3) lib/rack/runtime.rb:22:in `call'
|
|
578
|
+
activesupport (5.1.4) lib/active_support/cache/strategy/local_cache_middleware.rb:27:in `call'
|
|
579
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/executor.rb:12:in `call'
|
|
580
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/static.rb:125:in `call'
|
|
581
|
+
rack (2.0.3) lib/rack/sendfile.rb:111:in `call'
|
|
582
|
+
railties (5.1.4) lib/rails/engine.rb:522:in `call'
|
|
583
|
+
rack (2.0.3) lib/rack/handler/webrick.rb:86:in `service'
|
|
584
|
+
/Users/rdh/.rbenv/versions/2.4.1/lib/ruby/2.4.0/webrick/httpserver.rb:140:in `service'
|
|
585
|
+
/Users/rdh/.rbenv/versions/2.4.1/lib/ruby/2.4.0/webrick/httpserver.rb:96:in `run'
|
|
586
|
+
/Users/rdh/.rbenv/versions/2.4.1/lib/ruby/2.4.0/webrick/server.rb:290:in `block in start_thread'
|