tuttle 0.0.6 → 0.0.8
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 +5 -5
- data/CHANGELOG.md +17 -0
- data/Rakefile +0 -1
- data/app/controllers/tuttle/active_job_controller.rb +1 -0
- data/app/controllers/tuttle/active_model_serializers_controller.rb +1 -0
- data/app/controllers/tuttle/active_support_controller.rb +1 -0
- data/app/controllers/tuttle/application_controller.rb +19 -2
- data/app/controllers/tuttle/cancancan_controller.rb +2 -0
- data/app/controllers/tuttle/devise_controller.rb +1 -0
- data/app/controllers/tuttle/execjs_controller.rb +12 -0
- data/app/controllers/tuttle/gems_controller.rb +3 -2
- data/app/controllers/tuttle/home_controller.rb +1 -0
- data/app/controllers/tuttle/i18n_controller.rb +27 -0
- data/app/controllers/tuttle/paperclip_controller.rb +1 -0
- data/app/controllers/tuttle/rack_attack_controller.rb +26 -0
- data/app/controllers/tuttle/rack_mini_profiler_controller.rb +1 -0
- data/app/controllers/tuttle/rails_controller.rb +19 -5
- data/app/controllers/tuttle/request_controller.rb +1 -0
- data/app/controllers/tuttle/ruby_controller.rb +15 -2
- data/app/helpers/tuttle/application_helper.rb +64 -2
- data/app/models/tuttle/configuration_registry.rb +1 -0
- data/app/models/tuttle/version_detector.rb +1 -0
- data/app/views/layouts/tuttle/application.html.erb +22 -6
- data/app/views/tuttle/active_support/dependencies.html.erb +7 -7
- data/app/views/tuttle/active_support/inflectors.html.erb +1 -1
- data/app/views/tuttle/cancancan/index.html.erb +1 -1
- data/app/views/tuttle/cancancan/rule_tester.html.erb +3 -3
- data/app/views/tuttle/execjs/index.html.erb +87 -0
- data/app/views/tuttle/gems/http_clients.html.erb +13 -12
- data/app/views/tuttle/gems/index.html.erb +4 -4
- data/app/views/tuttle/gems/json.html.erb +10 -10
- data/app/views/tuttle/home/index.html.erb +6 -6
- data/app/views/tuttle/i18n/_translation_entry.html.erb +10 -0
- data/app/views/tuttle/i18n/index.html.erb +111 -0
- data/app/views/tuttle/i18n/localize.html.erb +53 -0
- data/app/views/tuttle/i18n/translations.html.erb +12 -0
- data/app/views/tuttle/rack_attack/index.html.erb +227 -0
- data/app/views/tuttle/rails/assets.html.erb +4 -4
- data/app/views/tuttle/rails/cache.html.erb +4 -8
- data/app/views/tuttle/rails/controllers.html.erb +54 -7
- data/app/views/tuttle/rails/database.html.erb +14 -1
- data/app/views/tuttle/rails/engines.html.erb +1 -1
- data/app/views/tuttle/rails/helpers.html.erb +1 -1
- data/app/views/tuttle/rails/index.html.erb +72 -19
- data/app/views/tuttle/rails/models.html.erb +150 -73
- data/app/views/tuttle/rails/routes.html.erb +10 -8
- data/app/views/tuttle/rails/schema_cache.html.erb +2 -2
- data/app/views/tuttle/ruby/constants.html.erb +29 -0
- data/app/views/tuttle/ruby/extensions.html.erb +24 -0
- data/app/views/tuttle/ruby/index.html.erb +21 -15
- data/app/views/tuttle/ruby/tuning.html.erb +6 -9
- data/config/routes.rb +15 -1
- data/lib/tuttle.rb +1 -0
- data/lib/tuttle/engine.rb +3 -4
- data/lib/tuttle/instrumenter.rb +3 -1
- data/lib/tuttle/middleware/request_profiler.rb +11 -11
- data/lib/tuttle/presenters/action_dispatch/routing/route_wrapper.rb +34 -2
- data/lib/tuttle/presenters/active_record/reflection_presenter.rb +54 -0
- data/lib/tuttle/presenters/active_support/callbacks.rb +26 -0
- data/lib/tuttle/presenters/base_presenter.rb +19 -0
- data/lib/tuttle/presenters/rack_mini_profiler/client_settings.rb +1 -0
- data/lib/tuttle/ruby_prof/fast_call_stack_printer.rb +2 -1
- data/lib/tuttle/version.rb +2 -1
- metadata +27 -18
@@ -1,82 +1,159 @@
|
|
1
|
-
<
|
1
|
+
<style>
|
2
|
+
.panel-body { overflow: auto; }
|
3
|
+
.autodetected { background: lightgoldenrodyellow; }
|
4
|
+
</style>
|
2
5
|
|
3
|
-
|
4
|
-
No models were found in this application
|
5
|
-
<% end %>
|
6
|
+
<h2>Models <span class="badge"><%= @models.size %></span></h2>
|
6
7
|
|
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
|
-
|
8
|
+
<% if 0 == @models.size %>
|
9
|
+
<p>No models were found in this application</p>
|
10
|
+
<% else %>
|
11
|
+
<% @models.each do |model| %>
|
12
|
+
<a name="model-<%= model.name %>"></a>
|
13
|
+
<div class="panel panel-default">
|
14
|
+
<div class="panel-heading">
|
15
|
+
<h3 class="panel-title"><%= model.name %></h3>
|
16
|
+
</div>
|
17
|
+
<div class="panel-body">
|
18
|
+
<h4>Associations <span class="badge"><%= model.reflect_on_all_associations.size %></span></h4>
|
19
|
+
<% if model.reflect_on_all_associations.size > 0 %>
|
20
|
+
<table class="table table-condensed">
|
21
|
+
<tr>
|
22
|
+
<th>Name</th>
|
23
|
+
<th>Macro</th>
|
24
|
+
<th>Type</th>
|
25
|
+
<th class="nowrap">Inverse Of</th>
|
26
|
+
<th>Scoped?</th>
|
27
|
+
<th>Polymorphic?</th>
|
28
|
+
<th>Validate?</th>
|
29
|
+
<th>Dependent</th>
|
30
|
+
<th class="nowrap">Class Name</th>
|
31
|
+
<th>Autosave</th>
|
32
|
+
<th>Required?</th>
|
33
|
+
<th>Foreign Key</th>
|
34
|
+
<th>Options</th>
|
35
|
+
</tr>
|
36
|
+
<% model.reflect_on_all_associations.each do |reflection| %>
|
37
|
+
<% reflection_presenter = ::Tuttle::Presenters::ActiveRecord::ReflectionPresenter.new(reflection, self) %>
|
38
|
+
<tr>
|
39
|
+
<td><%= reflection_presenter.name %></td>
|
40
|
+
<td><%= reflection_presenter.macro %></td>
|
41
|
+
<td><%= reflection_presenter.type %></td>
|
42
|
+
<td><%= reflection_presenter.inverse_of %></td>
|
43
|
+
<td><%= reflection_presenter.scoped? %></td>
|
44
|
+
<td><%= reflection_presenter.polymorphic? %></td>
|
45
|
+
<td><%= reflection_presenter.validate? %></td>
|
46
|
+
<td><%= reflection_presenter.options_dependent %></td>
|
47
|
+
<td><%= reflection_presenter.options_class_name %></td>
|
48
|
+
<td><%= reflection_presenter.options_autosave %></td>
|
49
|
+
<td><%= reflection_presenter.options_required %></td>
|
50
|
+
<td><%= reflection_presenter.foreign_key %></td>
|
51
|
+
<td><%= reflection_presenter.options_other %></td>
|
52
|
+
</tr>
|
53
|
+
<% end %>
|
54
|
+
</table>
|
55
|
+
<% end %>
|
39
56
|
|
40
|
-
|
41
|
-
<
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
57
|
+
<h4>Columns <span class="badge"><%= model.columns.size %></span></h4>
|
58
|
+
<table class="table table-condensed">
|
59
|
+
<tr>
|
60
|
+
<th>Name</th>
|
61
|
+
<th>Type</th>
|
62
|
+
<th>Default</th>
|
63
|
+
<th>Null</th>
|
64
|
+
<th>Limit</th>
|
65
|
+
<th>SQL Type</th>
|
66
|
+
<th>Precision</th>
|
67
|
+
<th>Scale</th>
|
68
|
+
</tr>
|
69
|
+
<% model.columns.each do |col| %>
|
70
|
+
<tr>
|
71
|
+
<td><%= col.name || Rails.configuration.filtered_parameters %></td>
|
72
|
+
<td><%= col.type %></td>
|
73
|
+
<td><%= col.default %></td>
|
74
|
+
<td><%= 'false' unless col.null %></td>
|
75
|
+
<td><%= col.limit %></td>
|
76
|
+
<td><%= col.sql_type %></td>
|
77
|
+
<td><%= col.precision %></td>
|
78
|
+
<td><%= col.scale %></td>
|
79
|
+
</tr>
|
80
|
+
<% end %>
|
81
|
+
</table>
|
65
82
|
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
</
|
83
|
+
<h4>Validators: <span class="badge"><%= model.validators.size %></span></h4>
|
84
|
+
<% if model.validators.size > 0 %>
|
85
|
+
<table class="table table-condensed">
|
86
|
+
<tr>
|
87
|
+
<th>Kind</th>
|
88
|
+
<th>Attributes</th>
|
89
|
+
<th>Options</th>
|
90
|
+
</tr>
|
91
|
+
<% model.validators.each do |validator| %>
|
92
|
+
<tr>
|
93
|
+
<td><%= validator.kind %></td>
|
94
|
+
<td><%= validator.attributes if validator.respond_to?(:attributes) %></td>
|
95
|
+
<td><%= validator.options %></td>
|
96
|
+
</tr>
|
97
|
+
<% end %>
|
98
|
+
</table>
|
99
|
+
<% end %>
|
73
100
|
|
74
|
-
|
101
|
+
<h4>Stored attributes <span class="badge"><%= model.stored_attributes.size %></span></h4>
|
102
|
+
<% if model.stored_attributes.size > 0 %>
|
103
|
+
<table class="table table-condensed">
|
104
|
+
<tr>
|
105
|
+
<th class="nowrap">Store Name</th>
|
106
|
+
<th>Attributes</th>
|
107
|
+
</tr>
|
108
|
+
<% model.stored_attributes.each do |store, attributes| %>
|
109
|
+
<tr>
|
110
|
+
<td class="nowrap"><%= store.inspect %></td>
|
111
|
+
<td><%= attributes.inspect %></td>
|
112
|
+
</tr>
|
113
|
+
<% end %>
|
114
|
+
</table>
|
115
|
+
<% end %>
|
116
|
+
|
117
|
+
<h4>Callbacks Counts</h4>
|
118
|
+
<table class="table table-condensed not-wide">
|
119
|
+
<tr>
|
120
|
+
<th class="nowrap">Callback</th>
|
121
|
+
<th>Before</th>
|
122
|
+
<th>After</th>
|
123
|
+
<th>Around</th>
|
124
|
+
</tr>
|
125
|
+
<% [:save, :create, :validate, :commit, :touch, :rollback, :find, :initialize].each do |callback_type| %>
|
126
|
+
<% callbacks = model.send(:get_callbacks, callback_type) %>
|
127
|
+
<tr>
|
128
|
+
<td class="nowrap"><%= callback_type.inspect %></td>
|
129
|
+
<td><%= callbacks.select{ |cb| cb.kind.eql?(:before) }.size %></td>
|
130
|
+
<td><%= callbacks.select{ |cb| cb.kind.eql?(:after) }.size %></td>
|
131
|
+
<td><%= callbacks.select{ |cb| cb.kind.eql?(:around) }.size %></td>
|
132
|
+
</tr>
|
133
|
+
<% end %>
|
134
|
+
</table>
|
75
135
|
|
136
|
+
<% if model.respond_to?(:find_by_statement_cache) %>
|
137
|
+
<h4>FindBy Statement Cache <span class="badge"><%= model.find_by_statement_cache.size %></span></h4>
|
138
|
+
<% if model.find_by_statement_cache.size > 0 %>
|
139
|
+
<table class="table table-condensed">
|
140
|
+
<tr>
|
141
|
+
<th>Keys</th>
|
142
|
+
<th>SQL</th>
|
143
|
+
</tr>
|
144
|
+
<% model.find_by_statement_cache.each do |keys, statement_cache| %>
|
145
|
+
<tr>
|
146
|
+
<td><%= keys.inspect %></td>
|
147
|
+
<td><%= statement_cache.query_builder.instance_variable_get(:@sql) rescue '--Error--' %></td>
|
148
|
+
</tr>
|
149
|
+
<% end %>
|
150
|
+
</table>
|
151
|
+
<% end %>
|
152
|
+
<% end %>
|
76
153
|
|
77
|
-
|
78
|
-
|
79
|
-
|
154
|
+
</div>
|
155
|
+
</div>
|
156
|
+
|
157
|
+
<% end %>
|
80
158
|
|
81
159
|
<% end %>
|
82
|
-
</pre>
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<%- content_for(:javascripts) do -%>
|
2
|
-
<%= javascript_tag do
|
2
|
+
<%= javascript_tag do %>
|
3
3
|
$(function () { $('[data-toggle="tooltip"]').tooltip(); });
|
4
4
|
<% end -%>
|
5
5
|
<%- end %>
|
@@ -28,28 +28,30 @@
|
|
28
28
|
<table class="table table-striped table-condensed">
|
29
29
|
<tr>
|
30
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
31
|
<th><span data-toggle="tooltip" title="The HTTP method for this route">Verb</span></th>
|
33
32
|
<th><span data-toggle="tooltip" title="The URI for the route.">Path</span></th>
|
33
|
+
<th><span data-toggle="tooltip" title="The route name is used to generate Named Helpers like myaction_path">Name</span></th>
|
34
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
35
|
<th><span data-toggle="tooltip" title="Routes can be constrained to match parameters">Constraints</span></th>
|
36
36
|
<th><span data-toggle="tooltip" title="The Controller for the route">Controller</span></th>
|
37
37
|
<th><span data-toggle="tooltip" title="The Action for the route">Action</span></th>
|
38
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
|
39
|
+
<th><span data-toggle="tooltip" title="Some routes are handled by mounted engines">Engine?</span></th>
|
40
|
+
<th><span data-toggle="tooltip" title="Does the controller and action exist for the route?">Route valid?</span></th>
|
40
41
|
</tr>
|
41
42
|
<% @routes.each do |route| %>
|
42
43
|
<tr>
|
43
|
-
<td><%= route.precedence %></td>
|
44
|
-
<td><%= route.name %></td>
|
44
|
+
<td><a name="route_<%= route.precedence %>"><%= route.precedence %></a></td>
|
45
45
|
<td><%= route.verb %></td>
|
46
46
|
<td><%= route.path %></td>
|
47
|
+
<td><%= route.name %></td>
|
47
48
|
<td><%= route.endpoint_or_app_name %></td>
|
48
49
|
<td><%= route.constraints %></td>
|
49
50
|
<td><%= route.controller %></td>
|
50
51
|
<td><%= route.action %></td>
|
51
|
-
<td><%= route.
|
52
|
-
<td><%= route.engine? %></td>
|
52
|
+
<td><%= truth_label(route.internal?) %></td>
|
53
|
+
<td><%= truth_label(route.engine?) %></td>
|
54
|
+
<td><%= truth_label(route.route_problem.nil?) %> <%= route.route_problem %></td>
|
53
55
|
</tr>
|
54
56
|
<% end %>
|
55
57
|
</table>
|
@@ -70,7 +72,7 @@
|
|
70
72
|
</div>
|
71
73
|
</div>
|
72
74
|
<hr>
|
73
|
-
<%
|
75
|
+
<% unless @recognized_paths.blank? %>
|
74
76
|
<div class="form-group">
|
75
77
|
<div class="col-sm-offset-2 col-sm-10">
|
76
78
|
<table class="table table-striped">
|
@@ -38,7 +38,7 @@
|
|
38
38
|
<%= truth_label(@connection_schema_cache.version.present?,'DOES','DOES NOT') %>
|
39
39
|
appear to have been loaded from the schema cache dump.
|
40
40
|
</p>
|
41
|
-
<%
|
41
|
+
<% unless Rails.application.config.cache_classes %>
|
42
42
|
<p>Note: The schema cache is only loaded once on application startup. During development, with code reloading, it is likely to be reset.</p>
|
43
43
|
<% end %>
|
44
44
|
|
@@ -75,7 +75,7 @@
|
|
75
75
|
<tr>
|
76
76
|
<td colspan="7" class="warning text-center">
|
77
77
|
No data exists in the schema cache
|
78
|
-
|
78
|
+
<br />
|
79
79
|
This most likely means that the connection has been reset either by
|
80
80
|
code reloading or some connection problem
|
81
81
|
</td>
|
@@ -0,0 +1,29 @@
|
|
1
|
+
<h2>Constants</h2>
|
2
|
+
|
3
|
+
<h3>Global constants <span class="badge"><%= @constants.size %></span></h3>
|
4
|
+
<p>
|
5
|
+
Global constants are variables that are defined outside of a module and start with a capital letter.
|
6
|
+
In most cases, constants should be frozen to prevent them from being modified.
|
7
|
+
</p>
|
8
|
+
<p>
|
9
|
+
Classes and modules are also constants. This table shows the non-class/module constants.
|
10
|
+
</p>
|
11
|
+
|
12
|
+
<table class="table table-striped table-condensed">
|
13
|
+
<thead>
|
14
|
+
<tr>
|
15
|
+
<th>Constant</th>
|
16
|
+
<th>Frozen?</th>
|
17
|
+
<th>Class</th>
|
18
|
+
</tr>
|
19
|
+
</thead>
|
20
|
+
<tbody>
|
21
|
+
<% @constants.each do |name, klass, value| %>
|
22
|
+
<tr>
|
23
|
+
<td><code><%= name.inspect %></code></td>
|
24
|
+
<td><%= truth_label(value.frozen?) %></td>
|
25
|
+
<td><code><%= klass %></code></td>
|
26
|
+
</tr>
|
27
|
+
<% end %>
|
28
|
+
</tbody>
|
29
|
+
</table>
|
@@ -0,0 +1,24 @@
|
|
1
|
+
<h2>Extensions</h2>
|
2
|
+
|
3
|
+
<h3>Object Extensions <span class="badge"><%= @obj_extensions.size %></span></h3>
|
4
|
+
<p>
|
5
|
+
Ruby's <code>Object</code> class can be extended by your own code or libraries you include.
|
6
|
+
Here are all the methods on Object and where they were defined.
|
7
|
+
</p>
|
8
|
+
|
9
|
+
<table class="table table-striped table-condensed">
|
10
|
+
<thead>
|
11
|
+
<tr>
|
12
|
+
<th>Method</th>
|
13
|
+
<th>Source Location</th>
|
14
|
+
</tr>
|
15
|
+
</thead>
|
16
|
+
<tbody>
|
17
|
+
<% @obj_extensions.each do |meth, file, lineno| %>
|
18
|
+
<tr>
|
19
|
+
<td><code><%= meth.inspect %></code></td>
|
20
|
+
<td><code><%= display_source_locaction(file, lineno) %></code></td>
|
21
|
+
</tr>
|
22
|
+
<% end %>
|
23
|
+
</tbody>
|
24
|
+
</table>
|
@@ -2,9 +2,9 @@
|
|
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
|
6
|
-
<li><a href="#load_path" role="tab" data-toggle="tab">Load Path
|
7
|
-
<li><a href="#loaded_features" role="tab" data-toggle="tab">Loaded Features
|
5
|
+
<li><a href="#environment" role="tab" data-toggle="tab">Environment <span class="badge"><%= ENV.size %></span></a></li>
|
6
|
+
<li><a href="#load_path" role="tab" data-toggle="tab">Load Path <span class="badge"><%= $LOAD_PATH.size %></span></a></li>
|
7
|
+
<li><a href="#loaded_features" role="tab" data-toggle="tab">Loaded Features <span class="badge"><%= $LOADED_FEATURES.size %></span></a></li>
|
8
8
|
<li><a href="#rbconfig" role="tab" data-toggle="tab">Ruby Config</a></li>
|
9
9
|
<li><a href="#bundler" role="tab" data-toggle="tab">Bundler</a></li>
|
10
10
|
</ul>
|
@@ -75,8 +75,7 @@
|
|
75
75
|
|
76
76
|
<div class="tab-pane" id="environment">
|
77
77
|
<p>
|
78
|
-
The <code>ENV</code>
|
79
|
-
the environment variables.
|
78
|
+
The <code>ENV</code> includes the environment variables.
|
80
79
|
</p>
|
81
80
|
<pre>
|
82
81
|
<% @filtered_env.each do |key, val| -%>
|
@@ -89,25 +88,32 @@
|
|
89
88
|
|
90
89
|
<h2>Configuration</h2>
|
91
90
|
<dl>
|
92
|
-
|
93
91
|
<dt>Version</dt><dd><%= ::Bundler::VERSION %></dd>
|
94
92
|
<dt>Local config file</dt><dd><%= Bundler.settings.send(:local_config_file) %></dd>
|
95
93
|
<dt>Global config file</dt><dd><%= Bundler.settings.send(:global_config_file) %></dd>
|
96
|
-
<dt>Require sudo?</dt><dd><%= Bundler.requires_sudo? %></dd>
|
97
|
-
<dt>Allow sudo?</dt><dd><%= Bundler.settings.allow_sudo? %></dd>
|
94
|
+
<dt>Require sudo?</dt><dd><%= truth_label(Bundler.requires_sudo?) %></dd>
|
95
|
+
<dt>Allow sudo?</dt><dd><%= truth_label(Bundler.settings.allow_sudo?) %></dd>
|
98
96
|
</dl>
|
99
97
|
<h2>Settings</h2>
|
100
|
-
<
|
101
|
-
|
102
|
-
|
103
|
-
|
98
|
+
<table class="table table-condensed">
|
99
|
+
<tr>
|
100
|
+
<th>Setting</th>
|
101
|
+
<th>Value</th>
|
102
|
+
<th>Configured by</th>
|
103
|
+
</tr>
|
104
|
+
<% Bundler.settings.all.reject {|key| key.start_with?('#')}.each do |key| %>
|
105
|
+
<tr>
|
106
|
+
<td><%= key %></td>
|
107
|
+
<td><code><%= Bundler.settings[key].inspect %></code></td>
|
108
|
+
<td><%= Bundler.settings.pretty_values_for(key)[0] %></td>
|
109
|
+
</tr>
|
104
110
|
<% end %>
|
105
|
-
</
|
111
|
+
</table>
|
106
112
|
</div>
|
107
113
|
|
108
114
|
<div class="tab-pane" id="load_path">
|
109
115
|
<p>
|
110
|
-
The <code>$LOAD_PATH</code>
|
116
|
+
The <code>$LOAD_PATH</code> lists
|
111
117
|
the directories that will be searched when code is loaded with
|
112
118
|
<code>require</code> or <code>load</code>.
|
113
119
|
</p>
|
@@ -119,7 +125,7 @@
|
|
119
125
|
</div>
|
120
126
|
|
121
127
|
<div class="tab-pane" id="loaded_features">
|
122
|
-
<p>The following
|
128
|
+
<p>The following files have been loaded via <code>require</code> at some point.</p>
|
123
129
|
<ul>
|
124
130
|
<%- $LOADED_FEATURES.each do |filename| %>
|
125
131
|
<li><%= filename %></li>
|
@@ -47,7 +47,7 @@ ENV['RUBY_GLOBAL_METHOD_CACHE_SIZE'] = <%= ENV.fetch('RUBY_GLOBAL_METHOD_CACHE_S
|
|
47
47
|
</p>
|
48
48
|
<h4>Controls</h4>
|
49
49
|
<p>
|
50
|
-
Normally, the Garbage Collector runs as needed to free memory. You can also programmatically control the GC as well to stop it from running or to trigger a GC on demand
|
50
|
+
Normally, the Garbage Collector runs as needed to free memory. You can also programmatically control the GC as well to stop it from running or to trigger a GC on demand.
|
51
51
|
</p>
|
52
52
|
<p>
|
53
53
|
Is GC enabled? <%= truth_label(@gc_enabled) %>
|
@@ -91,15 +91,12 @@ ENV['RUBY_GLOBAL_METHOD_CACHE_SIZE'] = <%= ENV.fetch('RUBY_GLOBAL_METHOD_CACHE_S
|
|
91
91
|
</p>
|
92
92
|
<p>
|
93
93
|
Some useful resources for understanding how these variables affect performance can be found here:
|
94
|
-
<ul>
|
95
|
-
<li><a href="https://github.com/tmm1">Aman Gupta's</a> post: <a href="http://tmm1.net/ruby21-rgengc/">Ruby 2.1: RGenGC</a></li>
|
96
|
-
<li><a href="https://github.com/mrnugget">Thorsten Ball's</a> post: <a href="http://thorstenball.com/blog/2014/03/12/watching-understanding-ruby-2.1-garbage-collector/">Watching and Understanding the Ruby 2.1 Garbage Collector at Work</a></li>
|
97
|
-
</ul>
|
98
94
|
</p>
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
95
|
+
<ul>
|
96
|
+
<li><a href="https://github.com/tmm1">Aman Gupta's</a> post: <a href="http://tmm1.net/ruby21-rgengc/">Ruby 2.1: RGenGC</a></li>
|
97
|
+
<li><a href="https://github.com/mrnugget">Thorsten Ball's</a> post: <a href="http://thorstenball.com/blog/2014/03/12/watching-understanding-ruby-2.1-garbage-collector/">Watching and Understanding the Ruby 2.1 Garbage Collector at Work</a></li>
|
98
|
+
</ul>
|
99
|
+
|
103
100
|
<table class="table table-condensed">
|
104
101
|
<tr>
|
105
102
|
<th>ENV</th>
|