tuttle 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +12 -0
- data/README.md +61 -4
- data/Rakefile +1 -16
- data/app/controllers/tuttle/active_job_controller.rb +51 -0
- data/app/controllers/tuttle/active_model_serializers_controller.rb +3 -8
- data/app/controllers/tuttle/application_controller.rb +3 -0
- data/app/controllers/tuttle/cancancan_controller.rb +8 -15
- data/app/controllers/tuttle/devise_controller.rb +1 -2
- data/app/controllers/tuttle/gems_controller.rb +4 -4
- data/app/controllers/tuttle/home_controller.rb +0 -1
- data/app/controllers/tuttle/paperclip_controller.rb +1 -2
- data/app/controllers/tuttle/rack_mini_profiler_controller.rb +15 -0
- data/app/controllers/tuttle/rails_controller.rb +45 -7
- data/app/controllers/tuttle/request_controller.rb +0 -4
- data/app/controllers/tuttle/ruby_controller.rb +6 -2
- data/app/helpers/tuttle/application_helper.rb +13 -8
- data/app/models/tuttle/configuration_registry.rb +25 -0
- data/app/models/tuttle/version_detector.rb +9 -0
- data/app/views/layouts/tuttle/application.html.erb +29 -20
- data/app/views/tuttle/active_job/index.html.erb +48 -0
- data/app/views/tuttle/active_model_serializers/index.html.erb +2 -0
- data/app/views/tuttle/gems/get_process_mem.html.erb +13 -13
- data/app/views/tuttle/gems/http_clients.html.erb +9 -10
- data/app/views/tuttle/gems/json.html.erb +3 -3
- data/app/views/tuttle/gems/other.html.erb +41 -11
- data/app/views/tuttle/home/index.html.erb +27 -23
- data/app/views/tuttle/{performance_tuning → rack_mini_profiler}/index.html.erb +6 -6
- data/app/views/tuttle/rails/_cache_dalli_store.html.erb +65 -0
- data/app/views/tuttle/rails/_cache_memory_store.html.erb +43 -0
- data/app/views/tuttle/rails/_cache_monitor.html.erb +63 -0
- data/app/views/tuttle/rails/assets.html.erb +181 -28
- data/app/views/tuttle/rails/cache.html.erb +92 -102
- data/app/views/tuttle/rails/database.html.erb +2 -2
- data/app/views/tuttle/rails/index.html.erb +20 -21
- data/app/views/tuttle/rails/routes.html.erb +88 -36
- data/app/views/tuttle/rails/schema_cache.html.erb +2 -1
- data/app/views/tuttle/ruby/index.html.erb +24 -20
- data/config/rails_config_base.yml +80 -0
- data/config/rails_config_v4.x.yml +14 -0
- data/config/rails_config_v5.x.yml +12 -0
- data/config/routes.rb +7 -1
- data/lib/tuttle.rb +3 -6
- data/lib/tuttle/engine.rb +24 -12
- data/lib/tuttle/instrumenter.rb +7 -7
- data/lib/tuttle/middleware/request_profiler.rb +165 -24
- data/lib/tuttle/presenters/action_dispatch/routing/route_wrapper.rb +7 -3
- data/lib/tuttle/presenters/rack_mini_profiler/client_settings.rb +27 -0
- data/lib/tuttle/ruby_prof/fast_call_stack_printer.rb +26 -53
- data/lib/tuttle/version.rb +1 -1
- metadata +18 -8
- data/app/controllers/tuttle/performance_tuning_controller.rb +0 -14
@@ -55,8 +55,8 @@
|
|
55
55
|
</ul>
|
56
56
|
<%- end -%>
|
57
57
|
|
58
|
-
<h3>Tables (<%= @
|
59
|
-
<p><%= @
|
58
|
+
<h3>Tables (Data Sources) (<%= @data_sources.size %>)</h3>
|
59
|
+
<p><%= @data_sources %></p>
|
60
60
|
|
61
61
|
<h3>Native DB Types Supported</h3>
|
62
62
|
<dl class="dl-horizontal">
|
@@ -20,10 +20,16 @@ Log Level = <%= Rails.configuration.log_level %>
|
|
20
20
|
<div class="tab-content">
|
21
21
|
<div class="tab-pane active" id="config">
|
22
22
|
<p>
|
23
|
-
Rails configuration is managed through the applications's config/application.rb
|
23
|
+
Rails configuration is managed through the applications's <code>config/application.rb</code>,
|
24
|
+
an environment-specific configuration file, and initializers from
|
25
|
+
the <code>config/initializers</code> directory.
|
24
26
|
</p>
|
25
27
|
<p>
|
26
|
-
The
|
28
|
+
The Rails Guide <a href="<%= rails_guides_versioned_url('configuring.html') %>">Configuring Rails Applications</a>
|
29
|
+
has a mostly-complete list of the options available.
|
30
|
+
</p>
|
31
|
+
<p>
|
32
|
+
The combined results of these configurations are shown here.
|
27
33
|
</p>
|
28
34
|
<table class="table table-condensed">
|
29
35
|
<tr>
|
@@ -31,23 +37,16 @@ Log Level = <%= Rails.configuration.log_level %>
|
|
31
37
|
<th>Value</th>
|
32
38
|
<th>Description</th>
|
33
39
|
</tr>
|
34
|
-
|
35
|
-
<
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
</
|
40
|
-
|
41
|
-
<tr>
|
42
|
-
<td>config.beginning_of_week</td>
|
43
|
-
<td><%= Rails.configuration.beginning_of_week %></td>
|
44
|
-
<td>
|
45
|
-
Sets the default beginning of week for the application. Accepts a valid week day symbol (e.g. :monday).
|
46
|
-
</td>
|
47
|
-
</tr>
|
40
|
+
<% @config_options.each do |key, description| %>
|
41
|
+
<tr data-config-key="<%= key %>">
|
42
|
+
<td>config.<%= key %></td>
|
43
|
+
<td><code><%= Rails.configuration.send(key).inspect rescue 'ERROR'%></code></td>
|
44
|
+
<td><%= description %></td>
|
45
|
+
</tr>
|
46
|
+
<% end %>
|
48
47
|
</table>
|
49
48
|
|
50
|
-
<div class="panel panel-warning">
|
49
|
+
<div class="panel panel-warning hidden">
|
51
50
|
<div class="panel-heading">
|
52
51
|
<h4 class="panel-title" data-toggle="collapse" data-target="#rails_config_instances">Instance Variables</h4>
|
53
52
|
</div>
|
@@ -176,7 +175,7 @@ Log Level = <%= Rails.configuration.log_level %>
|
|
176
175
|
Here are the formats that have been configured for this application (including Rails' default formats).
|
177
176
|
</p>
|
178
177
|
<% # http://www.foragoodstrftime.com/ %>
|
179
|
-
<%- today, now = Date.
|
178
|
+
<%- today, now = Date.current, Time.current %>
|
180
179
|
<h3>Date Formats</h3>
|
181
180
|
<table class="table table-condensed">
|
182
181
|
<tr>
|
@@ -189,7 +188,7 @@ Log Level = <%= Rails.configuration.log_level %>
|
|
189
188
|
<td><%= today.to_s %></td>
|
190
189
|
<td></td>
|
191
190
|
</tr>
|
192
|
-
<%- Date::DATE_FORMATS.sort.each do |format,formatter| %>
|
191
|
+
<%- Date::DATE_FORMATS.sort.each do |format, formatter| %>
|
193
192
|
<tr>
|
194
193
|
<td>:<%= format %></td>
|
195
194
|
<td><%= today.to_s(format) %></td>
|
@@ -209,10 +208,10 @@ Log Level = <%= Rails.configuration.log_level %>
|
|
209
208
|
<td><%= now.to_s %></td>
|
210
209
|
<td></td>
|
211
210
|
</tr>
|
212
|
-
<%- Time::DATE_FORMATS.sort.each do |format,formatter| %>
|
211
|
+
<%- Time::DATE_FORMATS.sort.each do |format, formatter| %>
|
213
212
|
<tr>
|
214
213
|
<td>:<%= format %></td>
|
215
|
-
<td><%=
|
214
|
+
<td><%= now.to_s(format) %></td>
|
216
215
|
<td><%= formatter.respond_to?(:call) ? 'Dynamic Proc'.freeze : formatter %></td>
|
217
216
|
</tr>
|
218
217
|
<%- end %>
|
@@ -1,41 +1,93 @@
|
|
1
|
+
<%- content_for(:javascripts) do -%>
|
2
|
+
<%= javascript_tag do -%>
|
3
|
+
$(function () { $('[data-toggle="tooltip"]').tooltip(); });
|
4
|
+
<% end -%>
|
5
|
+
<%- end %>
|
1
6
|
<style>
|
2
7
|
table td { white-space: nowrap; }
|
3
8
|
</style>
|
4
9
|
<h2>Routes</h2>
|
5
|
-
<p>
|
6
|
-
Rails routing is described in the <a href="http://guides.rubyonrails.org/routing.html">Rails
|
7
|
-
Routing from the Outside In</a> guide.
|
8
|
-
</p>
|
9
|
-
<p>
|
10
|
-
In addition to the routes defined in your <code>config/routes.rb</code> file,
|
11
|
-
Rails has internal routes and other Engines can contribute routes to the application.
|
12
|
-
</p>
|
13
10
|
|
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
|
-
|
11
|
+
<ul class="nav nav-tabs" role="tablist">
|
12
|
+
<li class="<%= 'active' if @recognized_paths.blank? %>"><a href="#routes" role="tab" data-toggle="tab">Routes</a></li>
|
13
|
+
<li class="<%= 'active' unless @recognized_paths.blank? %>"><a href="#route_tester" role="tab" data-toggle="tab">Recognize Path</a></li>
|
14
|
+
</ul>
|
15
|
+
<br>
|
16
|
+
|
17
|
+
<div class="tab-content">
|
18
|
+
<div class="tab-pane <%= 'active' if @recognized_paths.blank? %>" id="routes">
|
19
|
+
<p>
|
20
|
+
Rails routing is described in the <a href="<%= rails_guides_versioned_url('routing.html') %>">Rails
|
21
|
+
Routing from the Outside In</a> guide.
|
22
|
+
</p>
|
23
|
+
<p>
|
24
|
+
In addition to the routes defined in your <code>config/routes.rb</code> file,
|
25
|
+
Rails has internal routes and other Engines can contribute routes to the application.
|
26
|
+
</p>
|
27
|
+
|
28
|
+
<table class="table table-striped table-condensed">
|
29
|
+
<tr>
|
30
|
+
<th><span data-toggle="tooltip" title="Route paths are checked in the order they are defined.">Precedence</span></th>
|
31
|
+
<th><span data-toggle="tooltip" title="The route name is used to generate Named Helpers like myaction_path">Name</span></th>
|
32
|
+
<th><span data-toggle="tooltip" title="The HTTP method for this route">Verb</span></th>
|
33
|
+
<th><span data-toggle="tooltip" title="The URI for the route.">Path</span></th>
|
34
|
+
<th><span data-toggle="tooltip" title="Most routes will map to a Controller#Action but some will be handled by engines or Rails internals">Endpoint or App</span></th>
|
35
|
+
<th><span data-toggle="tooltip" title="Routes can be constrained to match parameters">Constraints</span></th>
|
36
|
+
<th><span data-toggle="tooltip" title="The Controller for the route">Controller</span></th>
|
37
|
+
<th><span data-toggle="tooltip" title="The Action for the route">Action</span></th>
|
38
|
+
<th><span data-toggle="tooltip" title="Internal routes are handle by Rails under the covers">Internal?</span></th>
|
39
|
+
<th><span data-toggle="tooltip" title="Some routes are handled my mounted engines">Engine?</span></th>
|
40
|
+
</tr>
|
41
|
+
<% @routes.each do |route| %>
|
42
|
+
<tr>
|
43
|
+
<td><%= route.precedence %></td>
|
44
|
+
<td><%= route.name %></td>
|
45
|
+
<td><%= route.verb %></td>
|
46
|
+
<td><%= route.path %></td>
|
47
|
+
<td><%= route.endpoint_or_app_name %></td>
|
48
|
+
<td><%= route.constraints %></td>
|
49
|
+
<td><%= route.controller %></td>
|
50
|
+
<td><%= route.action %></td>
|
51
|
+
<td><%= route.internal_to_rails? %></td>
|
52
|
+
<td><%= route.engine? %></td>
|
53
|
+
</tr>
|
54
|
+
<% end %>
|
55
|
+
</table>
|
56
|
+
</div>
|
57
|
+
|
58
|
+
<div class="tab-pane <%= 'active' unless @recognized_paths.blank? %>" id="route_tester">
|
59
|
+
<p>Paste a URL from your application to quickly get the corresponding controller/action</p>
|
60
|
+
<form class="form-horizontal" role="form" method="get">
|
61
|
+
<div class="form-group">
|
62
|
+
<label for="recognize_path" class="col-sm-2 control-label">URL / Path</label>
|
63
|
+
<div class="col-sm-10">
|
64
|
+
<input type="text" class="form-control typeahead" name="recognize_path" id="recognize_path" value="<%= @path_to_recognize %>">
|
65
|
+
</div>
|
66
|
+
</div>
|
67
|
+
<div class="form-group">
|
68
|
+
<div class="col-sm-offset-2 col-sm-10">
|
69
|
+
<button type="submit" class="btn btn-default">Check</button>
|
70
|
+
</div>
|
71
|
+
</div>
|
72
|
+
<hr>
|
73
|
+
<% if !@recognized_paths.blank? %>
|
74
|
+
<div class="form-group">
|
75
|
+
<div class="col-sm-offset-2 col-sm-10">
|
76
|
+
<table class="table table-striped">
|
77
|
+
<% @recognized_paths.each do |key, value| %>
|
78
|
+
<% value.each do |route| %>
|
79
|
+
<tr class="<%= 'success' unless route[:error] %>">
|
80
|
+
<td><%= key.to_s.upcase %></td>
|
81
|
+
<td><%= route[:error] ? route[:error] : route %>
|
82
|
+
</tr>
|
83
|
+
<% end %>
|
84
|
+
<% end %>
|
85
|
+
</table>
|
86
|
+
</div>
|
87
|
+
</div>
|
88
|
+
<% end %>
|
89
|
+
</form>
|
90
|
+
|
91
|
+
</div>
|
92
|
+
</div>
|
93
|
+
|
@@ -43,7 +43,8 @@
|
|
43
43
|
<% end %>
|
44
44
|
|
45
45
|
<%- # Rails 5.x switched to @data_sources from @tables for instance variable %>
|
46
|
-
<% cached_tablenames = @connection_schema_cache.instance_variable_defined?(:@data_sources) &&
|
46
|
+
<% cached_tablenames = @connection_schema_cache.instance_variable_defined?(:@data_sources) &&
|
47
|
+
@connection_schema_cache.instance_variable_get(:@data_sources) ||
|
47
48
|
@connection_schema_cache.instance_variable_get(:@tables) || [] %>
|
48
49
|
<% cached_columns = @connection_schema_cache.instance_variable_get(:@columns) %>
|
49
50
|
<% cached_columns_hash = @connection_schema_cache.instance_variable_get(:@columns_hash) %>
|
@@ -2,13 +2,11 @@
|
|
2
2
|
|
3
3
|
<ul class="nav nav-tabs" role="tablist">
|
4
4
|
<li class="active"><a href="#ruby" role="tab" data-toggle="tab">Ruby</a></li>
|
5
|
-
<li><a href="#environment" role="tab" data-toggle="tab">Environment</a></li>
|
5
|
+
<li><a href="#environment" role="tab" data-toggle="tab">Environment (<%= ENV.size %>)</a></li>
|
6
|
+
<li><a href="#load_path" role="tab" data-toggle="tab">Load Path (<%= $LOAD_PATH.size %>)</a></li>
|
7
|
+
<li><a href="#loaded_features" role="tab" data-toggle="tab">Loaded Features (<%= $LOADED_FEATURES.size %>)</a></li>
|
6
8
|
<li><a href="#rbconfig" role="tab" data-toggle="tab">Ruby Config</a></li>
|
7
9
|
<li><a href="#bundler" role="tab" data-toggle="tab">Bundler</a></li>
|
8
|
-
<li><a href="#gc" role="tab" data-toggle="tab">Garbage Collection</a></li>
|
9
|
-
<li><a href="#load_path" role="tab" data-toggle="tab">Load Path</a></li>
|
10
|
-
<li><a href="#loaded_features" role="tab" data-toggle="tab">Loaded Features</a></li>
|
11
|
-
|
12
10
|
</ul>
|
13
11
|
|
14
12
|
<div class="tab-content">
|
@@ -47,29 +45,44 @@
|
|
47
45
|
<pre><%= RubyVM::OPTS.inspect %></pre>
|
48
46
|
</div>
|
49
47
|
|
48
|
+
|
50
49
|
<div class="tab-pane" id="rbconfig">
|
51
50
|
<h3>RbConfig</h3>
|
52
|
-
<p>
|
51
|
+
<p>RbConfig records the compile-time settings that were used to build ruby.</p>
|
52
|
+
|
53
|
+
<p>
|
54
|
+
<code>RbConfig.ruby</code> = <code><%= RbConfig.ruby -%></code>
|
55
|
+
<br>
|
56
|
+
<code>RbConfig::TOPDIR</code> = <code><%= RbConfig::TOPDIR -%></code>
|
57
|
+
</p>
|
58
|
+
|
59
|
+
<h3>RbConfig::CONFIG</h3>
|
53
60
|
<table class="table table-condensed" style="width: auto;">
|
54
61
|
<tr>
|
55
62
|
<th>Setting</th>
|
56
63
|
<th>Value</th>
|
64
|
+
<th>Unexpanded Value</th>
|
57
65
|
</tr>
|
58
66
|
<% RbConfig::CONFIG.each do |k, v| %>
|
59
67
|
<tr>
|
60
68
|
<td><%= k %></td>
|
61
69
|
<td><code><%= v %></code></td>
|
70
|
+
<td><code><%= RbConfig::MAKEFILE_CONFIG[k] %></code></td>
|
62
71
|
</tr>
|
63
72
|
<% end %>
|
64
73
|
</table>
|
65
74
|
</div>
|
66
75
|
|
67
76
|
<div class="tab-pane" id="environment">
|
68
|
-
<
|
69
|
-
|
77
|
+
<p>
|
78
|
+
The <code>ENV</code> (<%= ENV.size %> entries) includes
|
79
|
+
the environment variables.
|
80
|
+
</p>
|
81
|
+
<pre>
|
82
|
+
<% @filtered_env.each do |key, val| -%>
|
70
83
|
<%= key %> = <%= val %>
|
71
|
-
<% end
|
72
|
-
</pre>
|
84
|
+
<% end -%>
|
85
|
+
</pre>
|
73
86
|
</div>
|
74
87
|
|
75
88
|
<div class="tab-pane" id="bundler">
|
@@ -92,18 +105,9 @@
|
|
92
105
|
</dl>
|
93
106
|
</div>
|
94
107
|
|
95
|
-
<div class="tab-pane" id="gc">
|
96
|
-
<dl class="dl-horizontal">
|
97
|
-
<%- GC.stat.each_pair do |key,val| %>
|
98
|
-
<dt><%= key %></dt>
|
99
|
-
<dd><%= val %></dd>
|
100
|
-
<%- end %>
|
101
|
-
</dl>
|
102
|
-
</div>
|
103
|
-
|
104
108
|
<div class="tab-pane" id="load_path">
|
105
109
|
<p>
|
106
|
-
The
|
110
|
+
The <code>$LOAD_PATH</code> (<%= $LOAD_PATH.size %> entries) lists
|
107
111
|
the directories that will be searched when code is loaded with
|
108
112
|
<code>require</code> or <code>load</code>.
|
109
113
|
</p>
|
@@ -0,0 +1,80 @@
|
|
1
|
+
---
|
2
|
+
:asset_host:
|
3
|
+
Sets the host for the assets. Useful when CDNs are used for hosting assets,
|
4
|
+
or when you want to work around the concurrency constraints built-in in browsers
|
5
|
+
using different domain aliases. Shorter version of config.action_controller.asset_host.
|
6
|
+
:beginning_of_week:
|
7
|
+
Sets the default beginning of week for the application. Accepts
|
8
|
+
a valid week day symbol (e.g. :monday).
|
9
|
+
:cache_classes:
|
10
|
+
Controls whether or not application classes and modules should be
|
11
|
+
reloaded on each request. Defaults to false in development mode, and true in test
|
12
|
+
and production modes.
|
13
|
+
:consider_all_requests_local:
|
14
|
+
Is a flag. If true then any error will cause detailed debugging information to
|
15
|
+
be dumped in the HTTP response, and the Rails::Info controller will show the
|
16
|
+
application runtime context in /rails/info/properties.
|
17
|
+
:colorize_logging:
|
18
|
+
Specifies whether or not to use ANSI color codes when logging information.
|
19
|
+
Defaults to true.
|
20
|
+
:eager_load:
|
21
|
+
When true, eager loads all registered config.eager_load_namespaces. This
|
22
|
+
includes your application, engines, Rails frameworks and any other registered namespace.
|
23
|
+
:eager_load_namespaces:
|
24
|
+
Registers namespaces that are eager loaded when config.eager_load
|
25
|
+
is true. All namespaces in the list must respond to the eager_load! method.
|
26
|
+
:eager_load_paths:
|
27
|
+
Accepts an array of paths from which Rails will eager load on boot
|
28
|
+
if cache classes is enabled. Defaults to every folder in the app directory of the
|
29
|
+
application.
|
30
|
+
:encoding:
|
31
|
+
Sets up the application-wide encoding. Defaults to UTF-8.
|
32
|
+
:exceptions_app:
|
33
|
+
Sets the exceptions application invoked by the ShowException middleware
|
34
|
+
when an exception happens. Defaults to ActionDispatch::PublicExceptions.new(Rails.public_path).
|
35
|
+
:filter_parameters:
|
36
|
+
Used for filtering out the parameters that you don't want shown
|
37
|
+
in the logs, such as passwords or credit card numbers. By default, Rails filters
|
38
|
+
out passwords by adding Rails.application.config.filter_parameters += [:password]
|
39
|
+
in config/initializers/filter_parameter_logging.rb. Parameters filter works by partial
|
40
|
+
matching regular expression.
|
41
|
+
:force_ssl:
|
42
|
+
'Forces all requests to be served over HTTPS by using the ActionDispatch::SSL
|
43
|
+
middleware, and sets config.action_mailer.default_url_options to
|
44
|
+
be { protocol: ''https'' }.
|
45
|
+
This can be configured by setting config.ssl_options - see the ActionDispatch::SSL
|
46
|
+
documentation for details.'
|
47
|
+
|
48
|
+
:log_formatter:
|
49
|
+
Defines the formatter of the Rails logger. This option defaults to an instance
|
50
|
+
of ActiveSupport::Logger::SimpleFormatter for all modes except production,
|
51
|
+
where it defaults to Logger::Formatter.
|
52
|
+
|
53
|
+
:log_level:
|
54
|
+
Defines the verbosity of the Rails logger. This option defaults to :debug for all environments.
|
55
|
+
|
56
|
+
:log_tags:
|
57
|
+
Accepts a list of methods that the request object responds to. This makes it
|
58
|
+
easy to tag log lines with debug information like subdomain and request id -
|
59
|
+
both very helpful in debugging multi-user production applications.
|
60
|
+
|
61
|
+
:logger:
|
62
|
+
Accepts a logger conforming to the interface of Log4r or the default Ruby
|
63
|
+
Logger class. Defaults to an instance of ActiveSupport::Logger.
|
64
|
+
|
65
|
+
:middleware:
|
66
|
+
Allows you to configure the application's middleware. This is covered in depth
|
67
|
+
in the Configuring Middleware of the Ruby Guide.
|
68
|
+
|
69
|
+
:reload_classes_only_on_change:
|
70
|
+
Enables or disables reloading of classes only when tracked files change.
|
71
|
+
By default tracks everything on autoload paths and is set to true.
|
72
|
+
If config.cache_classes is true, this option is ignored.
|
73
|
+
|
74
|
+
:session_store:
|
75
|
+
Is usually set up in config/initializers/session_store.rb and specifies what class to use to
|
76
|
+
store the session. Possible values are :cookie_store which is the default, :mem_cache_store, and :disabled.
|
77
|
+
The last one tells Rails not to deal with sessions. Custom session stores can also be specified.
|
78
|
+
|
79
|
+
:time_zone:
|
80
|
+
Sets the default time zone for the application and enables time zone awareness for Active Record.
|
@@ -0,0 +1,14 @@
|
|
1
|
+
---
|
2
|
+
:file_watcher:
|
3
|
+
Is the class used to detect file updates in the filesystem when
|
4
|
+
config.reload_classes_only_on_change is true.
|
5
|
+
Must conform to ActiveSupport::FileUpdateChecker API.
|
6
|
+
|
7
|
+
:serve_static_files:
|
8
|
+
Configures Rails itself to serve static files. Defaults to true, but in the
|
9
|
+
production environment is turned off as the server software (e.g. NGINX or Apache)
|
10
|
+
used to run the application should serve static assets instead.
|
11
|
+
Unlike the default setting set this to true when running (absolutely not recommended!)
|
12
|
+
or testing your app in production mode using WEBrick.
|
13
|
+
Otherwise you won't be able use page caching and requests for files that exist
|
14
|
+
regularly under the public directory will anyway hit your Rails app.
|
@@ -0,0 +1,12 @@
|
|
1
|
+
---
|
2
|
+
:file_watcher:
|
3
|
+
Is the class used to detect file updates in the file system when config.reload_classes_only_on_change
|
4
|
+
is true. Rails ships with ActiveSupport::FileUpdateChecker, the default, and ActiveSupport::EventedFileUpdateChecker
|
5
|
+
(this one depends on the listen gem). Custom classes must conform to the ActiveSupport::FileUpdateChecker
|
6
|
+
API.
|
7
|
+
:enable_dependency_loading:
|
8
|
+
When true, enables autoloading, even if the application is eager loaded and
|
9
|
+
config.cache_classes is set as true. Defaults to false.
|
10
|
+
:debug_exception_response_format:
|
11
|
+
Sets the format used in responses when errors occur in development mode.
|
12
|
+
Defaults to :api for API only apps and :default for normal apps.
|
data/config/routes.rb
CHANGED
@@ -23,7 +23,13 @@ Tuttle::Engine.routes.draw do
|
|
23
23
|
get :dependencies, :inflectors, :time_zones
|
24
24
|
end
|
25
25
|
|
26
|
-
|
26
|
+
if defined?(ActiveJob)
|
27
|
+
namespace :active_job do
|
28
|
+
get '', :action => :index
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
get '/rack_mini_profiler' => 'rack_mini_profiler#index'
|
27
33
|
|
28
34
|
get '/request' => 'request#index'
|
29
35
|
|
data/lib/tuttle.rb
CHANGED
@@ -1,22 +1,19 @@
|
|
1
1
|
require 'tuttle/version'
|
2
|
-
require 'tuttle/engine' if defined?(Rails)
|
3
2
|
|
4
3
|
# TODO: clean this up so that mattr_accessor is not needed
|
5
4
|
require 'active_support/core_ext/module/attribute_accessors'
|
6
5
|
|
7
6
|
module Tuttle
|
8
|
-
|
9
7
|
mattr_accessor :automount_engine
|
10
8
|
mattr_accessor :enabled
|
9
|
+
mattr_accessor :enable_profiling
|
11
10
|
mattr_accessor :track_notifications
|
12
11
|
|
13
|
-
@@automount_engine = @@enabled = nil
|
14
|
-
@@track_notifications = false
|
15
|
-
|
16
12
|
autoload :Instrumenter, 'tuttle/instrumenter'
|
17
13
|
|
18
14
|
def self.setup
|
19
15
|
yield self
|
20
16
|
end
|
21
|
-
|
22
17
|
end
|
18
|
+
|
19
|
+
require 'tuttle/engine' if defined?(Rails)
|