trace_location 0.9.3 → 0.10.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/.rubocop.yml +1 -1
- data/.travis.yml +8 -2
- data/Gemfile.lock +4 -8
- data/README.md +43 -316
- data/examples/active_record_establish_connection/result.csv +265 -0
- data/examples/active_record_establish_connection/result.log +271 -0
- data/examples/active_record_establish_connection/result.md +2279 -0
- data/examples/active_record_validation_process/result.csv +11 -0
- data/examples/active_record_validation_process/result.log +17 -0
- data/examples/active_record_validation_process/result.md +69 -0
- data/examples/has_secure_password/result.csv +41 -0
- data/examples/has_secure_password/result.log +47 -0
- data/examples/has_secure_password/result.md +395 -0
- data/examples/lifecycle_of_rails_application/result.csv +2769 -0
- data/examples/lifecycle_of_rails_application/result.log +2775 -0
- data/examples/lifecycle_of_rails_application/result.md +21437 -0
- data/examples/rendering_process/result.csv +617 -0
- data/examples/rendering_process/result.log +623 -0
- data/examples/rendering_process/result.md +4414 -0
- data/lib/trace_location.rb +2 -1
- data/lib/trace_location/collector.rb +19 -10
- data/lib/trace_location/config.rb +3 -3
- data/lib/trace_location/generator/csv.rb +12 -2
- data/lib/trace_location/generator/log.rb +6 -7
- data/lib/trace_location/generator/markdown.rb +5 -4
- data/lib/trace_location/report.rb +1 -0
- data/lib/trace_location/version.rb +1 -1
- data/trace_location.gemspec +3 -4
- metadata +21 -19
- data/CHANGELOG.md +0 -19
@@ -0,0 +1,4414 @@
|
|
1
|
+
Generated by [trace_location](https://github.com/yhirano55/trace_location) at 2019-06-08 01:37:49 +0900
|
2
|
+
|
3
|
+
<details open>
|
4
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/instrumentation.rb:43</summary>
|
5
|
+
|
6
|
+
##### ActionController::Instrumentation#render
|
7
|
+
|
8
|
+
```ruby
|
9
|
+
def render(*args)
|
10
|
+
render_output = nil
|
11
|
+
self.view_runtime = cleanup_view_runtime do
|
12
|
+
Benchmark.ms { render_output = super }
|
13
|
+
end
|
14
|
+
render_output
|
15
|
+
end
|
16
|
+
# called from app/controllers/books_controller.rb:9
|
17
|
+
```
|
18
|
+
</details>
|
19
|
+
<details open>
|
20
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/railties/controller_runtime.rb:27</summary>
|
21
|
+
|
22
|
+
##### ActiveRecord::Railties::ControllerRuntime#cleanup_view_runtime
|
23
|
+
|
24
|
+
```ruby
|
25
|
+
def cleanup_view_runtime
|
26
|
+
if logger && logger.info? && ActiveRecord::Base.connected?
|
27
|
+
db_rt_before_render = ActiveRecord::LogSubscriber.reset_runtime
|
28
|
+
self.db_runtime = (db_runtime || 0) + db_rt_before_render
|
29
|
+
runtime = super
|
30
|
+
db_rt_after_render = ActiveRecord::LogSubscriber.reset_runtime
|
31
|
+
self.db_runtime += db_rt_after_render
|
32
|
+
runtime - db_rt_after_render
|
33
|
+
else
|
34
|
+
super
|
35
|
+
end
|
36
|
+
end
|
37
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/instrumentation.rb:45
|
38
|
+
```
|
39
|
+
</details>
|
40
|
+
<details open>
|
41
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_handling.rb:122</summary>
|
42
|
+
|
43
|
+
##### ActiveRecord::ConnectionHandling.connected?
|
44
|
+
|
45
|
+
```ruby
|
46
|
+
def connected?
|
47
|
+
connection_handler.connected?(connection_specification_name)
|
48
|
+
end
|
49
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/railties/controller_runtime.rb:28
|
50
|
+
```
|
51
|
+
</details>
|
52
|
+
<details open>
|
53
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/core.rb:130</summary>
|
54
|
+
|
55
|
+
##### ActiveRecord::Base.connection_handler
|
56
|
+
|
57
|
+
```ruby
|
58
|
+
def self.connection_handler
|
59
|
+
ActiveRecord::RuntimeRegistry.connection_handler || default_connection_handler
|
60
|
+
end
|
61
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_handling.rb:123
|
62
|
+
```
|
63
|
+
</details>
|
64
|
+
<details open>
|
65
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/runtime_registry.rb:20</summary>
|
66
|
+
|
67
|
+
##### ActiveRecord::RuntimeRegistry.connection_handler
|
68
|
+
|
69
|
+
```ruby
|
70
|
+
class_eval %{ def self.#{val}; instance.#{val}; end }, __FILE__, __LINE__
|
71
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/core.rb:131
|
72
|
+
```
|
73
|
+
</details>
|
74
|
+
<details open>
|
75
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_handling.rb:96</summary>
|
76
|
+
|
77
|
+
##### ActiveRecord::ConnectionHandling.connection_specification_name
|
78
|
+
|
79
|
+
```ruby
|
80
|
+
def connection_specification_name
|
81
|
+
if !defined?(@connection_specification_name) || @connection_specification_name.nil?
|
82
|
+
return self == Base ? "primary" : superclass.connection_specification_name
|
83
|
+
end
|
84
|
+
@connection_specification_name
|
85
|
+
end
|
86
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_handling.rb:123
|
87
|
+
```
|
88
|
+
</details>
|
89
|
+
<details open>
|
90
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:1019</summary>
|
91
|
+
|
92
|
+
##### ActiveRecord::ConnectionAdapters::ConnectionHandler#connected?
|
93
|
+
|
94
|
+
```ruby
|
95
|
+
def connected?(spec_name)
|
96
|
+
conn = retrieve_connection_pool(spec_name)
|
97
|
+
conn && conn.connected?
|
98
|
+
end
|
99
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_handling.rb:123
|
100
|
+
```
|
101
|
+
</details>
|
102
|
+
<details open>
|
103
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:1039</summary>
|
104
|
+
|
105
|
+
##### ActiveRecord::ConnectionAdapters::ConnectionHandler#retrieve_connection_pool
|
106
|
+
|
107
|
+
```ruby
|
108
|
+
def retrieve_connection_pool(spec_name)
|
109
|
+
owner_to_pool.fetch(spec_name) do
|
110
|
+
# Check if a connection was previously established in an ancestor process,
|
111
|
+
# which may have been forked.
|
112
|
+
if ancestor_pool = pool_from_any_process_for(spec_name)
|
113
|
+
# A connection was established in an ancestor process that must have
|
114
|
+
# subsequently forked. We can't reuse the connection, but we can copy
|
115
|
+
# the specification and establish a new connection with it.
|
116
|
+
establish_connection(ancestor_pool.spec.to_hash).tap do |pool|
|
117
|
+
pool.schema_cache = ancestor_pool.schema_cache if ancestor_pool.schema_cache
|
118
|
+
end
|
119
|
+
else
|
120
|
+
owner_to_pool[spec_name] = nil
|
121
|
+
end
|
122
|
+
end
|
123
|
+
end
|
124
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:1020
|
125
|
+
```
|
126
|
+
</details>
|
127
|
+
<details open>
|
128
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:1058</summary>
|
129
|
+
|
130
|
+
##### ActiveRecord::ConnectionAdapters::ConnectionHandler#owner_to_pool
|
131
|
+
|
132
|
+
```ruby
|
133
|
+
def owner_to_pool
|
134
|
+
@owner_to_pool[Process.pid]
|
135
|
+
end
|
136
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:1040
|
137
|
+
```
|
138
|
+
</details>
|
139
|
+
<details open>
|
140
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:422</summary>
|
141
|
+
|
142
|
+
##### ActiveRecord::ConnectionAdapters::ConnectionPool#connected?
|
143
|
+
|
144
|
+
```ruby
|
145
|
+
def connected?
|
146
|
+
synchronize { @connections.any? }
|
147
|
+
end
|
148
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:1021
|
149
|
+
```
|
150
|
+
</details>
|
151
|
+
<details open>
|
152
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:15</summary>
|
153
|
+
|
154
|
+
##### ActiveRecord::LogSubscriber.reset_runtime
|
155
|
+
|
156
|
+
```ruby
|
157
|
+
def self.reset_runtime
|
158
|
+
rt, self.runtime = runtime, 0
|
159
|
+
rt
|
160
|
+
end
|
161
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/railties/controller_runtime.rb:29
|
162
|
+
```
|
163
|
+
</details>
|
164
|
+
<details open>
|
165
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:11</summary>
|
166
|
+
|
167
|
+
##### ActiveRecord::LogSubscriber.runtime
|
168
|
+
|
169
|
+
```ruby
|
170
|
+
def self.runtime
|
171
|
+
ActiveRecord::RuntimeRegistry.sql_runtime ||= 0
|
172
|
+
end
|
173
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:16
|
174
|
+
```
|
175
|
+
</details>
|
176
|
+
<details open>
|
177
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/runtime_registry.rb:20</summary>
|
178
|
+
|
179
|
+
##### ActiveRecord::RuntimeRegistry.sql_runtime
|
180
|
+
|
181
|
+
```ruby
|
182
|
+
class_eval %{ def self.#{val}; instance.#{val}; end }, __FILE__, __LINE__
|
183
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:12
|
184
|
+
```
|
185
|
+
</details>
|
186
|
+
<details open>
|
187
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:7</summary>
|
188
|
+
|
189
|
+
##### ActiveRecord::LogSubscriber.runtime=
|
190
|
+
|
191
|
+
```ruby
|
192
|
+
def self.runtime=(value)
|
193
|
+
ActiveRecord::RuntimeRegistry.sql_runtime = value
|
194
|
+
end
|
195
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:16
|
196
|
+
```
|
197
|
+
</details>
|
198
|
+
<details open>
|
199
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/runtime_registry.rb:21</summary>
|
200
|
+
|
201
|
+
##### ActiveRecord::RuntimeRegistry.sql_runtime=
|
202
|
+
|
203
|
+
```ruby
|
204
|
+
class_eval %{ def self.#{val}=(x); instance.#{val}=x; end }, __FILE__, __LINE__
|
205
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:8
|
206
|
+
```
|
207
|
+
</details>
|
208
|
+
<details open>
|
209
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/instrumentation.rb:86</summary>
|
210
|
+
|
211
|
+
##### ActiveRecord::Railties::ControllerRuntime#cleanup_view_runtime
|
212
|
+
|
213
|
+
```ruby
|
214
|
+
def cleanup_view_runtime
|
215
|
+
if logger && logger.info? && ActiveRecord::Base.connected?
|
216
|
+
db_rt_before_render = ActiveRecord::LogSubscriber.reset_runtime
|
217
|
+
self.db_runtime = (db_runtime || 0) + db_rt_before_render
|
218
|
+
runtime = super
|
219
|
+
db_rt_after_render = ActiveRecord::LogSubscriber.reset_runtime
|
220
|
+
self.db_runtime += db_rt_after_render
|
221
|
+
runtime - db_rt_after_render
|
222
|
+
else
|
223
|
+
super
|
224
|
+
end
|
225
|
+
end
|
226
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/railties/controller_runtime.rb:31
|
227
|
+
```
|
228
|
+
</details>
|
229
|
+
<details open>
|
230
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/rendering.rb:34</summary>
|
231
|
+
|
232
|
+
##### ActionController::Instrumentation#render
|
233
|
+
|
234
|
+
```ruby
|
235
|
+
def render(*args)
|
236
|
+
render_output = nil
|
237
|
+
self.view_runtime = cleanup_view_runtime do
|
238
|
+
Benchmark.ms { render_output = super }
|
239
|
+
end
|
240
|
+
render_output
|
241
|
+
end
|
242
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/instrumentation.rb:46
|
243
|
+
```
|
244
|
+
</details>
|
245
|
+
<details open>
|
246
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/abstract_controller/rendering.rb:23</summary>
|
247
|
+
|
248
|
+
##### ActionController::Instrumentation#render
|
249
|
+
|
250
|
+
```ruby
|
251
|
+
def render(*args)
|
252
|
+
render_output = nil
|
253
|
+
self.view_runtime = cleanup_view_runtime do
|
254
|
+
Benchmark.ms { render_output = super }
|
255
|
+
end
|
256
|
+
render_output
|
257
|
+
end
|
258
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/rendering.rb:36
|
259
|
+
```
|
260
|
+
</details>
|
261
|
+
<details open>
|
262
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/abstract_controller/rendering.rb:116</summary>
|
263
|
+
|
264
|
+
##### AbstractController::Rendering#_normalize_render
|
265
|
+
|
266
|
+
```ruby
|
267
|
+
def _normalize_render(*args, &block) # :nodoc:
|
268
|
+
options = _normalize_args(*args, &block)
|
269
|
+
_process_variant(options)
|
270
|
+
_normalize_options(options)
|
271
|
+
options
|
272
|
+
end
|
273
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/abstract_controller/rendering.rb:24
|
274
|
+
```
|
275
|
+
</details>
|
276
|
+
<details open>
|
277
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/rendering.rb:82</summary>
|
278
|
+
|
279
|
+
##### ActionController::Rendering#_normalize_args
|
280
|
+
|
281
|
+
```ruby
|
282
|
+
def _normalize_args(action = nil, options = {}, &blk)
|
283
|
+
options = super
|
284
|
+
options[:update] = blk if block_given?
|
285
|
+
options
|
286
|
+
end
|
287
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/abstract_controller/rendering.rb:117
|
288
|
+
```
|
289
|
+
</details>
|
290
|
+
<details open>
|
291
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/abstract_controller/rendering.rb:78</summary>
|
292
|
+
|
293
|
+
##### ActionController::Rendering#_normalize_args
|
294
|
+
|
295
|
+
```ruby
|
296
|
+
def _normalize_args(action = nil, options = {}, &blk)
|
297
|
+
options = super
|
298
|
+
options[:update] = blk if block_given?
|
299
|
+
options
|
300
|
+
end
|
301
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/rendering.rb:83
|
302
|
+
```
|
303
|
+
</details>
|
304
|
+
<details open>
|
305
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/rendering.rb:57</summary>
|
306
|
+
|
307
|
+
##### ActionController::Rendering#_process_variant
|
308
|
+
|
309
|
+
```ruby
|
310
|
+
def _process_variant(options)
|
311
|
+
if defined?(request) && !request.nil? && request.variant.present?
|
312
|
+
options[:variant] = request.variant
|
313
|
+
end
|
314
|
+
end
|
315
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/abstract_controller/rendering.rb:118
|
316
|
+
```
|
317
|
+
</details>
|
318
|
+
<details open>
|
319
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/mime_negotiation.rb:100</summary>
|
320
|
+
|
321
|
+
##### ActionDispatch::Http::MimeNegotiation#variant
|
322
|
+
|
323
|
+
```ruby
|
324
|
+
def variant
|
325
|
+
@variant ||= ActiveSupport::ArrayInquirer.new
|
326
|
+
end
|
327
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/rendering.rb:58
|
328
|
+
```
|
329
|
+
</details>
|
330
|
+
<details open>
|
331
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/rendering.rb:89</summary>
|
332
|
+
|
333
|
+
##### ActionController::Rendering#_normalize_options
|
334
|
+
|
335
|
+
```ruby
|
336
|
+
def _normalize_options(options)
|
337
|
+
_normalize_text(options)
|
338
|
+
|
339
|
+
if options[:html]
|
340
|
+
options[:html] = ERB::Util.html_escape(options[:html])
|
341
|
+
end
|
342
|
+
|
343
|
+
if options[:status]
|
344
|
+
options[:status] = Rack::Utils.status_code(options[:status])
|
345
|
+
end
|
346
|
+
|
347
|
+
super
|
348
|
+
end
|
349
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/abstract_controller/rendering.rb:119
|
350
|
+
```
|
351
|
+
</details>
|
352
|
+
<details open>
|
353
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/rendering.rb:103</summary>
|
354
|
+
|
355
|
+
##### ActionController::Rendering#_normalize_text
|
356
|
+
|
357
|
+
```ruby
|
358
|
+
def _normalize_text(options)
|
359
|
+
RENDER_FORMATS_IN_PRIORITY.each do |format|
|
360
|
+
if options.key?(format) && options[format].respond_to?(:to_text)
|
361
|
+
options[format] = options[format].to_text
|
362
|
+
end
|
363
|
+
end
|
364
|
+
end
|
365
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/rendering.rb:90
|
366
|
+
```
|
367
|
+
</details>
|
368
|
+
<details open>
|
369
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/abstract_controller/rendering.rb:93</summary>
|
370
|
+
|
371
|
+
##### ActionController::Rendering#_normalize_options
|
372
|
+
|
373
|
+
```ruby
|
374
|
+
def _normalize_options(options)
|
375
|
+
_normalize_text(options)
|
376
|
+
|
377
|
+
if options[:html]
|
378
|
+
options[:html] = ERB::Util.html_escape(options[:html])
|
379
|
+
end
|
380
|
+
|
381
|
+
if options[:status]
|
382
|
+
options[:status] = Rack::Utils.status_code(options[:status])
|
383
|
+
end
|
384
|
+
|
385
|
+
super
|
386
|
+
end
|
387
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/rendering.rb:100
|
388
|
+
```
|
389
|
+
</details>
|
390
|
+
<details open>
|
391
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/renderers.rb:141</summary>
|
392
|
+
|
393
|
+
##### ActionController::Renderers#render_to_body
|
394
|
+
|
395
|
+
```ruby
|
396
|
+
def render_to_body(options)
|
397
|
+
_render_to_body_with_renderer(options) || super
|
398
|
+
end
|
399
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/abstract_controller/rendering.rb:25
|
400
|
+
```
|
401
|
+
</details>
|
402
|
+
<details open>
|
403
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/renderers.rb:145</summary>
|
404
|
+
|
405
|
+
##### ActionController::Renderers#_render_to_body_with_renderer
|
406
|
+
|
407
|
+
```ruby
|
408
|
+
def _render_to_body_with_renderer(options)
|
409
|
+
_renderers.each do |name|
|
410
|
+
if options.key?(name)
|
411
|
+
_process_options(options)
|
412
|
+
method_name = Renderers._render_with_renderer_method_name(name)
|
413
|
+
return send(method_name, options.delete(name), options)
|
414
|
+
end
|
415
|
+
end
|
416
|
+
nil
|
417
|
+
end
|
418
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/renderers.rb:142
|
419
|
+
```
|
420
|
+
</details>
|
421
|
+
<details open>
|
422
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/rendering.rb:112</summary>
|
423
|
+
|
424
|
+
##### ActionController::Rendering#_process_options
|
425
|
+
|
426
|
+
```ruby
|
427
|
+
def _process_options(options)
|
428
|
+
status, content_type, location = options.values_at(:status, :content_type, :location)
|
429
|
+
|
430
|
+
self.status = status if status
|
431
|
+
self.content_type = content_type if content_type
|
432
|
+
headers["Location"] = url_for(location) if location
|
433
|
+
|
434
|
+
super
|
435
|
+
end
|
436
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/renderers.rb:148
|
437
|
+
```
|
438
|
+
</details>
|
439
|
+
<details open>
|
440
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/abstract_controller/rendering.rb:98</summary>
|
441
|
+
|
442
|
+
##### ActionController::Rendering#_process_options
|
443
|
+
|
444
|
+
```ruby
|
445
|
+
def _process_options(options)
|
446
|
+
status, content_type, location = options.values_at(:status, :content_type, :location)
|
447
|
+
|
448
|
+
self.status = status if status
|
449
|
+
self.content_type = content_type if content_type
|
450
|
+
headers["Location"] = url_for(location) if location
|
451
|
+
|
452
|
+
super
|
453
|
+
end
|
454
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/rendering.rb:119
|
455
|
+
```
|
456
|
+
</details>
|
457
|
+
<details open>
|
458
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/renderers.rb:91</summary>
|
459
|
+
|
460
|
+
##### ActionController::Renderers._render_with_renderer_method_name
|
461
|
+
|
462
|
+
```ruby
|
463
|
+
def self._render_with_renderer_method_name(key)
|
464
|
+
"_render_with_renderer_#{key}"
|
465
|
+
end
|
466
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/renderers.rb:149
|
467
|
+
```
|
468
|
+
</details>
|
469
|
+
<details open>
|
470
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/renderers.rb:156</summary>
|
471
|
+
|
472
|
+
##### ActionController::Renderers#_render_with_renderer_json
|
473
|
+
|
474
|
+
```ruby
|
475
|
+
add :json do |json, options|
|
476
|
+
json = json.to_json(options) unless json.kind_of?(String)
|
477
|
+
|
478
|
+
if options[:callback].present?
|
479
|
+
if content_type.nil? || content_type == Mime[:json]
|
480
|
+
self.content_type = Mime[:js]
|
481
|
+
end
|
482
|
+
|
483
|
+
"/**/#{options[:callback]}(#{json})"
|
484
|
+
else
|
485
|
+
self.content_type ||= Mime[:json]
|
486
|
+
json
|
487
|
+
end
|
488
|
+
end
|
489
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/renderers.rb:150
|
490
|
+
```
|
491
|
+
</details>
|
492
|
+
<details open>
|
493
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/delegation.rb:71</summary>
|
494
|
+
|
495
|
+
##### ActiveRecord::Delegation#as_json
|
496
|
+
|
497
|
+
```ruby
|
498
|
+
delegate :to_xml, :encode_with, :length, :each, :uniq, :join,
|
499
|
+
:[], :&, :|, :+, :-, :sample, :reverse, :rotate, :compact, :in_groups, :in_groups_of,
|
500
|
+
:to_sentence, :to_formatted_s, :as_json,
|
501
|
+
:shuffle, :split, :slice, :index, :rindex, to: :records
|
502
|
+
# called from vendor/bundle/gems/activesupport-5.2.3/lib/active_support/json/encoding.rb:35
|
503
|
+
```
|
504
|
+
</details>
|
505
|
+
<details open>
|
506
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:199</summary>
|
507
|
+
|
508
|
+
##### ActiveRecord::Relation#records
|
509
|
+
|
510
|
+
```ruby
|
511
|
+
def records # :nodoc:
|
512
|
+
load
|
513
|
+
@records
|
514
|
+
end
|
515
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/delegation.rb:71
|
516
|
+
```
|
517
|
+
</details>
|
518
|
+
<details open>
|
519
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:421</summary>
|
520
|
+
|
521
|
+
##### ActiveRecord::Relation#load
|
522
|
+
|
523
|
+
```ruby
|
524
|
+
def load(&block)
|
525
|
+
exec_queries(&block) unless loaded?
|
526
|
+
|
527
|
+
self
|
528
|
+
end
|
529
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:200
|
530
|
+
```
|
531
|
+
</details>
|
532
|
+
<details open>
|
533
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:546</summary>
|
534
|
+
|
535
|
+
##### ActiveRecord::Relation#exec_queries
|
536
|
+
|
537
|
+
```ruby
|
538
|
+
def exec_queries(&block)
|
539
|
+
skip_query_cache_if_necessary do
|
540
|
+
@records =
|
541
|
+
if eager_loading?
|
542
|
+
apply_join_dependency do |relation, join_dependency|
|
543
|
+
if ActiveRecord::NullRelation === relation
|
544
|
+
[]
|
545
|
+
else
|
546
|
+
relation = join_dependency.apply_column_aliases(relation)
|
547
|
+
rows = connection.select_all(relation.arel, "SQL")
|
548
|
+
join_dependency.instantiate(rows, &block)
|
549
|
+
end.freeze
|
550
|
+
end
|
551
|
+
else
|
552
|
+
klass.find_by_sql(arel, &block).freeze
|
553
|
+
end
|
554
|
+
|
555
|
+
preload = preload_values
|
556
|
+
preload += includes_values unless eager_loading?
|
557
|
+
preloader = nil
|
558
|
+
preload.each do |associations|
|
559
|
+
preloader ||= build_preloader
|
560
|
+
preloader.preload @records, associations
|
561
|
+
end
|
562
|
+
|
563
|
+
@records.each(&:readonly!) if readonly_value
|
564
|
+
|
565
|
+
@loaded = true
|
566
|
+
@records
|
567
|
+
end
|
568
|
+
end
|
569
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:422
|
570
|
+
```
|
571
|
+
</details>
|
572
|
+
<details open>
|
573
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:578</summary>
|
574
|
+
|
575
|
+
##### ActiveRecord::Relation#skip_query_cache_if_necessary
|
576
|
+
|
577
|
+
```ruby
|
578
|
+
def skip_query_cache_if_necessary
|
579
|
+
if skip_query_cache_value
|
580
|
+
uncached do
|
581
|
+
yield
|
582
|
+
end
|
583
|
+
else
|
584
|
+
yield
|
585
|
+
end
|
586
|
+
end
|
587
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:547
|
588
|
+
```
|
589
|
+
</details>
|
590
|
+
<details open>
|
591
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:69</summary>
|
592
|
+
|
593
|
+
##### ActiveRecord::QueryMethods#skip_query_cache_value
|
594
|
+
|
595
|
+
```ruby
|
596
|
+
def #{method_name} # def includes_values
|
597
|
+
get_value(#{name.inspect}) # get_value(:includes)
|
598
|
+
end # end
|
599
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:579
|
600
|
+
```
|
601
|
+
</details>
|
602
|
+
<details open>
|
603
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:907</summary>
|
604
|
+
|
605
|
+
##### ActiveRecord::QueryMethods#get_value
|
606
|
+
|
607
|
+
```ruby
|
608
|
+
def get_value(name) # :nodoc:
|
609
|
+
@values.fetch(name, DEFAULT_VALUES[name])
|
610
|
+
end
|
611
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:70
|
612
|
+
```
|
613
|
+
</details>
|
614
|
+
<details open>
|
615
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:472</summary>
|
616
|
+
|
617
|
+
##### ActiveRecord::Relation#eager_loading?
|
618
|
+
|
619
|
+
```ruby
|
620
|
+
def eager_loading?
|
621
|
+
@should_eager_load ||=
|
622
|
+
eager_load_values.any? ||
|
623
|
+
includes_values.any? && (joined_includes_values.any? || references_eager_loaded_tables?)
|
624
|
+
end
|
625
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:549
|
626
|
+
```
|
627
|
+
</details>
|
628
|
+
<details open>
|
629
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:69</summary>
|
630
|
+
|
631
|
+
##### ActiveRecord::QueryMethods#eager_load_values
|
632
|
+
|
633
|
+
```ruby
|
634
|
+
def #{method_name} # def includes_values
|
635
|
+
get_value(#{name.inspect}) # get_value(:includes)
|
636
|
+
end # end
|
637
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:474
|
638
|
+
```
|
639
|
+
</details>
|
640
|
+
<details open>
|
641
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:907</summary>
|
642
|
+
|
643
|
+
##### ActiveRecord::QueryMethods#get_value
|
644
|
+
|
645
|
+
```ruby
|
646
|
+
def get_value(name) # :nodoc:
|
647
|
+
@values.fetch(name, DEFAULT_VALUES[name])
|
648
|
+
end
|
649
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:70
|
650
|
+
```
|
651
|
+
</details>
|
652
|
+
<details open>
|
653
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:69</summary>
|
654
|
+
|
655
|
+
##### ActiveRecord::QueryMethods#includes_values
|
656
|
+
|
657
|
+
```ruby
|
658
|
+
def #{method_name} # def includes_values
|
659
|
+
get_value(#{name.inspect}) # get_value(:includes)
|
660
|
+
end # end
|
661
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:475
|
662
|
+
```
|
663
|
+
</details>
|
664
|
+
<details open>
|
665
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:907</summary>
|
666
|
+
|
667
|
+
##### ActiveRecord::QueryMethods#get_value
|
668
|
+
|
669
|
+
```ruby
|
670
|
+
def get_value(name) # :nodoc:
|
671
|
+
@values.fetch(name, DEFAULT_VALUES[name])
|
672
|
+
end
|
673
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:70
|
674
|
+
```
|
675
|
+
</details>
|
676
|
+
<details open>
|
677
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:902</summary>
|
678
|
+
|
679
|
+
##### ActiveRecord::QueryMethods#arel
|
680
|
+
|
681
|
+
```ruby
|
682
|
+
def arel(aliases = nil) # :nodoc:
|
683
|
+
@arel ||= build_arel(aliases)
|
684
|
+
end
|
685
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:560
|
686
|
+
```
|
687
|
+
</details>
|
688
|
+
<details open>
|
689
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:926</summary>
|
690
|
+
|
691
|
+
##### ActiveRecord::QueryMethods#build_arel
|
692
|
+
|
693
|
+
```ruby
|
694
|
+
def build_arel(aliases)
|
695
|
+
arel = Arel::SelectManager.new(table)
|
696
|
+
|
697
|
+
aliases = build_joins(arel, joins_values.flatten, aliases) unless joins_values.empty?
|
698
|
+
build_left_outer_joins(arel, left_outer_joins_values.flatten, aliases) unless left_outer_joins_values.empty?
|
699
|
+
|
700
|
+
arel.where(where_clause.ast) unless where_clause.empty?
|
701
|
+
arel.having(having_clause.ast) unless having_clause.empty?
|
702
|
+
if limit_value
|
703
|
+
limit_attribute = ActiveModel::Attribute.with_cast_value(
|
704
|
+
"LIMIT".freeze,
|
705
|
+
connection.sanitize_limit(limit_value),
|
706
|
+
Type.default_value,
|
707
|
+
)
|
708
|
+
arel.take(Arel::Nodes::BindParam.new(limit_attribute))
|
709
|
+
end
|
710
|
+
if offset_value
|
711
|
+
offset_attribute = ActiveModel::Attribute.with_cast_value(
|
712
|
+
"OFFSET".freeze,
|
713
|
+
offset_value.to_i,
|
714
|
+
Type.default_value,
|
715
|
+
)
|
716
|
+
arel.skip(Arel::Nodes::BindParam.new(offset_attribute))
|
717
|
+
end
|
718
|
+
arel.group(*arel_columns(group_values.uniq.reject(&:blank?))) unless group_values.empty?
|
719
|
+
|
720
|
+
build_order(arel)
|
721
|
+
|
722
|
+
build_select(arel)
|
723
|
+
|
724
|
+
arel.distinct(distinct_value)
|
725
|
+
arel.from(build_from) unless from_clause.empty?
|
726
|
+
arel.lock(lock_value) if lock_value
|
727
|
+
|
728
|
+
arel
|
729
|
+
end
|
730
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:903
|
731
|
+
```
|
732
|
+
</details>
|
733
|
+
<details open>
|
734
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/select_manager.rb:10</summary>
|
735
|
+
|
736
|
+
##### Arel::SelectManager#initialize
|
737
|
+
|
738
|
+
```ruby
|
739
|
+
def initialize table = nil
|
740
|
+
super()
|
741
|
+
@ast = Nodes::SelectStatement.new
|
742
|
+
@ctx = @ast.cores.last
|
743
|
+
from table
|
744
|
+
end
|
745
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:927
|
746
|
+
```
|
747
|
+
</details>
|
748
|
+
<details open>
|
749
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/tree_manager.rb:10</summary>
|
750
|
+
|
751
|
+
##### Arel::SelectManager#initialize
|
752
|
+
|
753
|
+
```ruby
|
754
|
+
def initialize table = nil
|
755
|
+
super()
|
756
|
+
@ast = Nodes::SelectStatement.new
|
757
|
+
@ctx = @ast.cores.last
|
758
|
+
from table
|
759
|
+
end
|
760
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/select_manager.rb:11
|
761
|
+
```
|
762
|
+
</details>
|
763
|
+
<details open>
|
764
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/select_core.rb:8</summary>
|
765
|
+
|
766
|
+
##### Arel::Nodes::SelectCore#initialize
|
767
|
+
|
768
|
+
```ruby
|
769
|
+
def initialize
|
770
|
+
super()
|
771
|
+
@source = JoinSource.new nil
|
772
|
+
@top = nil
|
773
|
+
|
774
|
+
# http://savage.net.au/SQL/sql-92.bnf.html#set%20quantifier
|
775
|
+
@set_quantifier = nil
|
776
|
+
@projections = []
|
777
|
+
@wheres = []
|
778
|
+
@groups = []
|
779
|
+
@havings = []
|
780
|
+
@windows = []
|
781
|
+
end
|
782
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/select_statement.rb:8
|
783
|
+
```
|
784
|
+
</details>
|
785
|
+
<details open>
|
786
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/join_source.rb:10</summary>
|
787
|
+
|
788
|
+
##### Arel::Nodes::JoinSource#initialize
|
789
|
+
|
790
|
+
```ruby
|
791
|
+
def initialize single_source, joinop = []
|
792
|
+
super
|
793
|
+
end
|
794
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/select_core.rb:10
|
795
|
+
```
|
796
|
+
</details>
|
797
|
+
<details open>
|
798
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/binary.rb:7</summary>
|
799
|
+
|
800
|
+
##### Arel::Nodes::JoinSource#initialize
|
801
|
+
|
802
|
+
```ruby
|
803
|
+
def initialize single_source, joinop = []
|
804
|
+
super
|
805
|
+
end
|
806
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/join_source.rb:11
|
807
|
+
```
|
808
|
+
</details>
|
809
|
+
<details open>
|
810
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/select_statement.rb:8</summary>
|
811
|
+
|
812
|
+
##### Arel::Nodes::SelectStatement#initialize
|
813
|
+
|
814
|
+
```ruby
|
815
|
+
def initialize cores = [SelectCore.new]
|
816
|
+
super()
|
817
|
+
@cores = cores
|
818
|
+
@orders = []
|
819
|
+
@limit = nil
|
820
|
+
@lock = nil
|
821
|
+
@offset = nil
|
822
|
+
@with = nil
|
823
|
+
end
|
824
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/select_manager.rb:12
|
825
|
+
```
|
826
|
+
</details>
|
827
|
+
<details open>
|
828
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/select_manager.rb:88</summary>
|
829
|
+
|
830
|
+
##### Arel::SelectManager#from
|
831
|
+
|
832
|
+
```ruby
|
833
|
+
def from table
|
834
|
+
table = Nodes::SqlLiteral.new(table) if String === table
|
835
|
+
|
836
|
+
case table
|
837
|
+
when Nodes::Join
|
838
|
+
@ctx.source.right << table
|
839
|
+
else
|
840
|
+
@ctx.source.left = table
|
841
|
+
end
|
842
|
+
|
843
|
+
self
|
844
|
+
end
|
845
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/select_manager.rb:14
|
846
|
+
```
|
847
|
+
</details>
|
848
|
+
<details open>
|
849
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:69</summary>
|
850
|
+
|
851
|
+
##### ActiveRecord::QueryMethods#joins_values
|
852
|
+
|
853
|
+
```ruby
|
854
|
+
def #{method_name} # def includes_values
|
855
|
+
get_value(#{name.inspect}) # get_value(:includes)
|
856
|
+
end # end
|
857
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:929
|
858
|
+
```
|
859
|
+
</details>
|
860
|
+
<details open>
|
861
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:907</summary>
|
862
|
+
|
863
|
+
##### ActiveRecord::QueryMethods#get_value
|
864
|
+
|
865
|
+
```ruby
|
866
|
+
def get_value(name) # :nodoc:
|
867
|
+
@values.fetch(name, DEFAULT_VALUES[name])
|
868
|
+
end
|
869
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:70
|
870
|
+
```
|
871
|
+
</details>
|
872
|
+
<details open>
|
873
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:69</summary>
|
874
|
+
|
875
|
+
##### ActiveRecord::QueryMethods#left_outer_joins_values
|
876
|
+
|
877
|
+
```ruby
|
878
|
+
def #{method_name} # def includes_values
|
879
|
+
get_value(#{name.inspect}) # get_value(:includes)
|
880
|
+
end # end
|
881
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:930
|
882
|
+
```
|
883
|
+
</details>
|
884
|
+
<details open>
|
885
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:907</summary>
|
886
|
+
|
887
|
+
##### ActiveRecord::QueryMethods#get_value
|
888
|
+
|
889
|
+
```ruby
|
890
|
+
def get_value(name) # :nodoc:
|
891
|
+
@values.fetch(name, DEFAULT_VALUES[name])
|
892
|
+
end
|
893
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:70
|
894
|
+
```
|
895
|
+
</details>
|
896
|
+
<details open>
|
897
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:69</summary>
|
898
|
+
|
899
|
+
##### ActiveRecord::QueryMethods#where_clause
|
900
|
+
|
901
|
+
```ruby
|
902
|
+
def #{method_name} # def includes_values
|
903
|
+
get_value(#{name.inspect}) # get_value(:includes)
|
904
|
+
end # end
|
905
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:932
|
906
|
+
```
|
907
|
+
</details>
|
908
|
+
<details open>
|
909
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:907</summary>
|
910
|
+
|
911
|
+
##### ActiveRecord::QueryMethods#get_value
|
912
|
+
|
913
|
+
```ruby
|
914
|
+
def get_value(name) # :nodoc:
|
915
|
+
@values.fetch(name, DEFAULT_VALUES[name])
|
916
|
+
end
|
917
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:70
|
918
|
+
```
|
919
|
+
</details>
|
920
|
+
<details open>
|
921
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/where_clause.rb:6</summary>
|
922
|
+
|
923
|
+
##### ActiveRecord::Relation::WhereClause#empty?
|
924
|
+
|
925
|
+
```ruby
|
926
|
+
delegate :any?, :empty?, to: :predicates
|
927
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:932
|
928
|
+
```
|
929
|
+
</details>
|
930
|
+
<details open>
|
931
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:69</summary>
|
932
|
+
|
933
|
+
##### ActiveRecord::QueryMethods#having_clause
|
934
|
+
|
935
|
+
```ruby
|
936
|
+
def #{method_name} # def includes_values
|
937
|
+
get_value(#{name.inspect}) # get_value(:includes)
|
938
|
+
end # end
|
939
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:933
|
940
|
+
```
|
941
|
+
</details>
|
942
|
+
<details open>
|
943
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:907</summary>
|
944
|
+
|
945
|
+
##### ActiveRecord::QueryMethods#get_value
|
946
|
+
|
947
|
+
```ruby
|
948
|
+
def get_value(name) # :nodoc:
|
949
|
+
@values.fetch(name, DEFAULT_VALUES[name])
|
950
|
+
end
|
951
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:70
|
952
|
+
```
|
953
|
+
</details>
|
954
|
+
<details open>
|
955
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/where_clause.rb:6</summary>
|
956
|
+
|
957
|
+
##### ActiveRecord::Relation::WhereClause#empty?
|
958
|
+
|
959
|
+
```ruby
|
960
|
+
delegate :any?, :empty?, to: :predicates
|
961
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:933
|
962
|
+
```
|
963
|
+
</details>
|
964
|
+
<details open>
|
965
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:69</summary>
|
966
|
+
|
967
|
+
##### ActiveRecord::QueryMethods#limit_value
|
968
|
+
|
969
|
+
```ruby
|
970
|
+
def #{method_name} # def includes_values
|
971
|
+
get_value(#{name.inspect}) # get_value(:includes)
|
972
|
+
end # end
|
973
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:934
|
974
|
+
```
|
975
|
+
</details>
|
976
|
+
<details open>
|
977
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:907</summary>
|
978
|
+
|
979
|
+
##### ActiveRecord::QueryMethods#get_value
|
980
|
+
|
981
|
+
```ruby
|
982
|
+
def get_value(name) # :nodoc:
|
983
|
+
@values.fetch(name, DEFAULT_VALUES[name])
|
984
|
+
end
|
985
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:70
|
986
|
+
```
|
987
|
+
</details>
|
988
|
+
<details open>
|
989
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:69</summary>
|
990
|
+
|
991
|
+
##### ActiveRecord::QueryMethods#offset_value
|
992
|
+
|
993
|
+
```ruby
|
994
|
+
def #{method_name} # def includes_values
|
995
|
+
get_value(#{name.inspect}) # get_value(:includes)
|
996
|
+
end # end
|
997
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:942
|
998
|
+
```
|
999
|
+
</details>
|
1000
|
+
<details open>
|
1001
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:907</summary>
|
1002
|
+
|
1003
|
+
##### ActiveRecord::QueryMethods#get_value
|
1004
|
+
|
1005
|
+
```ruby
|
1006
|
+
def get_value(name) # :nodoc:
|
1007
|
+
@values.fetch(name, DEFAULT_VALUES[name])
|
1008
|
+
end
|
1009
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:70
|
1010
|
+
```
|
1011
|
+
</details>
|
1012
|
+
<details open>
|
1013
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:69</summary>
|
1014
|
+
|
1015
|
+
##### ActiveRecord::QueryMethods#group_values
|
1016
|
+
|
1017
|
+
```ruby
|
1018
|
+
def #{method_name} # def includes_values
|
1019
|
+
get_value(#{name.inspect}) # get_value(:includes)
|
1020
|
+
end # end
|
1021
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:950
|
1022
|
+
```
|
1023
|
+
</details>
|
1024
|
+
<details open>
|
1025
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:907</summary>
|
1026
|
+
|
1027
|
+
##### ActiveRecord::QueryMethods#get_value
|
1028
|
+
|
1029
|
+
```ruby
|
1030
|
+
def get_value(name) # :nodoc:
|
1031
|
+
@values.fetch(name, DEFAULT_VALUES[name])
|
1032
|
+
end
|
1033
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:70
|
1034
|
+
```
|
1035
|
+
</details>
|
1036
|
+
<details open>
|
1037
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:1121</summary>
|
1038
|
+
|
1039
|
+
##### ActiveRecord::QueryMethods#build_order
|
1040
|
+
|
1041
|
+
```ruby
|
1042
|
+
def build_order(arel)
|
1043
|
+
orders = order_values.uniq
|
1044
|
+
orders.reject!(&:blank?)
|
1045
|
+
|
1046
|
+
arel.order(*orders) unless orders.empty?
|
1047
|
+
end
|
1048
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:952
|
1049
|
+
```
|
1050
|
+
</details>
|
1051
|
+
<details open>
|
1052
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:69</summary>
|
1053
|
+
|
1054
|
+
##### ActiveRecord::QueryMethods#order_values
|
1055
|
+
|
1056
|
+
```ruby
|
1057
|
+
def #{method_name} # def includes_values
|
1058
|
+
get_value(#{name.inspect}) # get_value(:includes)
|
1059
|
+
end # end
|
1060
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:1122
|
1061
|
+
```
|
1062
|
+
</details>
|
1063
|
+
<details open>
|
1064
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:907</summary>
|
1065
|
+
|
1066
|
+
##### ActiveRecord::QueryMethods#get_value
|
1067
|
+
|
1068
|
+
```ruby
|
1069
|
+
def get_value(name) # :nodoc:
|
1070
|
+
@values.fetch(name, DEFAULT_VALUES[name])
|
1071
|
+
end
|
1072
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:70
|
1073
|
+
```
|
1074
|
+
</details>
|
1075
|
+
<details open>
|
1076
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:1042</summary>
|
1077
|
+
|
1078
|
+
##### ActiveRecord::QueryMethods#build_select
|
1079
|
+
|
1080
|
+
```ruby
|
1081
|
+
def build_select(arel)
|
1082
|
+
if select_values.any?
|
1083
|
+
arel.project(*arel_columns(select_values.uniq))
|
1084
|
+
elsif klass.ignored_columns.any?
|
1085
|
+
arel.project(*klass.column_names.map { |field| arel_attribute(field) })
|
1086
|
+
else
|
1087
|
+
arel.project(table[Arel.star])
|
1088
|
+
end
|
1089
|
+
end
|
1090
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:954
|
1091
|
+
```
|
1092
|
+
</details>
|
1093
|
+
<details open>
|
1094
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:69</summary>
|
1095
|
+
|
1096
|
+
##### ActiveRecord::QueryMethods#select_values
|
1097
|
+
|
1098
|
+
```ruby
|
1099
|
+
def #{method_name} # def includes_values
|
1100
|
+
get_value(#{name.inspect}) # get_value(:includes)
|
1101
|
+
end # end
|
1102
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:1043
|
1103
|
+
```
|
1104
|
+
</details>
|
1105
|
+
<details open>
|
1106
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:907</summary>
|
1107
|
+
|
1108
|
+
##### ActiveRecord::QueryMethods#get_value
|
1109
|
+
|
1110
|
+
```ruby
|
1111
|
+
def get_value(name) # :nodoc:
|
1112
|
+
@values.fetch(name, DEFAULT_VALUES[name])
|
1113
|
+
end
|
1114
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:70
|
1115
|
+
```
|
1116
|
+
</details>
|
1117
|
+
<details open>
|
1118
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/model_schema.rb:264</summary>
|
1119
|
+
|
1120
|
+
##### ActiveRecord::ModelSchema::ClassMethods.ignored_columns
|
1121
|
+
|
1122
|
+
```ruby
|
1123
|
+
def ignored_columns
|
1124
|
+
if defined?(@ignored_columns)
|
1125
|
+
@ignored_columns
|
1126
|
+
else
|
1127
|
+
superclass.ignored_columns
|
1128
|
+
end
|
1129
|
+
end
|
1130
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:1045
|
1131
|
+
```
|
1132
|
+
</details>
|
1133
|
+
<details open>
|
1134
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/model_schema.rb:264</summary>
|
1135
|
+
|
1136
|
+
##### ActiveRecord::ModelSchema::ClassMethods.ignored_columns
|
1137
|
+
|
1138
|
+
```ruby
|
1139
|
+
def ignored_columns
|
1140
|
+
if defined?(@ignored_columns)
|
1141
|
+
@ignored_columns
|
1142
|
+
else
|
1143
|
+
superclass.ignored_columns
|
1144
|
+
end
|
1145
|
+
end
|
1146
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/model_schema.rb:268
|
1147
|
+
```
|
1148
|
+
</details>
|
1149
|
+
<details open>
|
1150
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/model_schema.rb:264</summary>
|
1151
|
+
|
1152
|
+
##### ActiveRecord::ModelSchema::ClassMethods.ignored_columns
|
1153
|
+
|
1154
|
+
```ruby
|
1155
|
+
def ignored_columns
|
1156
|
+
if defined?(@ignored_columns)
|
1157
|
+
@ignored_columns
|
1158
|
+
else
|
1159
|
+
superclass.ignored_columns
|
1160
|
+
end
|
1161
|
+
end
|
1162
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/model_schema.rb:268
|
1163
|
+
```
|
1164
|
+
</details>
|
1165
|
+
<details open>
|
1166
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel.rb:33</summary>
|
1167
|
+
|
1168
|
+
##### Arel.star
|
1169
|
+
|
1170
|
+
```ruby
|
1171
|
+
def self.star
|
1172
|
+
sql '*'
|
1173
|
+
end
|
1174
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:1048
|
1175
|
+
```
|
1176
|
+
</details>
|
1177
|
+
<details open>
|
1178
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel.rb:29</summary>
|
1179
|
+
|
1180
|
+
##### Arel.sql
|
1181
|
+
|
1182
|
+
```ruby
|
1183
|
+
def self.sql raw_sql
|
1184
|
+
Arel::Nodes::SqlLiteral.new raw_sql
|
1185
|
+
end
|
1186
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel.rb:34
|
1187
|
+
```
|
1188
|
+
</details>
|
1189
|
+
<details open>
|
1190
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/table.rb:80</summary>
|
1191
|
+
|
1192
|
+
##### Arel::Table#[]
|
1193
|
+
|
1194
|
+
```ruby
|
1195
|
+
def [] name
|
1196
|
+
::Arel::Attribute.new self, name
|
1197
|
+
end
|
1198
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:1048
|
1199
|
+
```
|
1200
|
+
</details>
|
1201
|
+
<details open>
|
1202
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/select_manager.rb:133</summary>
|
1203
|
+
|
1204
|
+
##### Arel::SelectManager#project
|
1205
|
+
|
1206
|
+
```ruby
|
1207
|
+
def project *projections
|
1208
|
+
# FIXME: converting these to SQLLiterals is probably not good, but
|
1209
|
+
# rails tests require it.
|
1210
|
+
@ctx.projections.concat projections.map { |x|
|
1211
|
+
STRING_OR_SYMBOL_CLASS.include?(x.class) ? Nodes::SqlLiteral.new(x.to_s) : x
|
1212
|
+
}
|
1213
|
+
self
|
1214
|
+
end
|
1215
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:1048
|
1216
|
+
```
|
1217
|
+
</details>
|
1218
|
+
<details open>
|
1219
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:69</summary>
|
1220
|
+
|
1221
|
+
##### ActiveRecord::QueryMethods#distinct_value
|
1222
|
+
|
1223
|
+
```ruby
|
1224
|
+
def #{method_name} # def includes_values
|
1225
|
+
get_value(#{name.inspect}) # get_value(:includes)
|
1226
|
+
end # end
|
1227
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:956
|
1228
|
+
```
|
1229
|
+
</details>
|
1230
|
+
<details open>
|
1231
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:907</summary>
|
1232
|
+
|
1233
|
+
##### ActiveRecord::QueryMethods#get_value
|
1234
|
+
|
1235
|
+
```ruby
|
1236
|
+
def get_value(name) # :nodoc:
|
1237
|
+
@values.fetch(name, DEFAULT_VALUES[name])
|
1238
|
+
end
|
1239
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:70
|
1240
|
+
```
|
1241
|
+
</details>
|
1242
|
+
<details open>
|
1243
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/select_manager.rb:150</summary>
|
1244
|
+
|
1245
|
+
##### Arel::SelectManager#distinct
|
1246
|
+
|
1247
|
+
```ruby
|
1248
|
+
def distinct(value = true)
|
1249
|
+
if value
|
1250
|
+
@ctx.set_quantifier = Arel::Nodes::Distinct.new
|
1251
|
+
else
|
1252
|
+
@ctx.set_quantifier = nil
|
1253
|
+
end
|
1254
|
+
self
|
1255
|
+
end
|
1256
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:956
|
1257
|
+
```
|
1258
|
+
</details>
|
1259
|
+
<details open>
|
1260
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:69</summary>
|
1261
|
+
|
1262
|
+
##### ActiveRecord::QueryMethods#from_clause
|
1263
|
+
|
1264
|
+
```ruby
|
1265
|
+
def #{method_name} # def includes_values
|
1266
|
+
get_value(#{name.inspect}) # get_value(:includes)
|
1267
|
+
end # end
|
1268
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:957
|
1269
|
+
```
|
1270
|
+
</details>
|
1271
|
+
<details open>
|
1272
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:907</summary>
|
1273
|
+
|
1274
|
+
##### ActiveRecord::QueryMethods#get_value
|
1275
|
+
|
1276
|
+
```ruby
|
1277
|
+
def get_value(name) # :nodoc:
|
1278
|
+
@values.fetch(name, DEFAULT_VALUES[name])
|
1279
|
+
end
|
1280
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:70
|
1281
|
+
```
|
1282
|
+
</details>
|
1283
|
+
<details open>
|
1284
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/from_clause.rb:17</summary>
|
1285
|
+
|
1286
|
+
##### ActiveRecord::Relation::FromClause#empty?
|
1287
|
+
|
1288
|
+
```ruby
|
1289
|
+
def empty?
|
1290
|
+
value.nil?
|
1291
|
+
end
|
1292
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:957
|
1293
|
+
```
|
1294
|
+
</details>
|
1295
|
+
<details open>
|
1296
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:69</summary>
|
1297
|
+
|
1298
|
+
##### ActiveRecord::QueryMethods#lock_value
|
1299
|
+
|
1300
|
+
```ruby
|
1301
|
+
def #{method_name} # def includes_values
|
1302
|
+
get_value(#{name.inspect}) # get_value(:includes)
|
1303
|
+
end # end
|
1304
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:958
|
1305
|
+
```
|
1306
|
+
</details>
|
1307
|
+
<details open>
|
1308
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:907</summary>
|
1309
|
+
|
1310
|
+
##### ActiveRecord::QueryMethods#get_value
|
1311
|
+
|
1312
|
+
```ruby
|
1313
|
+
def get_value(name) # :nodoc:
|
1314
|
+
@values.fetch(name, DEFAULT_VALUES[name])
|
1315
|
+
end
|
1316
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:70
|
1317
|
+
```
|
1318
|
+
</details>
|
1319
|
+
<details open>
|
1320
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/querying.rb:40</summary>
|
1321
|
+
|
1322
|
+
##### ActiveRecord::Querying.find_by_sql
|
1323
|
+
|
1324
|
+
```ruby
|
1325
|
+
def find_by_sql(sql, binds = [], preparable: nil, &block)
|
1326
|
+
result_set = connection.select_all(sanitize_sql(sql), "#{name} Load", binds, preparable: preparable)
|
1327
|
+
column_types = result_set.column_types.dup
|
1328
|
+
attribute_types.each_key { |k| column_types.delete k }
|
1329
|
+
message_bus = ActiveSupport::Notifications.instrumenter
|
1330
|
+
|
1331
|
+
payload = {
|
1332
|
+
record_count: result_set.length,
|
1333
|
+
class_name: name
|
1334
|
+
}
|
1335
|
+
|
1336
|
+
message_bus.instrument("instantiation.active_record", payload) do
|
1337
|
+
result_set.map { |record| instantiate(record, column_types, &block) }
|
1338
|
+
end
|
1339
|
+
end
|
1340
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:560
|
1341
|
+
```
|
1342
|
+
</details>
|
1343
|
+
<details open>
|
1344
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_handling.rb:89</summary>
|
1345
|
+
|
1346
|
+
##### ActiveRecord::ConnectionHandling.connection
|
1347
|
+
|
1348
|
+
```ruby
|
1349
|
+
def connection
|
1350
|
+
retrieve_connection
|
1351
|
+
end
|
1352
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/querying.rb:41
|
1353
|
+
```
|
1354
|
+
</details>
|
1355
|
+
<details open>
|
1356
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_handling.rb:117</summary>
|
1357
|
+
|
1358
|
+
##### ActiveRecord::ConnectionHandling.retrieve_connection
|
1359
|
+
|
1360
|
+
```ruby
|
1361
|
+
def retrieve_connection
|
1362
|
+
connection_handler.retrieve_connection(connection_specification_name)
|
1363
|
+
end
|
1364
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_handling.rb:90
|
1365
|
+
```
|
1366
|
+
</details>
|
1367
|
+
<details open>
|
1368
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/core.rb:130</summary>
|
1369
|
+
|
1370
|
+
##### ActiveRecord::Base.connection_handler
|
1371
|
+
|
1372
|
+
```ruby
|
1373
|
+
def self.connection_handler
|
1374
|
+
ActiveRecord::RuntimeRegistry.connection_handler || default_connection_handler
|
1375
|
+
end
|
1376
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_handling.rb:118
|
1377
|
+
```
|
1378
|
+
</details>
|
1379
|
+
<details open>
|
1380
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/runtime_registry.rb:20</summary>
|
1381
|
+
|
1382
|
+
##### ActiveRecord::RuntimeRegistry.connection_handler
|
1383
|
+
|
1384
|
+
```ruby
|
1385
|
+
class_eval %{ def self.#{val}; instance.#{val}; end }, __FILE__, __LINE__
|
1386
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/core.rb:131
|
1387
|
+
```
|
1388
|
+
</details>
|
1389
|
+
<details open>
|
1390
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_handling.rb:96</summary>
|
1391
|
+
|
1392
|
+
##### ActiveRecord::ConnectionHandling.connection_specification_name
|
1393
|
+
|
1394
|
+
```ruby
|
1395
|
+
def connection_specification_name
|
1396
|
+
if !defined?(@connection_specification_name) || @connection_specification_name.nil?
|
1397
|
+
return self == Base ? "primary" : superclass.connection_specification_name
|
1398
|
+
end
|
1399
|
+
@connection_specification_name
|
1400
|
+
end
|
1401
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_handling.rb:118
|
1402
|
+
```
|
1403
|
+
</details>
|
1404
|
+
<details open>
|
1405
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_handling.rb:96</summary>
|
1406
|
+
|
1407
|
+
##### ActiveRecord::ConnectionHandling.connection_specification_name
|
1408
|
+
|
1409
|
+
```ruby
|
1410
|
+
def connection_specification_name
|
1411
|
+
if !defined?(@connection_specification_name) || @connection_specification_name.nil?
|
1412
|
+
return self == Base ? "primary" : superclass.connection_specification_name
|
1413
|
+
end
|
1414
|
+
@connection_specification_name
|
1415
|
+
end
|
1416
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_handling.rb:98
|
1417
|
+
```
|
1418
|
+
</details>
|
1419
|
+
<details open>
|
1420
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_handling.rb:96</summary>
|
1421
|
+
|
1422
|
+
##### ActiveRecord::ConnectionHandling.connection_specification_name
|
1423
|
+
|
1424
|
+
```ruby
|
1425
|
+
def connection_specification_name
|
1426
|
+
if !defined?(@connection_specification_name) || @connection_specification_name.nil?
|
1427
|
+
return self == Base ? "primary" : superclass.connection_specification_name
|
1428
|
+
end
|
1429
|
+
@connection_specification_name
|
1430
|
+
end
|
1431
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_handling.rb:98
|
1432
|
+
```
|
1433
|
+
</details>
|
1434
|
+
<details open>
|
1435
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:1011</summary>
|
1436
|
+
|
1437
|
+
##### ActiveRecord::ConnectionAdapters::ConnectionHandler#retrieve_connection
|
1438
|
+
|
1439
|
+
```ruby
|
1440
|
+
def retrieve_connection(spec_name) #:nodoc:
|
1441
|
+
pool = retrieve_connection_pool(spec_name)
|
1442
|
+
raise ConnectionNotEstablished, "No connection pool with '#{spec_name}' found." unless pool
|
1443
|
+
pool.connection
|
1444
|
+
end
|
1445
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_handling.rb:118
|
1446
|
+
```
|
1447
|
+
</details>
|
1448
|
+
<details open>
|
1449
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:1039</summary>
|
1450
|
+
|
1451
|
+
##### ActiveRecord::ConnectionAdapters::ConnectionHandler#retrieve_connection_pool
|
1452
|
+
|
1453
|
+
```ruby
|
1454
|
+
def retrieve_connection_pool(spec_name)
|
1455
|
+
owner_to_pool.fetch(spec_name) do
|
1456
|
+
# Check if a connection was previously established in an ancestor process,
|
1457
|
+
# which may have been forked.
|
1458
|
+
if ancestor_pool = pool_from_any_process_for(spec_name)
|
1459
|
+
# A connection was established in an ancestor process that must have
|
1460
|
+
# subsequently forked. We can't reuse the connection, but we can copy
|
1461
|
+
# the specification and establish a new connection with it.
|
1462
|
+
establish_connection(ancestor_pool.spec.to_hash).tap do |pool|
|
1463
|
+
pool.schema_cache = ancestor_pool.schema_cache if ancestor_pool.schema_cache
|
1464
|
+
end
|
1465
|
+
else
|
1466
|
+
owner_to_pool[spec_name] = nil
|
1467
|
+
end
|
1468
|
+
end
|
1469
|
+
end
|
1470
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:1012
|
1471
|
+
```
|
1472
|
+
</details>
|
1473
|
+
<details open>
|
1474
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:1058</summary>
|
1475
|
+
|
1476
|
+
##### ActiveRecord::ConnectionAdapters::ConnectionHandler#owner_to_pool
|
1477
|
+
|
1478
|
+
```ruby
|
1479
|
+
def owner_to_pool
|
1480
|
+
@owner_to_pool[Process.pid]
|
1481
|
+
end
|
1482
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:1040
|
1483
|
+
```
|
1484
|
+
</details>
|
1485
|
+
<details open>
|
1486
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:381</summary>
|
1487
|
+
|
1488
|
+
##### ActiveRecord::ConnectionAdapters::ConnectionPool#connection
|
1489
|
+
|
1490
|
+
```ruby
|
1491
|
+
def connection
|
1492
|
+
@thread_cached_conns[connection_cache_key(@lock_thread || Thread.current)] ||= checkout
|
1493
|
+
end
|
1494
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:1014
|
1495
|
+
```
|
1496
|
+
</details>
|
1497
|
+
<details open>
|
1498
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:667</summary>
|
1499
|
+
|
1500
|
+
##### ActiveRecord::ConnectionAdapters::ConnectionPool#connection_cache_key
|
1501
|
+
|
1502
|
+
```ruby
|
1503
|
+
def connection_cache_key(thread)
|
1504
|
+
thread
|
1505
|
+
end
|
1506
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:382
|
1507
|
+
```
|
1508
|
+
</details>
|
1509
|
+
<details open>
|
1510
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/sanitization.rb:22</summary>
|
1511
|
+
|
1512
|
+
##### ActiveRecord::Sanitization::ClassMethods.sanitize_sql_for_conditions
|
1513
|
+
|
1514
|
+
```ruby
|
1515
|
+
def sanitize_sql_for_conditions(condition)
|
1516
|
+
return nil if condition.blank?
|
1517
|
+
|
1518
|
+
case condition
|
1519
|
+
when Array; sanitize_sql_array(condition)
|
1520
|
+
else condition
|
1521
|
+
end
|
1522
|
+
end
|
1523
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/querying.rb:41
|
1524
|
+
```
|
1525
|
+
</details>
|
1526
|
+
<details open>
|
1527
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/query_cache.rb:95</summary>
|
1528
|
+
|
1529
|
+
##### ActiveRecord::ConnectionAdapters::QueryCache#select_all
|
1530
|
+
|
1531
|
+
```ruby
|
1532
|
+
def select_all(arel, name = nil, binds = [], preparable: nil)
|
1533
|
+
if @query_cache_enabled && !locked?(arel)
|
1534
|
+
arel = arel_from_relation(arel)
|
1535
|
+
sql, binds = to_sql_and_binds(arel, binds)
|
1536
|
+
|
1537
|
+
if preparable.nil?
|
1538
|
+
preparable = prepared_statements ? visitor.preparable : false
|
1539
|
+
end
|
1540
|
+
|
1541
|
+
cache_sql(sql, name, binds) { super(sql, name, binds, preparable: preparable) }
|
1542
|
+
else
|
1543
|
+
super
|
1544
|
+
end
|
1545
|
+
end
|
1546
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/querying.rb:41
|
1547
|
+
```
|
1548
|
+
</details>
|
1549
|
+
<details open>
|
1550
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/query_cache.rb:135</summary>
|
1551
|
+
|
1552
|
+
##### ActiveRecord::ConnectionAdapters::QueryCache#locked?
|
1553
|
+
|
1554
|
+
```ruby
|
1555
|
+
def locked?(arel)
|
1556
|
+
arel = arel.arel if arel.is_a?(Relation)
|
1557
|
+
arel.respond_to?(:locked) && arel.locked
|
1558
|
+
end
|
1559
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/query_cache.rb:96
|
1560
|
+
```
|
1561
|
+
</details>
|
1562
|
+
<details open>
|
1563
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/select_manager.rb:68</summary>
|
1564
|
+
|
1565
|
+
##### Arel::SelectManager#locked
|
1566
|
+
|
1567
|
+
```ruby
|
1568
|
+
def locked
|
1569
|
+
@ast.lock
|
1570
|
+
end
|
1571
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/query_cache.rb:137
|
1572
|
+
```
|
1573
|
+
</details>
|
1574
|
+
<details open>
|
1575
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/database_statements.rb:498</summary>
|
1576
|
+
|
1577
|
+
##### ActiveRecord::ConnectionAdapters::DatabaseStatements#arel_from_relation
|
1578
|
+
|
1579
|
+
```ruby
|
1580
|
+
def arel_from_relation(relation)
|
1581
|
+
if relation.is_a?(Relation)
|
1582
|
+
relation.arel
|
1583
|
+
else
|
1584
|
+
relation
|
1585
|
+
end
|
1586
|
+
end
|
1587
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/query_cache.rb:97
|
1588
|
+
```
|
1589
|
+
</details>
|
1590
|
+
<details open>
|
1591
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/database_statements.rb:17</summary>
|
1592
|
+
|
1593
|
+
##### ActiveRecord::ConnectionAdapters::DatabaseStatements#to_sql_and_binds
|
1594
|
+
|
1595
|
+
```ruby
|
1596
|
+
def to_sql_and_binds(arel_or_sql_string, binds = []) # :nodoc:
|
1597
|
+
if arel_or_sql_string.respond_to?(:ast)
|
1598
|
+
unless binds.empty?
|
1599
|
+
raise "Passing bind parameters with an arel AST is forbidden. " \
|
1600
|
+
"The values must be stored on the AST directly"
|
1601
|
+
end
|
1602
|
+
|
1603
|
+
if prepared_statements
|
1604
|
+
sql, binds = visitor.accept(arel_or_sql_string.ast, collector).value
|
1605
|
+
|
1606
|
+
if binds.length > bind_params_length
|
1607
|
+
unprepared_statement do
|
1608
|
+
sql, binds = to_sql_and_binds(arel_or_sql_string)
|
1609
|
+
visitor.preparable = false
|
1610
|
+
end
|
1611
|
+
end
|
1612
|
+
else
|
1613
|
+
sql = visitor.accept(arel_or_sql_string.ast, collector).value
|
1614
|
+
end
|
1615
|
+
[sql.freeze, binds]
|
1616
|
+
else
|
1617
|
+
visitor.preparable = false if prepared_statements
|
1618
|
+
[arel_or_sql_string.dup.freeze, binds]
|
1619
|
+
end
|
1620
|
+
end
|
1621
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/query_cache.rb:98
|
1622
|
+
```
|
1623
|
+
</details>
|
1624
|
+
<details open>
|
1625
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract_adapter.rb:609</summary>
|
1626
|
+
|
1627
|
+
##### ActiveRecord::ConnectionAdapters::AbstractAdapter#collector
|
1628
|
+
|
1629
|
+
```ruby
|
1630
|
+
def collector
|
1631
|
+
if prepared_statements
|
1632
|
+
Arel::Collectors::Composite.new(
|
1633
|
+
Arel::Collectors::SQLString.new,
|
1634
|
+
Arel::Collectors::Bind.new,
|
1635
|
+
)
|
1636
|
+
else
|
1637
|
+
Arel::Collectors::SubstituteBinds.new(
|
1638
|
+
self,
|
1639
|
+
Arel::Collectors::SQLString.new,
|
1640
|
+
)
|
1641
|
+
end
|
1642
|
+
end
|
1643
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/database_statements.rb:25
|
1644
|
+
```
|
1645
|
+
</details>
|
1646
|
+
<details open>
|
1647
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/sql_string.rb:8</summary>
|
1648
|
+
|
1649
|
+
##### Arel::Collectors::SQLString#initialize
|
1650
|
+
|
1651
|
+
```ruby
|
1652
|
+
def initialize(*)
|
1653
|
+
super
|
1654
|
+
@bind_index = 1
|
1655
|
+
end
|
1656
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract_adapter.rb:612
|
1657
|
+
```
|
1658
|
+
</details>
|
1659
|
+
<details open>
|
1660
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/plain_string.rb:5</summary>
|
1661
|
+
|
1662
|
+
##### Arel::Collectors::SQLString#initialize
|
1663
|
+
|
1664
|
+
```ruby
|
1665
|
+
def initialize(*)
|
1666
|
+
super
|
1667
|
+
@bind_index = 1
|
1668
|
+
end
|
1669
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/sql_string.rb:9
|
1670
|
+
```
|
1671
|
+
</details>
|
1672
|
+
<details open>
|
1673
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/bind.rb:6</summary>
|
1674
|
+
|
1675
|
+
##### Arel::Collectors::Bind#initialize
|
1676
|
+
|
1677
|
+
```ruby
|
1678
|
+
def initialize
|
1679
|
+
@binds = []
|
1680
|
+
end
|
1681
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract_adapter.rb:613
|
1682
|
+
```
|
1683
|
+
</details>
|
1684
|
+
<details open>
|
1685
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/composite.rb:6</summary>
|
1686
|
+
|
1687
|
+
##### Arel::Collectors::Composite#initialize
|
1688
|
+
|
1689
|
+
```ruby
|
1690
|
+
def initialize(left, right)
|
1691
|
+
@left = left
|
1692
|
+
@right = right
|
1693
|
+
end
|
1694
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract_adapter.rb:611
|
1695
|
+
```
|
1696
|
+
</details>
|
1697
|
+
<details open>
|
1698
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/determine_if_preparable_visitor.rb:8</summary>
|
1699
|
+
|
1700
|
+
##### ActiveRecord::ConnectionAdapters::DetermineIfPreparableVisitor#accept
|
1701
|
+
|
1702
|
+
```ruby
|
1703
|
+
def accept(*)
|
1704
|
+
@preparable = true
|
1705
|
+
super
|
1706
|
+
end
|
1707
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/database_statements.rb:25
|
1708
|
+
```
|
1709
|
+
</details>
|
1710
|
+
<details open>
|
1711
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/reduce.rb:7</summary>
|
1712
|
+
|
1713
|
+
##### ActiveRecord::ConnectionAdapters::DetermineIfPreparableVisitor#accept
|
1714
|
+
|
1715
|
+
```ruby
|
1716
|
+
def accept(*)
|
1717
|
+
@preparable = true
|
1718
|
+
super
|
1719
|
+
end
|
1720
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/determine_if_preparable_visitor.rb:10
|
1721
|
+
```
|
1722
|
+
</details>
|
1723
|
+
<details open>
|
1724
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/reduce.rb:13</summary>
|
1725
|
+
|
1726
|
+
##### Arel::Visitors::Reduce#visit
|
1727
|
+
|
1728
|
+
```ruby
|
1729
|
+
def visit object, collector
|
1730
|
+
dispatch_method = dispatch[object.class]
|
1731
|
+
send dispatch_method, object, collector
|
1732
|
+
rescue NoMethodError => e
|
1733
|
+
raise e if respond_to?(dispatch_method, true)
|
1734
|
+
superklass = object.class.ancestors.find { |klass|
|
1735
|
+
respond_to?(dispatch[klass], true)
|
1736
|
+
}
|
1737
|
+
raise(TypeError, "Cannot visit #{object.class}") unless superklass
|
1738
|
+
dispatch[object.class] = dispatch[superklass]
|
1739
|
+
retry
|
1740
|
+
end
|
1741
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/reduce.rb:8
|
1742
|
+
```
|
1743
|
+
</details>
|
1744
|
+
<details open>
|
1745
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/visitor.rb:25</summary>
|
1746
|
+
|
1747
|
+
##### Arel::Visitors::Visitor#dispatch
|
1748
|
+
|
1749
|
+
```ruby
|
1750
|
+
def dispatch
|
1751
|
+
@dispatch
|
1752
|
+
end
|
1753
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/reduce.rb:14
|
1754
|
+
```
|
1755
|
+
</details>
|
1756
|
+
<details open>
|
1757
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/sqlite.rb:12</summary>
|
1758
|
+
|
1759
|
+
##### Arel::Visitors::SQLite#visit_Arel_Nodes_SelectStatement
|
1760
|
+
|
1761
|
+
```ruby
|
1762
|
+
def visit_Arel_Nodes_SelectStatement o, collector
|
1763
|
+
o.limit = Arel::Nodes::Limit.new(-1) if o.offset && !o.limit
|
1764
|
+
super
|
1765
|
+
end
|
1766
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/reduce.rb:15
|
1767
|
+
```
|
1768
|
+
</details>
|
1769
|
+
<details open>
|
1770
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:210</summary>
|
1771
|
+
|
1772
|
+
##### Arel::Visitors::SQLite#visit_Arel_Nodes_SelectStatement
|
1773
|
+
|
1774
|
+
```ruby
|
1775
|
+
def visit_Arel_Nodes_SelectStatement o, collector
|
1776
|
+
o.limit = Arel::Nodes::Limit.new(-1) if o.offset && !o.limit
|
1777
|
+
super
|
1778
|
+
end
|
1779
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/sqlite.rb:14
|
1780
|
+
```
|
1781
|
+
</details>
|
1782
|
+
<details open>
|
1783
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:240</summary>
|
1784
|
+
|
1785
|
+
##### Arel::Visitors::ToSql#visit_Arel_Nodes_SelectCore
|
1786
|
+
|
1787
|
+
```ruby
|
1788
|
+
def visit_Arel_Nodes_SelectCore o, collector
|
1789
|
+
collector << "SELECT"
|
1790
|
+
|
1791
|
+
collector = maybe_visit o.top, collector
|
1792
|
+
|
1793
|
+
collector = maybe_visit o.set_quantifier, collector
|
1794
|
+
|
1795
|
+
collect_nodes_for o.projections, collector, SPACE
|
1796
|
+
|
1797
|
+
if o.source && !o.source.empty?
|
1798
|
+
collector << " FROM "
|
1799
|
+
collector = visit o.source, collector
|
1800
|
+
end
|
1801
|
+
|
1802
|
+
collect_nodes_for o.wheres, collector, WHERE, AND
|
1803
|
+
collect_nodes_for o.groups, collector, GROUP_BY
|
1804
|
+
unless o.havings.empty?
|
1805
|
+
collector << " HAVING "
|
1806
|
+
inject_join o.havings, collector, AND
|
1807
|
+
end
|
1808
|
+
collect_nodes_for o.windows, collector, WINDOW
|
1809
|
+
|
1810
|
+
collector
|
1811
|
+
end
|
1812
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:217
|
1813
|
+
```
|
1814
|
+
</details>
|
1815
|
+
<details open>
|
1816
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/composite.rb:11</summary>
|
1817
|
+
|
1818
|
+
##### Arel::Collectors::Composite#<<
|
1819
|
+
|
1820
|
+
```ruby
|
1821
|
+
def << str
|
1822
|
+
left << str
|
1823
|
+
right << str
|
1824
|
+
self
|
1825
|
+
end
|
1826
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:241
|
1827
|
+
```
|
1828
|
+
</details>
|
1829
|
+
<details open>
|
1830
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/plain_string.rb:13</summary>
|
1831
|
+
|
1832
|
+
##### Arel::Collectors::PlainString#<<
|
1833
|
+
|
1834
|
+
```ruby
|
1835
|
+
def << str
|
1836
|
+
@str << str
|
1837
|
+
self
|
1838
|
+
end
|
1839
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/composite.rb:12
|
1840
|
+
```
|
1841
|
+
</details>
|
1842
|
+
<details open>
|
1843
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/bind.rb:10</summary>
|
1844
|
+
|
1845
|
+
##### Arel::Collectors::Bind#<<
|
1846
|
+
|
1847
|
+
```ruby
|
1848
|
+
def << str
|
1849
|
+
self
|
1850
|
+
end
|
1851
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/composite.rb:13
|
1852
|
+
```
|
1853
|
+
</details>
|
1854
|
+
<details open>
|
1855
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:812</summary>
|
1856
|
+
|
1857
|
+
##### Arel::Visitors::ToSql#maybe_visit
|
1858
|
+
|
1859
|
+
```ruby
|
1860
|
+
def maybe_visit thing, collector
|
1861
|
+
return collector unless thing
|
1862
|
+
collector << " "
|
1863
|
+
visit thing, collector
|
1864
|
+
end
|
1865
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:243
|
1866
|
+
```
|
1867
|
+
</details>
|
1868
|
+
<details open>
|
1869
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:812</summary>
|
1870
|
+
|
1871
|
+
##### Arel::Visitors::ToSql#maybe_visit
|
1872
|
+
|
1873
|
+
```ruby
|
1874
|
+
def maybe_visit thing, collector
|
1875
|
+
return collector unless thing
|
1876
|
+
collector << " "
|
1877
|
+
visit thing, collector
|
1878
|
+
end
|
1879
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:245
|
1880
|
+
```
|
1881
|
+
</details>
|
1882
|
+
<details open>
|
1883
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:265</summary>
|
1884
|
+
|
1885
|
+
##### Arel::Visitors::ToSql#collect_nodes_for
|
1886
|
+
|
1887
|
+
```ruby
|
1888
|
+
def collect_nodes_for nodes, collector, spacer, connector = COMMA
|
1889
|
+
unless nodes.empty?
|
1890
|
+
collector << spacer
|
1891
|
+
len = nodes.length - 1
|
1892
|
+
nodes.each_with_index do |x, i|
|
1893
|
+
collector = visit(x, collector)
|
1894
|
+
collector << connector unless len == i
|
1895
|
+
end
|
1896
|
+
end
|
1897
|
+
end
|
1898
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:247
|
1899
|
+
```
|
1900
|
+
</details>
|
1901
|
+
<details open>
|
1902
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/composite.rb:11</summary>
|
1903
|
+
|
1904
|
+
##### Arel::Collectors::Composite#<<
|
1905
|
+
|
1906
|
+
```ruby
|
1907
|
+
def << str
|
1908
|
+
left << str
|
1909
|
+
right << str
|
1910
|
+
self
|
1911
|
+
end
|
1912
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:267
|
1913
|
+
```
|
1914
|
+
</details>
|
1915
|
+
<details open>
|
1916
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/plain_string.rb:13</summary>
|
1917
|
+
|
1918
|
+
##### Arel::Collectors::PlainString#<<
|
1919
|
+
|
1920
|
+
```ruby
|
1921
|
+
def << str
|
1922
|
+
@str << str
|
1923
|
+
self
|
1924
|
+
end
|
1925
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/composite.rb:12
|
1926
|
+
```
|
1927
|
+
</details>
|
1928
|
+
<details open>
|
1929
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/bind.rb:10</summary>
|
1930
|
+
|
1931
|
+
##### Arel::Collectors::Bind#<<
|
1932
|
+
|
1933
|
+
```ruby
|
1934
|
+
def << str
|
1935
|
+
self
|
1936
|
+
end
|
1937
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/composite.rb:13
|
1938
|
+
```
|
1939
|
+
</details>
|
1940
|
+
<details open>
|
1941
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/reduce.rb:13</summary>
|
1942
|
+
|
1943
|
+
##### Arel::Visitors::Reduce#visit
|
1944
|
+
|
1945
|
+
```ruby
|
1946
|
+
def visit object, collector
|
1947
|
+
dispatch_method = dispatch[object.class]
|
1948
|
+
send dispatch_method, object, collector
|
1949
|
+
rescue NoMethodError => e
|
1950
|
+
raise e if respond_to?(dispatch_method, true)
|
1951
|
+
superklass = object.class.ancestors.find { |klass|
|
1952
|
+
respond_to?(dispatch[klass], true)
|
1953
|
+
}
|
1954
|
+
raise(TypeError, "Cannot visit #{object.class}") unless superklass
|
1955
|
+
dispatch[object.class] = dispatch[superklass]
|
1956
|
+
retry
|
1957
|
+
end
|
1958
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:270
|
1959
|
+
```
|
1960
|
+
</details>
|
1961
|
+
<details open>
|
1962
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/visitor.rb:25</summary>
|
1963
|
+
|
1964
|
+
##### Arel::Visitors::Visitor#dispatch
|
1965
|
+
|
1966
|
+
```ruby
|
1967
|
+
def dispatch
|
1968
|
+
@dispatch
|
1969
|
+
end
|
1970
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/reduce.rb:14
|
1971
|
+
```
|
1972
|
+
</details>
|
1973
|
+
<details open>
|
1974
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:727</summary>
|
1975
|
+
|
1976
|
+
##### Arel::Visitors::ToSql#visit_Arel_Attributes_Attribute
|
1977
|
+
|
1978
|
+
```ruby
|
1979
|
+
def visit_Arel_Attributes_Attribute o, collector
|
1980
|
+
join_name = o.relation.table_alias || o.relation.name
|
1981
|
+
collector << "#{quote_table_name join_name}.#{quote_column_name o.name}"
|
1982
|
+
end
|
1983
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/reduce.rb:15
|
1984
|
+
```
|
1985
|
+
</details>
|
1986
|
+
<details open>
|
1987
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:802</summary>
|
1988
|
+
|
1989
|
+
##### Arel::Visitors::ToSql#quote_table_name
|
1990
|
+
|
1991
|
+
```ruby
|
1992
|
+
def quote_table_name name
|
1993
|
+
return name if Arel::Nodes::SqlLiteral === name
|
1994
|
+
@connection.quote_table_name(name)
|
1995
|
+
end
|
1996
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:729
|
1997
|
+
```
|
1998
|
+
</details>
|
1999
|
+
<details open>
|
2000
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/sqlite3/quoting.rb:15</summary>
|
2001
|
+
|
2002
|
+
##### ActiveRecord::ConnectionAdapters::SQLite3::Quoting#quote_table_name
|
2003
|
+
|
2004
|
+
```ruby
|
2005
|
+
def quote_table_name(name)
|
2006
|
+
@quoted_table_names[name] ||= super.gsub(".", "\".\"").freeze
|
2007
|
+
end
|
2008
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:804
|
2009
|
+
```
|
2010
|
+
</details>
|
2011
|
+
<details open>
|
2012
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:807</summary>
|
2013
|
+
|
2014
|
+
##### Arel::Visitors::ToSql#quote_column_name
|
2015
|
+
|
2016
|
+
```ruby
|
2017
|
+
def quote_column_name name
|
2018
|
+
return name if Arel::Nodes::SqlLiteral === name
|
2019
|
+
@connection.quote_column_name(name)
|
2020
|
+
end
|
2021
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:729
|
2022
|
+
```
|
2023
|
+
</details>
|
2024
|
+
<details open>
|
2025
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/composite.rb:11</summary>
|
2026
|
+
|
2027
|
+
##### Arel::Collectors::Composite#<<
|
2028
|
+
|
2029
|
+
```ruby
|
2030
|
+
def << str
|
2031
|
+
left << str
|
2032
|
+
right << str
|
2033
|
+
self
|
2034
|
+
end
|
2035
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:729
|
2036
|
+
```
|
2037
|
+
</details>
|
2038
|
+
<details open>
|
2039
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/plain_string.rb:13</summary>
|
2040
|
+
|
2041
|
+
##### Arel::Collectors::PlainString#<<
|
2042
|
+
|
2043
|
+
```ruby
|
2044
|
+
def << str
|
2045
|
+
@str << str
|
2046
|
+
self
|
2047
|
+
end
|
2048
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/composite.rb:12
|
2049
|
+
```
|
2050
|
+
</details>
|
2051
|
+
<details open>
|
2052
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/bind.rb:10</summary>
|
2053
|
+
|
2054
|
+
##### Arel::Collectors::Bind#<<
|
2055
|
+
|
2056
|
+
```ruby
|
2057
|
+
def << str
|
2058
|
+
self
|
2059
|
+
end
|
2060
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/composite.rb:13
|
2061
|
+
```
|
2062
|
+
</details>
|
2063
|
+
<details open>
|
2064
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/nodes/join_source.rb:14</summary>
|
2065
|
+
|
2066
|
+
##### Arel::Nodes::JoinSource#empty?
|
2067
|
+
|
2068
|
+
```ruby
|
2069
|
+
def empty?
|
2070
|
+
!left && right.empty?
|
2071
|
+
end
|
2072
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:249
|
2073
|
+
```
|
2074
|
+
</details>
|
2075
|
+
<details open>
|
2076
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/composite.rb:11</summary>
|
2077
|
+
|
2078
|
+
##### Arel::Collectors::Composite#<<
|
2079
|
+
|
2080
|
+
```ruby
|
2081
|
+
def << str
|
2082
|
+
left << str
|
2083
|
+
right << str
|
2084
|
+
self
|
2085
|
+
end
|
2086
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:250
|
2087
|
+
```
|
2088
|
+
</details>
|
2089
|
+
<details open>
|
2090
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/plain_string.rb:13</summary>
|
2091
|
+
|
2092
|
+
##### Arel::Collectors::PlainString#<<
|
2093
|
+
|
2094
|
+
```ruby
|
2095
|
+
def << str
|
2096
|
+
@str << str
|
2097
|
+
self
|
2098
|
+
end
|
2099
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/composite.rb:12
|
2100
|
+
```
|
2101
|
+
</details>
|
2102
|
+
<details open>
|
2103
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/bind.rb:10</summary>
|
2104
|
+
|
2105
|
+
##### Arel::Collectors::Bind#<<
|
2106
|
+
|
2107
|
+
```ruby
|
2108
|
+
def << str
|
2109
|
+
self
|
2110
|
+
end
|
2111
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/composite.rb:13
|
2112
|
+
```
|
2113
|
+
</details>
|
2114
|
+
<details open>
|
2115
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/reduce.rb:13</summary>
|
2116
|
+
|
2117
|
+
##### Arel::Visitors::Reduce#visit
|
2118
|
+
|
2119
|
+
```ruby
|
2120
|
+
def visit object, collector
|
2121
|
+
dispatch_method = dispatch[object.class]
|
2122
|
+
send dispatch_method, object, collector
|
2123
|
+
rescue NoMethodError => e
|
2124
|
+
raise e if respond_to?(dispatch_method, true)
|
2125
|
+
superklass = object.class.ancestors.find { |klass|
|
2126
|
+
respond_to?(dispatch[klass], true)
|
2127
|
+
}
|
2128
|
+
raise(TypeError, "Cannot visit #{object.class}") unless superklass
|
2129
|
+
dispatch[object.class] = dispatch[superklass]
|
2130
|
+
retry
|
2131
|
+
end
|
2132
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:251
|
2133
|
+
```
|
2134
|
+
</details>
|
2135
|
+
<details open>
|
2136
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/visitor.rb:25</summary>
|
2137
|
+
|
2138
|
+
##### Arel::Visitors::Visitor#dispatch
|
2139
|
+
|
2140
|
+
```ruby
|
2141
|
+
def dispatch
|
2142
|
+
@dispatch
|
2143
|
+
end
|
2144
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/reduce.rb:14
|
2145
|
+
```
|
2146
|
+
</details>
|
2147
|
+
<details open>
|
2148
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:544</summary>
|
2149
|
+
|
2150
|
+
##### Arel::Visitors::ToSql#visit_Arel_Nodes_JoinSource
|
2151
|
+
|
2152
|
+
```ruby
|
2153
|
+
def visit_Arel_Nodes_JoinSource o, collector
|
2154
|
+
if o.left
|
2155
|
+
collector = visit o.left, collector
|
2156
|
+
end
|
2157
|
+
if o.right.any?
|
2158
|
+
collector << SPACE if o.left
|
2159
|
+
collector = inject_join o.right, collector, SPACE
|
2160
|
+
end
|
2161
|
+
collector
|
2162
|
+
end
|
2163
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/reduce.rb:15
|
2164
|
+
```
|
2165
|
+
</details>
|
2166
|
+
<details open>
|
2167
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/reduce.rb:13</summary>
|
2168
|
+
|
2169
|
+
##### Arel::Visitors::Reduce#visit
|
2170
|
+
|
2171
|
+
```ruby
|
2172
|
+
def visit object, collector
|
2173
|
+
dispatch_method = dispatch[object.class]
|
2174
|
+
send dispatch_method, object, collector
|
2175
|
+
rescue NoMethodError => e
|
2176
|
+
raise e if respond_to?(dispatch_method, true)
|
2177
|
+
superklass = object.class.ancestors.find { |klass|
|
2178
|
+
respond_to?(dispatch[klass], true)
|
2179
|
+
}
|
2180
|
+
raise(TypeError, "Cannot visit #{object.class}") unless superklass
|
2181
|
+
dispatch[object.class] = dispatch[superklass]
|
2182
|
+
retry
|
2183
|
+
end
|
2184
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:546
|
2185
|
+
```
|
2186
|
+
</details>
|
2187
|
+
<details open>
|
2188
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/visitor.rb:25</summary>
|
2189
|
+
|
2190
|
+
##### Arel::Visitors::Visitor#dispatch
|
2191
|
+
|
2192
|
+
```ruby
|
2193
|
+
def dispatch
|
2194
|
+
@dispatch
|
2195
|
+
end
|
2196
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/reduce.rb:14
|
2197
|
+
```
|
2198
|
+
</details>
|
2199
|
+
<details open>
|
2200
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:609</summary>
|
2201
|
+
|
2202
|
+
##### Arel::Visitors::ToSql#visit_Arel_Table
|
2203
|
+
|
2204
|
+
```ruby
|
2205
|
+
def visit_Arel_Table o, collector
|
2206
|
+
if o.table_alias
|
2207
|
+
collector << "#{quote_table_name o.name} #{quote_table_name o.table_alias}"
|
2208
|
+
else
|
2209
|
+
collector << quote_table_name(o.name)
|
2210
|
+
end
|
2211
|
+
end
|
2212
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/reduce.rb:15
|
2213
|
+
```
|
2214
|
+
</details>
|
2215
|
+
<details open>
|
2216
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:802</summary>
|
2217
|
+
|
2218
|
+
##### Arel::Visitors::ToSql#quote_table_name
|
2219
|
+
|
2220
|
+
```ruby
|
2221
|
+
def quote_table_name name
|
2222
|
+
return name if Arel::Nodes::SqlLiteral === name
|
2223
|
+
@connection.quote_table_name(name)
|
2224
|
+
end
|
2225
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:613
|
2226
|
+
```
|
2227
|
+
</details>
|
2228
|
+
<details open>
|
2229
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/sqlite3/quoting.rb:15</summary>
|
2230
|
+
|
2231
|
+
##### ActiveRecord::ConnectionAdapters::SQLite3::Quoting#quote_table_name
|
2232
|
+
|
2233
|
+
```ruby
|
2234
|
+
def quote_table_name(name)
|
2235
|
+
@quoted_table_names[name] ||= super.gsub(".", "\".\"").freeze
|
2236
|
+
end
|
2237
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:804
|
2238
|
+
```
|
2239
|
+
</details>
|
2240
|
+
<details open>
|
2241
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/composite.rb:11</summary>
|
2242
|
+
|
2243
|
+
##### Arel::Collectors::Composite#<<
|
2244
|
+
|
2245
|
+
```ruby
|
2246
|
+
def << str
|
2247
|
+
left << str
|
2248
|
+
right << str
|
2249
|
+
self
|
2250
|
+
end
|
2251
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:613
|
2252
|
+
```
|
2253
|
+
</details>
|
2254
|
+
<details open>
|
2255
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/plain_string.rb:13</summary>
|
2256
|
+
|
2257
|
+
##### Arel::Collectors::PlainString#<<
|
2258
|
+
|
2259
|
+
```ruby
|
2260
|
+
def << str
|
2261
|
+
@str << str
|
2262
|
+
self
|
2263
|
+
end
|
2264
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/composite.rb:12
|
2265
|
+
```
|
2266
|
+
</details>
|
2267
|
+
<details open>
|
2268
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/bind.rb:10</summary>
|
2269
|
+
|
2270
|
+
##### Arel::Collectors::Bind#<<
|
2271
|
+
|
2272
|
+
```ruby
|
2273
|
+
def << str
|
2274
|
+
self
|
2275
|
+
end
|
2276
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/composite.rb:13
|
2277
|
+
```
|
2278
|
+
</details>
|
2279
|
+
<details open>
|
2280
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:265</summary>
|
2281
|
+
|
2282
|
+
##### Arel::Visitors::ToSql#collect_nodes_for
|
2283
|
+
|
2284
|
+
```ruby
|
2285
|
+
def collect_nodes_for nodes, collector, spacer, connector = COMMA
|
2286
|
+
unless nodes.empty?
|
2287
|
+
collector << spacer
|
2288
|
+
len = nodes.length - 1
|
2289
|
+
nodes.each_with_index do |x, i|
|
2290
|
+
collector = visit(x, collector)
|
2291
|
+
collector << connector unless len == i
|
2292
|
+
end
|
2293
|
+
end
|
2294
|
+
end
|
2295
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:254
|
2296
|
+
```
|
2297
|
+
</details>
|
2298
|
+
<details open>
|
2299
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:265</summary>
|
2300
|
+
|
2301
|
+
##### Arel::Visitors::ToSql#collect_nodes_for
|
2302
|
+
|
2303
|
+
```ruby
|
2304
|
+
def collect_nodes_for nodes, collector, spacer, connector = COMMA
|
2305
|
+
unless nodes.empty?
|
2306
|
+
collector << spacer
|
2307
|
+
len = nodes.length - 1
|
2308
|
+
nodes.each_with_index do |x, i|
|
2309
|
+
collector = visit(x, collector)
|
2310
|
+
collector << connector unless len == i
|
2311
|
+
end
|
2312
|
+
end
|
2313
|
+
end
|
2314
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:255
|
2315
|
+
```
|
2316
|
+
</details>
|
2317
|
+
<details open>
|
2318
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:265</summary>
|
2319
|
+
|
2320
|
+
##### Arel::Visitors::ToSql#collect_nodes_for
|
2321
|
+
|
2322
|
+
```ruby
|
2323
|
+
def collect_nodes_for nodes, collector, spacer, connector = COMMA
|
2324
|
+
unless nodes.empty?
|
2325
|
+
collector << spacer
|
2326
|
+
len = nodes.length - 1
|
2327
|
+
nodes.each_with_index do |x, i|
|
2328
|
+
collector = visit(x, collector)
|
2329
|
+
collector << connector unless len == i
|
2330
|
+
end
|
2331
|
+
end
|
2332
|
+
end
|
2333
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:260
|
2334
|
+
```
|
2335
|
+
</details>
|
2336
|
+
<details open>
|
2337
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:234</summary>
|
2338
|
+
|
2339
|
+
##### Arel::Visitors::ToSql#visit_Arel_Nodes_SelectOptions
|
2340
|
+
|
2341
|
+
```ruby
|
2342
|
+
def visit_Arel_Nodes_SelectOptions o, collector
|
2343
|
+
collector = maybe_visit o.limit, collector
|
2344
|
+
collector = maybe_visit o.offset, collector
|
2345
|
+
collector = maybe_visit o.lock, collector
|
2346
|
+
end
|
2347
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:229
|
2348
|
+
```
|
2349
|
+
</details>
|
2350
|
+
<details open>
|
2351
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:812</summary>
|
2352
|
+
|
2353
|
+
##### Arel::Visitors::ToSql#maybe_visit
|
2354
|
+
|
2355
|
+
```ruby
|
2356
|
+
def maybe_visit thing, collector
|
2357
|
+
return collector unless thing
|
2358
|
+
collector << " "
|
2359
|
+
visit thing, collector
|
2360
|
+
end
|
2361
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:235
|
2362
|
+
```
|
2363
|
+
</details>
|
2364
|
+
<details open>
|
2365
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:812</summary>
|
2366
|
+
|
2367
|
+
##### Arel::Visitors::ToSql#maybe_visit
|
2368
|
+
|
2369
|
+
```ruby
|
2370
|
+
def maybe_visit thing, collector
|
2371
|
+
return collector unless thing
|
2372
|
+
collector << " "
|
2373
|
+
visit thing, collector
|
2374
|
+
end
|
2375
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:236
|
2376
|
+
```
|
2377
|
+
</details>
|
2378
|
+
<details open>
|
2379
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:812</summary>
|
2380
|
+
|
2381
|
+
##### Arel::Visitors::ToSql#maybe_visit
|
2382
|
+
|
2383
|
+
```ruby
|
2384
|
+
def maybe_visit thing, collector
|
2385
|
+
return collector unless thing
|
2386
|
+
collector << " "
|
2387
|
+
visit thing, collector
|
2388
|
+
end
|
2389
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/visitors/to_sql.rb:237
|
2390
|
+
```
|
2391
|
+
</details>
|
2392
|
+
<details open>
|
2393
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/composite.rb:23</summary>
|
2394
|
+
|
2395
|
+
##### Arel::Collectors::Composite#value
|
2396
|
+
|
2397
|
+
```ruby
|
2398
|
+
def value
|
2399
|
+
[left.value, right.value]
|
2400
|
+
end
|
2401
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/database_statements.rb:25
|
2402
|
+
```
|
2403
|
+
</details>
|
2404
|
+
<details open>
|
2405
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/plain_string.rb:9</summary>
|
2406
|
+
|
2407
|
+
##### Arel::Collectors::PlainString#value
|
2408
|
+
|
2409
|
+
```ruby
|
2410
|
+
def value
|
2411
|
+
@str
|
2412
|
+
end
|
2413
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/composite.rb:24
|
2414
|
+
```
|
2415
|
+
</details>
|
2416
|
+
<details open>
|
2417
|
+
<summary>vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/bind.rb:19</summary>
|
2418
|
+
|
2419
|
+
##### Arel::Collectors::Bind#value
|
2420
|
+
|
2421
|
+
```ruby
|
2422
|
+
def value
|
2423
|
+
@binds
|
2424
|
+
end
|
2425
|
+
# called from vendor/bundle/gems/arel-9.0.0/lib/arel/collectors/composite.rb:24
|
2426
|
+
```
|
2427
|
+
</details>
|
2428
|
+
<details open>
|
2429
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/database_limits.rb:67</summary>
|
2430
|
+
|
2431
|
+
##### ActiveRecord::ConnectionAdapters::DatabaseLimits#bind_params_length
|
2432
|
+
|
2433
|
+
```ruby
|
2434
|
+
def bind_params_length
|
2435
|
+
65535
|
2436
|
+
end
|
2437
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/database_statements.rb:27
|
2438
|
+
```
|
2439
|
+
</details>
|
2440
|
+
<details open>
|
2441
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/query_cache.rb:112</summary>
|
2442
|
+
|
2443
|
+
##### ActiveRecord::ConnectionAdapters::QueryCache#cache_sql
|
2444
|
+
|
2445
|
+
```ruby
|
2446
|
+
def cache_sql(sql, name, binds)
|
2447
|
+
@lock.synchronize do
|
2448
|
+
result =
|
2449
|
+
if @query_cache[sql].key?(binds)
|
2450
|
+
ActiveSupport::Notifications.instrument(
|
2451
|
+
"sql.active_record",
|
2452
|
+
sql: sql,
|
2453
|
+
binds: binds,
|
2454
|
+
type_casted_binds: -> { type_casted_binds(binds) },
|
2455
|
+
name: name,
|
2456
|
+
connection_id: object_id,
|
2457
|
+
cached: true,
|
2458
|
+
)
|
2459
|
+
@query_cache[sql][binds]
|
2460
|
+
else
|
2461
|
+
@query_cache[sql][binds] = yield
|
2462
|
+
end
|
2463
|
+
result.dup
|
2464
|
+
end
|
2465
|
+
end
|
2466
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/query_cache.rb:104
|
2467
|
+
```
|
2468
|
+
</details>
|
2469
|
+
<details open>
|
2470
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/database_statements.rb:59</summary>
|
2471
|
+
|
2472
|
+
##### ActiveRecord::ConnectionAdapters::QueryCache#select_all
|
2473
|
+
|
2474
|
+
```ruby
|
2475
|
+
def select_all(arel, name = nil, binds = [], preparable: nil)
|
2476
|
+
if @query_cache_enabled && !locked?(arel)
|
2477
|
+
arel = arel_from_relation(arel)
|
2478
|
+
sql, binds = to_sql_and_binds(arel, binds)
|
2479
|
+
|
2480
|
+
if preparable.nil?
|
2481
|
+
preparable = prepared_statements ? visitor.preparable : false
|
2482
|
+
end
|
2483
|
+
|
2484
|
+
cache_sql(sql, name, binds) { super(sql, name, binds, preparable: preparable) }
|
2485
|
+
else
|
2486
|
+
super
|
2487
|
+
end
|
2488
|
+
end
|
2489
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/query_cache.rb:104
|
2490
|
+
```
|
2491
|
+
</details>
|
2492
|
+
<details open>
|
2493
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/database_statements.rb:498</summary>
|
2494
|
+
|
2495
|
+
##### ActiveRecord::ConnectionAdapters::DatabaseStatements#arel_from_relation
|
2496
|
+
|
2497
|
+
```ruby
|
2498
|
+
def arel_from_relation(relation)
|
2499
|
+
if relation.is_a?(Relation)
|
2500
|
+
relation.arel
|
2501
|
+
else
|
2502
|
+
relation
|
2503
|
+
end
|
2504
|
+
end
|
2505
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/database_statements.rb:60
|
2506
|
+
```
|
2507
|
+
</details>
|
2508
|
+
<details open>
|
2509
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/database_statements.rb:17</summary>
|
2510
|
+
|
2511
|
+
##### ActiveRecord::ConnectionAdapters::DatabaseStatements#to_sql_and_binds
|
2512
|
+
|
2513
|
+
```ruby
|
2514
|
+
def to_sql_and_binds(arel_or_sql_string, binds = []) # :nodoc:
|
2515
|
+
if arel_or_sql_string.respond_to?(:ast)
|
2516
|
+
unless binds.empty?
|
2517
|
+
raise "Passing bind parameters with an arel AST is forbidden. " \
|
2518
|
+
"The values must be stored on the AST directly"
|
2519
|
+
end
|
2520
|
+
|
2521
|
+
if prepared_statements
|
2522
|
+
sql, binds = visitor.accept(arel_or_sql_string.ast, collector).value
|
2523
|
+
|
2524
|
+
if binds.length > bind_params_length
|
2525
|
+
unprepared_statement do
|
2526
|
+
sql, binds = to_sql_and_binds(arel_or_sql_string)
|
2527
|
+
visitor.preparable = false
|
2528
|
+
end
|
2529
|
+
end
|
2530
|
+
else
|
2531
|
+
sql = visitor.accept(arel_or_sql_string.ast, collector).value
|
2532
|
+
end
|
2533
|
+
[sql.freeze, binds]
|
2534
|
+
else
|
2535
|
+
visitor.preparable = false if prepared_statements
|
2536
|
+
[arel_or_sql_string.dup.freeze, binds]
|
2537
|
+
end
|
2538
|
+
end
|
2539
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/database_statements.rb:61
|
2540
|
+
```
|
2541
|
+
</details>
|
2542
|
+
<details open>
|
2543
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/database_statements.rb:481</summary>
|
2544
|
+
|
2545
|
+
##### ActiveRecord::ConnectionAdapters::DatabaseStatements#select_prepared
|
2546
|
+
|
2547
|
+
```ruby
|
2548
|
+
def select_prepared(sql, name = nil, binds = [])
|
2549
|
+
exec_query(sql, name, binds, prepare: true)
|
2550
|
+
end
|
2551
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/database_statements.rb:68
|
2552
|
+
```
|
2553
|
+
</details>
|
2554
|
+
<details open>
|
2555
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/sqlite3_adapter.rb:209</summary>
|
2556
|
+
|
2557
|
+
##### ActiveRecord::ConnectionAdapters::SQLite3Adapter#exec_query
|
2558
|
+
|
2559
|
+
```ruby
|
2560
|
+
def exec_query(sql, name = nil, binds = [], prepare: false)
|
2561
|
+
type_casted_binds = type_casted_binds(binds)
|
2562
|
+
|
2563
|
+
log(sql, name, binds, type_casted_binds) do
|
2564
|
+
ActiveSupport::Dependencies.interlock.permit_concurrent_loads do
|
2565
|
+
# Don't cache statements if they are not prepared
|
2566
|
+
unless prepare
|
2567
|
+
stmt = @connection.prepare(sql)
|
2568
|
+
begin
|
2569
|
+
cols = stmt.columns
|
2570
|
+
unless without_prepared_statement?(binds)
|
2571
|
+
stmt.bind_params(type_casted_binds)
|
2572
|
+
end
|
2573
|
+
records = stmt.to_a
|
2574
|
+
ensure
|
2575
|
+
stmt.close
|
2576
|
+
end
|
2577
|
+
else
|
2578
|
+
cache = @statements[sql] ||= {
|
2579
|
+
stmt: @connection.prepare(sql)
|
2580
|
+
}
|
2581
|
+
stmt = cache[:stmt]
|
2582
|
+
cols = cache[:cols] ||= stmt.columns
|
2583
|
+
stmt.reset!
|
2584
|
+
stmt.bind_params(type_casted_binds)
|
2585
|
+
records = stmt.to_a
|
2586
|
+
end
|
2587
|
+
|
2588
|
+
ActiveRecord::Result.new(cols, records)
|
2589
|
+
end
|
2590
|
+
end
|
2591
|
+
end
|
2592
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/database_statements.rb:482
|
2593
|
+
```
|
2594
|
+
</details>
|
2595
|
+
<details open>
|
2596
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/quoting.rb:141</summary>
|
2597
|
+
|
2598
|
+
##### ActiveRecord::ConnectionAdapters::Quoting#type_casted_binds
|
2599
|
+
|
2600
|
+
```ruby
|
2601
|
+
def type_casted_binds(binds) # :nodoc:
|
2602
|
+
if binds.first.is_a?(Array)
|
2603
|
+
binds.map { |column, value| type_cast(value, column) }
|
2604
|
+
else
|
2605
|
+
binds.map { |attr| type_cast(attr.value_for_database) }
|
2606
|
+
end
|
2607
|
+
end
|
2608
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/sqlite3_adapter.rb:210
|
2609
|
+
```
|
2610
|
+
</details>
|
2611
|
+
<details open>
|
2612
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract_adapter.rb:570</summary>
|
2613
|
+
|
2614
|
+
##### ActiveRecord::ConnectionAdapters::AbstractAdapter#log
|
2615
|
+
|
2616
|
+
```ruby
|
2617
|
+
def log(sql, name = "SQL", binds = [], type_casted_binds = [], statement_name = nil) # :doc:
|
2618
|
+
@instrumenter.instrument(
|
2619
|
+
"sql.active_record",
|
2620
|
+
sql: sql,
|
2621
|
+
name: name,
|
2622
|
+
binds: binds,
|
2623
|
+
type_casted_binds: type_casted_binds,
|
2624
|
+
statement_name: statement_name,
|
2625
|
+
connection_id: object_id) do
|
2626
|
+
begin
|
2627
|
+
@lock.synchronize do
|
2628
|
+
yield
|
2629
|
+
end
|
2630
|
+
rescue => e
|
2631
|
+
raise translate_exception_class(e, sql)
|
2632
|
+
end
|
2633
|
+
end
|
2634
|
+
end
|
2635
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/sqlite3_adapter.rb:212
|
2636
|
+
```
|
2637
|
+
</details>
|
2638
|
+
<details open>
|
2639
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:90</summary>
|
2640
|
+
|
2641
|
+
##### ActiveRecord::LogSubscriber#logger
|
2642
|
+
|
2643
|
+
```ruby
|
2644
|
+
def logger
|
2645
|
+
ActiveRecord::Base.logger
|
2646
|
+
end
|
2647
|
+
# called from vendor/bundle/gems/activesupport-5.2.3/lib/active_support/log_subscriber.rb:80
|
2648
|
+
```
|
2649
|
+
</details>
|
2650
|
+
<details open>
|
2651
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/explain_subscriber.rb:8</summary>
|
2652
|
+
|
2653
|
+
##### ActiveRecord::ExplainSubscriber#start
|
2654
|
+
|
2655
|
+
```ruby
|
2656
|
+
def start(name, id, payload)
|
2657
|
+
# unused
|
2658
|
+
end
|
2659
|
+
# called from vendor/bundle/gems/activesupport-5.2.3/lib/active_support/notifications/fanout.rb:100
|
2660
|
+
```
|
2661
|
+
</details>
|
2662
|
+
<details open>
|
2663
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/statement_pool.rb:23</summary>
|
2664
|
+
|
2665
|
+
##### ActiveRecord::ConnectionAdapters::StatementPool#[]
|
2666
|
+
|
2667
|
+
```ruby
|
2668
|
+
def [](key)
|
2669
|
+
cache[key]
|
2670
|
+
end
|
2671
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/sqlite3_adapter.rb:227
|
2672
|
+
```
|
2673
|
+
</details>
|
2674
|
+
<details open>
|
2675
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/statement_pool.rb:52</summary>
|
2676
|
+
|
2677
|
+
##### ActiveRecord::ConnectionAdapters::StatementPool#cache
|
2678
|
+
|
2679
|
+
```ruby
|
2680
|
+
def cache
|
2681
|
+
@cache[Process.pid]
|
2682
|
+
end
|
2683
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/statement_pool.rb:24
|
2684
|
+
```
|
2685
|
+
</details>
|
2686
|
+
<details open>
|
2687
|
+
<summary>vendor/bundle/gems/sqlite3-1.4.1/lib/sqlite3/statement.rb:35</summary>
|
2688
|
+
|
2689
|
+
##### SQLite3::Statement#bind_params
|
2690
|
+
|
2691
|
+
```ruby
|
2692
|
+
def bind_params( *bind_vars )
|
2693
|
+
index = 1
|
2694
|
+
bind_vars.flatten.each do |var|
|
2695
|
+
if Hash === var
|
2696
|
+
var.each { |key, val| bind_param key, val }
|
2697
|
+
else
|
2698
|
+
bind_param index, var
|
2699
|
+
index += 1
|
2700
|
+
end
|
2701
|
+
end
|
2702
|
+
end
|
2703
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/sqlite3_adapter.rb:233
|
2704
|
+
```
|
2705
|
+
</details>
|
2706
|
+
<details open>
|
2707
|
+
<summary>vendor/bundle/gems/sqlite3-1.4.1/lib/sqlite3/statement.rb:106</summary>
|
2708
|
+
|
2709
|
+
##### SQLite3::Statement#each
|
2710
|
+
|
2711
|
+
```ruby
|
2712
|
+
def each
|
2713
|
+
loop do
|
2714
|
+
val = step
|
2715
|
+
break self if done?
|
2716
|
+
yield val
|
2717
|
+
end
|
2718
|
+
end
|
2719
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/sqlite3_adapter.rb:234
|
2720
|
+
```
|
2721
|
+
</details>
|
2722
|
+
<details open>
|
2723
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/result.rb:39</summary>
|
2724
|
+
|
2725
|
+
##### ActiveRecord::Result#initialize
|
2726
|
+
|
2727
|
+
```ruby
|
2728
|
+
def initialize(columns, rows, column_types = {})
|
2729
|
+
@columns = columns
|
2730
|
+
@rows = rows
|
2731
|
+
@hash_rows = nil
|
2732
|
+
@column_types = column_types
|
2733
|
+
end
|
2734
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/sqlite3_adapter.rb:237
|
2735
|
+
```
|
2736
|
+
</details>
|
2737
|
+
<details open>
|
2738
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:90</summary>
|
2739
|
+
|
2740
|
+
##### ActiveRecord::LogSubscriber#logger
|
2741
|
+
|
2742
|
+
```ruby
|
2743
|
+
def logger
|
2744
|
+
ActiveRecord::Base.logger
|
2745
|
+
end
|
2746
|
+
# called from vendor/bundle/gems/activesupport-5.2.3/lib/active_support/log_subscriber.rb:84
|
2747
|
+
```
|
2748
|
+
</details>
|
2749
|
+
<details open>
|
2750
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:20</summary>
|
2751
|
+
|
2752
|
+
##### ActiveRecord::LogSubscriber#sql
|
2753
|
+
|
2754
|
+
```ruby
|
2755
|
+
def sql(event)
|
2756
|
+
self.class.runtime += event.duration
|
2757
|
+
return unless logger.debug?
|
2758
|
+
|
2759
|
+
payload = event.payload
|
2760
|
+
|
2761
|
+
return if IGNORE_PAYLOAD_NAMES.include?(payload[:name])
|
2762
|
+
|
2763
|
+
name = "#{payload[:name]} (#{event.duration.round(1)}ms)"
|
2764
|
+
name = "CACHE #{name}" if payload[:cached]
|
2765
|
+
sql = payload[:sql]
|
2766
|
+
binds = nil
|
2767
|
+
|
2768
|
+
unless (payload[:binds] || []).empty?
|
2769
|
+
casted_params = type_casted_binds(payload[:type_casted_binds])
|
2770
|
+
binds = " " + payload[:binds].zip(casted_params).map { |attr, value|
|
2771
|
+
render_bind(attr, value)
|
2772
|
+
}.inspect
|
2773
|
+
end
|
2774
|
+
|
2775
|
+
name = colorize_payload_name(name, payload[:name])
|
2776
|
+
sql = color(sql, sql_color(sql), true)
|
2777
|
+
|
2778
|
+
debug " #{name} #{sql}#{binds}"
|
2779
|
+
end
|
2780
|
+
# called from vendor/bundle/gems/activesupport-5.2.3/lib/active_support/subscriber.rb:101
|
2781
|
+
```
|
2782
|
+
</details>
|
2783
|
+
<details open>
|
2784
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:11</summary>
|
2785
|
+
|
2786
|
+
##### ActiveRecord::LogSubscriber.runtime
|
2787
|
+
|
2788
|
+
```ruby
|
2789
|
+
def self.runtime
|
2790
|
+
ActiveRecord::RuntimeRegistry.sql_runtime ||= 0
|
2791
|
+
end
|
2792
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:21
|
2793
|
+
```
|
2794
|
+
</details>
|
2795
|
+
<details open>
|
2796
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/runtime_registry.rb:20</summary>
|
2797
|
+
|
2798
|
+
##### ActiveRecord::RuntimeRegistry.sql_runtime
|
2799
|
+
|
2800
|
+
```ruby
|
2801
|
+
class_eval %{ def self.#{val}; instance.#{val}; end }, __FILE__, __LINE__
|
2802
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:12
|
2803
|
+
```
|
2804
|
+
</details>
|
2805
|
+
<details open>
|
2806
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:7</summary>
|
2807
|
+
|
2808
|
+
##### ActiveRecord::LogSubscriber.runtime=
|
2809
|
+
|
2810
|
+
```ruby
|
2811
|
+
def self.runtime=(value)
|
2812
|
+
ActiveRecord::RuntimeRegistry.sql_runtime = value
|
2813
|
+
end
|
2814
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:21
|
2815
|
+
```
|
2816
|
+
</details>
|
2817
|
+
<details open>
|
2818
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/runtime_registry.rb:21</summary>
|
2819
|
+
|
2820
|
+
##### ActiveRecord::RuntimeRegistry.sql_runtime=
|
2821
|
+
|
2822
|
+
```ruby
|
2823
|
+
class_eval %{ def self.#{val}=(x); instance.#{val}=x; end }, __FILE__, __LINE__
|
2824
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:8
|
2825
|
+
```
|
2826
|
+
</details>
|
2827
|
+
<details open>
|
2828
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:90</summary>
|
2829
|
+
|
2830
|
+
##### ActiveRecord::LogSubscriber#logger
|
2831
|
+
|
2832
|
+
```ruby
|
2833
|
+
def logger
|
2834
|
+
ActiveRecord::Base.logger
|
2835
|
+
end
|
2836
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:22
|
2837
|
+
```
|
2838
|
+
</details>
|
2839
|
+
<details open>
|
2840
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:61</summary>
|
2841
|
+
|
2842
|
+
##### ActiveRecord::LogSubscriber#colorize_payload_name
|
2843
|
+
|
2844
|
+
```ruby
|
2845
|
+
def colorize_payload_name(name, payload_name)
|
2846
|
+
if payload_name.blank? || payload_name == "SQL" # SQL vs Model Load/Exists
|
2847
|
+
color(name, MAGENTA, true)
|
2848
|
+
else
|
2849
|
+
color(name, CYAN, true)
|
2850
|
+
end
|
2851
|
+
end
|
2852
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:40
|
2853
|
+
```
|
2854
|
+
</details>
|
2855
|
+
<details open>
|
2856
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:69</summary>
|
2857
|
+
|
2858
|
+
##### ActiveRecord::LogSubscriber#sql_color
|
2859
|
+
|
2860
|
+
```ruby
|
2861
|
+
def sql_color(sql)
|
2862
|
+
case sql
|
2863
|
+
when /\A\s*rollback/mi
|
2864
|
+
RED
|
2865
|
+
when /select .*for update/mi, /\A\s*lock/mi
|
2866
|
+
WHITE
|
2867
|
+
when /\A\s*select/i
|
2868
|
+
BLUE
|
2869
|
+
when /\A\s*insert/i
|
2870
|
+
GREEN
|
2871
|
+
when /\A\s*update/i
|
2872
|
+
YELLOW
|
2873
|
+
when /\A\s*delete/i
|
2874
|
+
RED
|
2875
|
+
when /transaction\s*\Z/i
|
2876
|
+
CYAN
|
2877
|
+
else
|
2878
|
+
MAGENTA
|
2879
|
+
end
|
2880
|
+
end
|
2881
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:41
|
2882
|
+
```
|
2883
|
+
</details>
|
2884
|
+
<details open>
|
2885
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:94</summary>
|
2886
|
+
|
2887
|
+
##### ActiveRecord::LogSubscriber#debug
|
2888
|
+
|
2889
|
+
```ruby
|
2890
|
+
def debug(progname = nil, &block)
|
2891
|
+
return unless super
|
2892
|
+
|
2893
|
+
if ActiveRecord::Base.verbose_query_logs
|
2894
|
+
log_query_source
|
2895
|
+
end
|
2896
|
+
end
|
2897
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:43
|
2898
|
+
```
|
2899
|
+
</details>
|
2900
|
+
<details open>
|
2901
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:90</summary>
|
2902
|
+
|
2903
|
+
##### ActiveRecord::LogSubscriber#logger
|
2904
|
+
|
2905
|
+
```ruby
|
2906
|
+
def logger
|
2907
|
+
ActiveRecord::Base.logger
|
2908
|
+
end
|
2909
|
+
# called from vendor/bundle/gems/activesupport-5.2.3/lib/active_support/log_subscriber.rb:96
|
2910
|
+
```
|
2911
|
+
</details>
|
2912
|
+
<details open>
|
2913
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:90</summary>
|
2914
|
+
|
2915
|
+
##### ActiveRecord::LogSubscriber#logger
|
2916
|
+
|
2917
|
+
```ruby
|
2918
|
+
def logger
|
2919
|
+
ActiveRecord::Base.logger
|
2920
|
+
end
|
2921
|
+
# called from vendor/bundle/gems/activesupport-5.2.3/lib/active_support/log_subscriber.rb:96
|
2922
|
+
```
|
2923
|
+
</details>
|
2924
|
+
<details open>
|
2925
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:102</summary>
|
2926
|
+
|
2927
|
+
##### ActiveRecord::LogSubscriber#log_query_source
|
2928
|
+
|
2929
|
+
```ruby
|
2930
|
+
def log_query_source
|
2931
|
+
source_line, line_number = extract_callstack(caller_locations)
|
2932
|
+
|
2933
|
+
if source_line
|
2934
|
+
if defined?(::Rails.root)
|
2935
|
+
app_root = "#{::Rails.root.to_s}/".freeze
|
2936
|
+
source_line = source_line.sub(app_root, "")
|
2937
|
+
end
|
2938
|
+
|
2939
|
+
logger.debug(" ↳ #{ source_line }:#{ line_number }")
|
2940
|
+
end
|
2941
|
+
end
|
2942
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:98
|
2943
|
+
```
|
2944
|
+
</details>
|
2945
|
+
<details open>
|
2946
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:115</summary>
|
2947
|
+
|
2948
|
+
##### ActiveRecord::LogSubscriber#extract_callstack
|
2949
|
+
|
2950
|
+
```ruby
|
2951
|
+
def extract_callstack(callstack)
|
2952
|
+
line = callstack.find do |frame|
|
2953
|
+
frame.absolute_path && !ignored_callstack(frame.absolute_path)
|
2954
|
+
end
|
2955
|
+
|
2956
|
+
offending_line = line || callstack.first
|
2957
|
+
|
2958
|
+
[
|
2959
|
+
offending_line.path,
|
2960
|
+
offending_line.lineno
|
2961
|
+
]
|
2962
|
+
end
|
2963
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:103
|
2964
|
+
```
|
2965
|
+
</details>
|
2966
|
+
<details open>
|
2967
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
2968
|
+
|
2969
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
2970
|
+
|
2971
|
+
```ruby
|
2972
|
+
def ignored_callstack(path)
|
2973
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
2974
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
2975
|
+
end
|
2976
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
2977
|
+
```
|
2978
|
+
</details>
|
2979
|
+
<details open>
|
2980
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
2981
|
+
|
2982
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
2983
|
+
|
2984
|
+
```ruby
|
2985
|
+
def ignored_callstack(path)
|
2986
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
2987
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
2988
|
+
end
|
2989
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
2990
|
+
```
|
2991
|
+
</details>
|
2992
|
+
<details open>
|
2993
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
2994
|
+
|
2995
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
2996
|
+
|
2997
|
+
```ruby
|
2998
|
+
def ignored_callstack(path)
|
2999
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3000
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3001
|
+
end
|
3002
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3003
|
+
```
|
3004
|
+
</details>
|
3005
|
+
<details open>
|
3006
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3007
|
+
|
3008
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3009
|
+
|
3010
|
+
```ruby
|
3011
|
+
def ignored_callstack(path)
|
3012
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3013
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3014
|
+
end
|
3015
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3016
|
+
```
|
3017
|
+
</details>
|
3018
|
+
<details open>
|
3019
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3020
|
+
|
3021
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3022
|
+
|
3023
|
+
```ruby
|
3024
|
+
def ignored_callstack(path)
|
3025
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3026
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3027
|
+
end
|
3028
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3029
|
+
```
|
3030
|
+
</details>
|
3031
|
+
<details open>
|
3032
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3033
|
+
|
3034
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3035
|
+
|
3036
|
+
```ruby
|
3037
|
+
def ignored_callstack(path)
|
3038
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3039
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3040
|
+
end
|
3041
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3042
|
+
```
|
3043
|
+
</details>
|
3044
|
+
<details open>
|
3045
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3046
|
+
|
3047
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3048
|
+
|
3049
|
+
```ruby
|
3050
|
+
def ignored_callstack(path)
|
3051
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3052
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3053
|
+
end
|
3054
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3055
|
+
```
|
3056
|
+
</details>
|
3057
|
+
<details open>
|
3058
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3059
|
+
|
3060
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3061
|
+
|
3062
|
+
```ruby
|
3063
|
+
def ignored_callstack(path)
|
3064
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3065
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3066
|
+
end
|
3067
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3068
|
+
```
|
3069
|
+
</details>
|
3070
|
+
<details open>
|
3071
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3072
|
+
|
3073
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3074
|
+
|
3075
|
+
```ruby
|
3076
|
+
def ignored_callstack(path)
|
3077
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3078
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3079
|
+
end
|
3080
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3081
|
+
```
|
3082
|
+
</details>
|
3083
|
+
<details open>
|
3084
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3085
|
+
|
3086
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3087
|
+
|
3088
|
+
```ruby
|
3089
|
+
def ignored_callstack(path)
|
3090
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3091
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3092
|
+
end
|
3093
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3094
|
+
```
|
3095
|
+
</details>
|
3096
|
+
<details open>
|
3097
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3098
|
+
|
3099
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3100
|
+
|
3101
|
+
```ruby
|
3102
|
+
def ignored_callstack(path)
|
3103
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3104
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3105
|
+
end
|
3106
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3107
|
+
```
|
3108
|
+
</details>
|
3109
|
+
<details open>
|
3110
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3111
|
+
|
3112
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3113
|
+
|
3114
|
+
```ruby
|
3115
|
+
def ignored_callstack(path)
|
3116
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3117
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3118
|
+
end
|
3119
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3120
|
+
```
|
3121
|
+
</details>
|
3122
|
+
<details open>
|
3123
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3124
|
+
|
3125
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3126
|
+
|
3127
|
+
```ruby
|
3128
|
+
def ignored_callstack(path)
|
3129
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3130
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3131
|
+
end
|
3132
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3133
|
+
```
|
3134
|
+
</details>
|
3135
|
+
<details open>
|
3136
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3137
|
+
|
3138
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3139
|
+
|
3140
|
+
```ruby
|
3141
|
+
def ignored_callstack(path)
|
3142
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3143
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3144
|
+
end
|
3145
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3146
|
+
```
|
3147
|
+
</details>
|
3148
|
+
<details open>
|
3149
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3150
|
+
|
3151
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3152
|
+
|
3153
|
+
```ruby
|
3154
|
+
def ignored_callstack(path)
|
3155
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3156
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3157
|
+
end
|
3158
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3159
|
+
```
|
3160
|
+
</details>
|
3161
|
+
<details open>
|
3162
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3163
|
+
|
3164
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3165
|
+
|
3166
|
+
```ruby
|
3167
|
+
def ignored_callstack(path)
|
3168
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3169
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3170
|
+
end
|
3171
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3172
|
+
```
|
3173
|
+
</details>
|
3174
|
+
<details open>
|
3175
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3176
|
+
|
3177
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3178
|
+
|
3179
|
+
```ruby
|
3180
|
+
def ignored_callstack(path)
|
3181
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3182
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3183
|
+
end
|
3184
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3185
|
+
```
|
3186
|
+
</details>
|
3187
|
+
<details open>
|
3188
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3189
|
+
|
3190
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3191
|
+
|
3192
|
+
```ruby
|
3193
|
+
def ignored_callstack(path)
|
3194
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3195
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3196
|
+
end
|
3197
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3198
|
+
```
|
3199
|
+
</details>
|
3200
|
+
<details open>
|
3201
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3202
|
+
|
3203
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3204
|
+
|
3205
|
+
```ruby
|
3206
|
+
def ignored_callstack(path)
|
3207
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3208
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3209
|
+
end
|
3210
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3211
|
+
```
|
3212
|
+
</details>
|
3213
|
+
<details open>
|
3214
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3215
|
+
|
3216
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3217
|
+
|
3218
|
+
```ruby
|
3219
|
+
def ignored_callstack(path)
|
3220
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3221
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3222
|
+
end
|
3223
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3224
|
+
```
|
3225
|
+
</details>
|
3226
|
+
<details open>
|
3227
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3228
|
+
|
3229
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3230
|
+
|
3231
|
+
```ruby
|
3232
|
+
def ignored_callstack(path)
|
3233
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3234
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3235
|
+
end
|
3236
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3237
|
+
```
|
3238
|
+
</details>
|
3239
|
+
<details open>
|
3240
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3241
|
+
|
3242
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3243
|
+
|
3244
|
+
```ruby
|
3245
|
+
def ignored_callstack(path)
|
3246
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3247
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3248
|
+
end
|
3249
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3250
|
+
```
|
3251
|
+
</details>
|
3252
|
+
<details open>
|
3253
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3254
|
+
|
3255
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3256
|
+
|
3257
|
+
```ruby
|
3258
|
+
def ignored_callstack(path)
|
3259
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3260
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3261
|
+
end
|
3262
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3263
|
+
```
|
3264
|
+
</details>
|
3265
|
+
<details open>
|
3266
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3267
|
+
|
3268
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3269
|
+
|
3270
|
+
```ruby
|
3271
|
+
def ignored_callstack(path)
|
3272
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3273
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3274
|
+
end
|
3275
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3276
|
+
```
|
3277
|
+
</details>
|
3278
|
+
<details open>
|
3279
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3280
|
+
|
3281
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3282
|
+
|
3283
|
+
```ruby
|
3284
|
+
def ignored_callstack(path)
|
3285
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3286
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3287
|
+
end
|
3288
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3289
|
+
```
|
3290
|
+
</details>
|
3291
|
+
<details open>
|
3292
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3293
|
+
|
3294
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3295
|
+
|
3296
|
+
```ruby
|
3297
|
+
def ignored_callstack(path)
|
3298
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3299
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3300
|
+
end
|
3301
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3302
|
+
```
|
3303
|
+
</details>
|
3304
|
+
<details open>
|
3305
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3306
|
+
|
3307
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3308
|
+
|
3309
|
+
```ruby
|
3310
|
+
def ignored_callstack(path)
|
3311
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3312
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3313
|
+
end
|
3314
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3315
|
+
```
|
3316
|
+
</details>
|
3317
|
+
<details open>
|
3318
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3319
|
+
|
3320
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3321
|
+
|
3322
|
+
```ruby
|
3323
|
+
def ignored_callstack(path)
|
3324
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3325
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3326
|
+
end
|
3327
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3328
|
+
```
|
3329
|
+
</details>
|
3330
|
+
<details open>
|
3331
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3332
|
+
|
3333
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3334
|
+
|
3335
|
+
```ruby
|
3336
|
+
def ignored_callstack(path)
|
3337
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3338
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3339
|
+
end
|
3340
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3341
|
+
```
|
3342
|
+
</details>
|
3343
|
+
<details open>
|
3344
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3345
|
+
|
3346
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3347
|
+
|
3348
|
+
```ruby
|
3349
|
+
def ignored_callstack(path)
|
3350
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3351
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3352
|
+
end
|
3353
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3354
|
+
```
|
3355
|
+
</details>
|
3356
|
+
<details open>
|
3357
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3358
|
+
|
3359
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3360
|
+
|
3361
|
+
```ruby
|
3362
|
+
def ignored_callstack(path)
|
3363
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3364
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3365
|
+
end
|
3366
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3367
|
+
```
|
3368
|
+
</details>
|
3369
|
+
<details open>
|
3370
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3371
|
+
|
3372
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3373
|
+
|
3374
|
+
```ruby
|
3375
|
+
def ignored_callstack(path)
|
3376
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3377
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3378
|
+
end
|
3379
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3380
|
+
```
|
3381
|
+
</details>
|
3382
|
+
<details open>
|
3383
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3384
|
+
|
3385
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3386
|
+
|
3387
|
+
```ruby
|
3388
|
+
def ignored_callstack(path)
|
3389
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3390
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3391
|
+
end
|
3392
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3393
|
+
```
|
3394
|
+
</details>
|
3395
|
+
<details open>
|
3396
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3397
|
+
|
3398
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3399
|
+
|
3400
|
+
```ruby
|
3401
|
+
def ignored_callstack(path)
|
3402
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3403
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3404
|
+
end
|
3405
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3406
|
+
```
|
3407
|
+
</details>
|
3408
|
+
<details open>
|
3409
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3410
|
+
|
3411
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3412
|
+
|
3413
|
+
```ruby
|
3414
|
+
def ignored_callstack(path)
|
3415
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3416
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3417
|
+
end
|
3418
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3419
|
+
```
|
3420
|
+
</details>
|
3421
|
+
<details open>
|
3422
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3423
|
+
|
3424
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3425
|
+
|
3426
|
+
```ruby
|
3427
|
+
def ignored_callstack(path)
|
3428
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3429
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3430
|
+
end
|
3431
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3432
|
+
```
|
3433
|
+
</details>
|
3434
|
+
<details open>
|
3435
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3436
|
+
|
3437
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3438
|
+
|
3439
|
+
```ruby
|
3440
|
+
def ignored_callstack(path)
|
3441
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3442
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3443
|
+
end
|
3444
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3445
|
+
```
|
3446
|
+
</details>
|
3447
|
+
<details open>
|
3448
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3449
|
+
|
3450
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3451
|
+
|
3452
|
+
```ruby
|
3453
|
+
def ignored_callstack(path)
|
3454
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3455
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3456
|
+
end
|
3457
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3458
|
+
```
|
3459
|
+
</details>
|
3460
|
+
<details open>
|
3461
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3462
|
+
|
3463
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3464
|
+
|
3465
|
+
```ruby
|
3466
|
+
def ignored_callstack(path)
|
3467
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3468
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3469
|
+
end
|
3470
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3471
|
+
```
|
3472
|
+
</details>
|
3473
|
+
<details open>
|
3474
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3475
|
+
|
3476
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3477
|
+
|
3478
|
+
```ruby
|
3479
|
+
def ignored_callstack(path)
|
3480
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3481
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3482
|
+
end
|
3483
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3484
|
+
```
|
3485
|
+
</details>
|
3486
|
+
<details open>
|
3487
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3488
|
+
|
3489
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3490
|
+
|
3491
|
+
```ruby
|
3492
|
+
def ignored_callstack(path)
|
3493
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3494
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3495
|
+
end
|
3496
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3497
|
+
```
|
3498
|
+
</details>
|
3499
|
+
<details open>
|
3500
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3501
|
+
|
3502
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3503
|
+
|
3504
|
+
```ruby
|
3505
|
+
def ignored_callstack(path)
|
3506
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3507
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3508
|
+
end
|
3509
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3510
|
+
```
|
3511
|
+
</details>
|
3512
|
+
<details open>
|
3513
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3514
|
+
|
3515
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3516
|
+
|
3517
|
+
```ruby
|
3518
|
+
def ignored_callstack(path)
|
3519
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3520
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3521
|
+
end
|
3522
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3523
|
+
```
|
3524
|
+
</details>
|
3525
|
+
<details open>
|
3526
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3527
|
+
|
3528
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3529
|
+
|
3530
|
+
```ruby
|
3531
|
+
def ignored_callstack(path)
|
3532
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3533
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3534
|
+
end
|
3535
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3536
|
+
```
|
3537
|
+
</details>
|
3538
|
+
<details open>
|
3539
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3540
|
+
|
3541
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3542
|
+
|
3543
|
+
```ruby
|
3544
|
+
def ignored_callstack(path)
|
3545
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3546
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3547
|
+
end
|
3548
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3549
|
+
```
|
3550
|
+
</details>
|
3551
|
+
<details open>
|
3552
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:130</summary>
|
3553
|
+
|
3554
|
+
##### ActiveRecord::LogSubscriber#ignored_callstack
|
3555
|
+
|
3556
|
+
```ruby
|
3557
|
+
def ignored_callstack(path)
|
3558
|
+
path.start_with?(RAILS_GEM_ROOT) ||
|
3559
|
+
path.start_with?(RbConfig::CONFIG["rubylibdir"])
|
3560
|
+
end
|
3561
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:117
|
3562
|
+
```
|
3563
|
+
</details>
|
3564
|
+
<details open>
|
3565
|
+
<summary>vendor/bundle/gems/railties-5.2.3/lib/rails.rb:63</summary>
|
3566
|
+
|
3567
|
+
##### Rails.root
|
3568
|
+
|
3569
|
+
```ruby
|
3570
|
+
def root
|
3571
|
+
application && application.config.root
|
3572
|
+
end
|
3573
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:107
|
3574
|
+
```
|
3575
|
+
</details>
|
3576
|
+
<details open>
|
3577
|
+
<summary>vendor/bundle/gems/railties-5.2.3/lib/rails.rb:39</summary>
|
3578
|
+
|
3579
|
+
##### Rails.application
|
3580
|
+
|
3581
|
+
```ruby
|
3582
|
+
def application
|
3583
|
+
@application ||= (app_class.instance if app_class)
|
3584
|
+
end
|
3585
|
+
# called from vendor/bundle/gems/railties-5.2.3/lib/rails.rb:64
|
3586
|
+
```
|
3587
|
+
</details>
|
3588
|
+
<details open>
|
3589
|
+
<summary>vendor/bundle/gems/railties-5.2.3/lib/rails.rb:39</summary>
|
3590
|
+
|
3591
|
+
##### Rails.application
|
3592
|
+
|
3593
|
+
```ruby
|
3594
|
+
def application
|
3595
|
+
@application ||= (app_class.instance if app_class)
|
3596
|
+
end
|
3597
|
+
# called from vendor/bundle/gems/railties-5.2.3/lib/rails.rb:64
|
3598
|
+
```
|
3599
|
+
</details>
|
3600
|
+
<details open>
|
3601
|
+
<summary>vendor/bundle/gems/railties-5.2.3/lib/rails/application.rb:372</summary>
|
3602
|
+
|
3603
|
+
##### Rails::Application#config
|
3604
|
+
|
3605
|
+
```ruby
|
3606
|
+
def config #:nodoc:
|
3607
|
+
@config ||= Application::Configuration.new(self.class.find_root(self.class.called_from))
|
3608
|
+
end
|
3609
|
+
# called from vendor/bundle/gems/railties-5.2.3/lib/rails.rb:64
|
3610
|
+
```
|
3611
|
+
</details>
|
3612
|
+
<details open>
|
3613
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:90</summary>
|
3614
|
+
|
3615
|
+
##### ActiveRecord::LogSubscriber#logger
|
3616
|
+
|
3617
|
+
```ruby
|
3618
|
+
def logger
|
3619
|
+
ActiveRecord::Base.logger
|
3620
|
+
end
|
3621
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:111
|
3622
|
+
```
|
3623
|
+
</details>
|
3624
|
+
<details open>
|
3625
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/explain_subscriber.rb:12</summary>
|
3626
|
+
|
3627
|
+
##### ActiveRecord::ExplainSubscriber#finish
|
3628
|
+
|
3629
|
+
```ruby
|
3630
|
+
def finish(name, id, payload)
|
3631
|
+
if ExplainRegistry.collect? && !ignore_payload?(payload)
|
3632
|
+
ExplainRegistry.queries << payload.values_at(:sql, :binds)
|
3633
|
+
end
|
3634
|
+
end
|
3635
|
+
# called from vendor/bundle/gems/activesupport-5.2.3/lib/active_support/notifications/fanout.rb:104
|
3636
|
+
```
|
3637
|
+
</details>
|
3638
|
+
<details open>
|
3639
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/explain_registry.rb:23</summary>
|
3640
|
+
|
3641
|
+
##### ActiveRecord::ExplainRegistry#collect?
|
3642
|
+
|
3643
|
+
```ruby
|
3644
|
+
def collect?
|
3645
|
+
@collect
|
3646
|
+
end
|
3647
|
+
# called from vendor/bundle/gems/activesupport-5.2.3/lib/active_support/per_thread_registry.rb:55
|
3648
|
+
```
|
3649
|
+
</details>
|
3650
|
+
<details open>
|
3651
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/result.rb:108</summary>
|
3652
|
+
|
3653
|
+
##### ActiveRecord::Result#initialize_copy
|
3654
|
+
|
3655
|
+
```ruby
|
3656
|
+
def initialize_copy(other)
|
3657
|
+
@columns = columns.dup
|
3658
|
+
@rows = rows.dup
|
3659
|
+
@column_types = column_types.dup
|
3660
|
+
@hash_rows = nil
|
3661
|
+
end
|
3662
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/query_cache.rb:129
|
3663
|
+
```
|
3664
|
+
</details>
|
3665
|
+
<details open>
|
3666
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/model_schema.rb:345</summary>
|
3667
|
+
|
3668
|
+
##### ActiveRecord::ModelSchema::ClassMethods.attribute_types
|
3669
|
+
|
3670
|
+
```ruby
|
3671
|
+
def attribute_types # :nodoc:
|
3672
|
+
load_schema
|
3673
|
+
@attribute_types ||= Hash.new(Type.default_value)
|
3674
|
+
end
|
3675
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/querying.rb:43
|
3676
|
+
```
|
3677
|
+
</details>
|
3678
|
+
<details open>
|
3679
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/model_schema.rb:454</summary>
|
3680
|
+
|
3681
|
+
##### ActiveRecord::ModelSchema::ClassMethods.load_schema
|
3682
|
+
|
3683
|
+
```ruby
|
3684
|
+
def load_schema
|
3685
|
+
return if schema_loaded?
|
3686
|
+
@load_schema_monitor.synchronize do
|
3687
|
+
return if defined?(@columns_hash) && @columns_hash
|
3688
|
+
|
3689
|
+
load_schema!
|
3690
|
+
|
3691
|
+
@schema_loaded = true
|
3692
|
+
end
|
3693
|
+
end
|
3694
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/model_schema.rb:346
|
3695
|
+
```
|
3696
|
+
</details>
|
3697
|
+
<details open>
|
3698
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/model_schema.rb:450</summary>
|
3699
|
+
|
3700
|
+
##### ActiveRecord::ModelSchema::ClassMethods.schema_loaded?
|
3701
|
+
|
3702
|
+
```ruby
|
3703
|
+
def schema_loaded?
|
3704
|
+
defined?(@schema_loaded) && @schema_loaded
|
3705
|
+
end
|
3706
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/model_schema.rb:455
|
3707
|
+
```
|
3708
|
+
</details>
|
3709
|
+
<details open>
|
3710
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/result.rb:47</summary>
|
3711
|
+
|
3712
|
+
##### ActiveRecord::Result#length
|
3713
|
+
|
3714
|
+
```ruby
|
3715
|
+
def length
|
3716
|
+
@rows.length
|
3717
|
+
end
|
3718
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/querying.rb:47
|
3719
|
+
```
|
3720
|
+
</details>
|
3721
|
+
<details open>
|
3722
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/result.rb:55</summary>
|
3723
|
+
|
3724
|
+
##### ActiveRecord::Result#each
|
3725
|
+
|
3726
|
+
```ruby
|
3727
|
+
def each
|
3728
|
+
if block_given?
|
3729
|
+
hash_rows.each { |row| yield row }
|
3730
|
+
else
|
3731
|
+
hash_rows.to_enum { @rows.size }
|
3732
|
+
end
|
3733
|
+
end
|
3734
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/querying.rb:52
|
3735
|
+
```
|
3736
|
+
</details>
|
3737
|
+
<details open>
|
3738
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/result.rb:123</summary>
|
3739
|
+
|
3740
|
+
##### ActiveRecord::Result#hash_rows
|
3741
|
+
|
3742
|
+
```ruby
|
3743
|
+
def hash_rows
|
3744
|
+
@hash_rows ||=
|
3745
|
+
begin
|
3746
|
+
# We freeze the strings to prevent them getting duped when
|
3747
|
+
# used as keys in ActiveRecord::Base's @attributes hash
|
3748
|
+
columns = @columns.map { |c| c.dup.freeze }
|
3749
|
+
@rows.map { |row|
|
3750
|
+
# In the past we used Hash[columns.zip(row)]
|
3751
|
+
# though elegant, the verbose way is much more efficient
|
3752
|
+
# both time and memory wise cause it avoids a big array allocation
|
3753
|
+
# this method is called a lot and needs to be micro optimised
|
3754
|
+
hash = {}
|
3755
|
+
|
3756
|
+
index = 0
|
3757
|
+
length = columns.length
|
3758
|
+
|
3759
|
+
while index < length
|
3760
|
+
hash[columns[index]] = row[index]
|
3761
|
+
index += 1
|
3762
|
+
end
|
3763
|
+
|
3764
|
+
hash
|
3765
|
+
}
|
3766
|
+
end
|
3767
|
+
end
|
3768
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/result.rb:57
|
3769
|
+
```
|
3770
|
+
</details>
|
3771
|
+
<details open>
|
3772
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:69</summary>
|
3773
|
+
|
3774
|
+
##### ActiveRecord::QueryMethods#preload_values
|
3775
|
+
|
3776
|
+
```ruby
|
3777
|
+
def #{method_name} # def includes_values
|
3778
|
+
get_value(#{name.inspect}) # get_value(:includes)
|
3779
|
+
end # end
|
3780
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:563
|
3781
|
+
```
|
3782
|
+
</details>
|
3783
|
+
<details open>
|
3784
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:907</summary>
|
3785
|
+
|
3786
|
+
##### ActiveRecord::QueryMethods#get_value
|
3787
|
+
|
3788
|
+
```ruby
|
3789
|
+
def get_value(name) # :nodoc:
|
3790
|
+
@values.fetch(name, DEFAULT_VALUES[name])
|
3791
|
+
end
|
3792
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:70
|
3793
|
+
```
|
3794
|
+
</details>
|
3795
|
+
<details open>
|
3796
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:472</summary>
|
3797
|
+
|
3798
|
+
##### ActiveRecord::Relation#eager_loading?
|
3799
|
+
|
3800
|
+
```ruby
|
3801
|
+
def eager_loading?
|
3802
|
+
@should_eager_load ||=
|
3803
|
+
eager_load_values.any? ||
|
3804
|
+
includes_values.any? && (joined_includes_values.any? || references_eager_loaded_tables?)
|
3805
|
+
end
|
3806
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:564
|
3807
|
+
```
|
3808
|
+
</details>
|
3809
|
+
<details open>
|
3810
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:69</summary>
|
3811
|
+
|
3812
|
+
##### ActiveRecord::QueryMethods#eager_load_values
|
3813
|
+
|
3814
|
+
```ruby
|
3815
|
+
def #{method_name} # def includes_values
|
3816
|
+
get_value(#{name.inspect}) # get_value(:includes)
|
3817
|
+
end # end
|
3818
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:474
|
3819
|
+
```
|
3820
|
+
</details>
|
3821
|
+
<details open>
|
3822
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:907</summary>
|
3823
|
+
|
3824
|
+
##### ActiveRecord::QueryMethods#get_value
|
3825
|
+
|
3826
|
+
```ruby
|
3827
|
+
def get_value(name) # :nodoc:
|
3828
|
+
@values.fetch(name, DEFAULT_VALUES[name])
|
3829
|
+
end
|
3830
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:70
|
3831
|
+
```
|
3832
|
+
</details>
|
3833
|
+
<details open>
|
3834
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:69</summary>
|
3835
|
+
|
3836
|
+
##### ActiveRecord::QueryMethods#includes_values
|
3837
|
+
|
3838
|
+
```ruby
|
3839
|
+
def #{method_name} # def includes_values
|
3840
|
+
get_value(#{name.inspect}) # get_value(:includes)
|
3841
|
+
end # end
|
3842
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:475
|
3843
|
+
```
|
3844
|
+
</details>
|
3845
|
+
<details open>
|
3846
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:907</summary>
|
3847
|
+
|
3848
|
+
##### ActiveRecord::QueryMethods#get_value
|
3849
|
+
|
3850
|
+
```ruby
|
3851
|
+
def get_value(name) # :nodoc:
|
3852
|
+
@values.fetch(name, DEFAULT_VALUES[name])
|
3853
|
+
end
|
3854
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:70
|
3855
|
+
```
|
3856
|
+
</details>
|
3857
|
+
<details open>
|
3858
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:69</summary>
|
3859
|
+
|
3860
|
+
##### ActiveRecord::QueryMethods#includes_values
|
3861
|
+
|
3862
|
+
```ruby
|
3863
|
+
def #{method_name} # def includes_values
|
3864
|
+
get_value(#{name.inspect}) # get_value(:includes)
|
3865
|
+
end # end
|
3866
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:564
|
3867
|
+
```
|
3868
|
+
</details>
|
3869
|
+
<details open>
|
3870
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:907</summary>
|
3871
|
+
|
3872
|
+
##### ActiveRecord::QueryMethods#get_value
|
3873
|
+
|
3874
|
+
```ruby
|
3875
|
+
def get_value(name) # :nodoc:
|
3876
|
+
@values.fetch(name, DEFAULT_VALUES[name])
|
3877
|
+
end
|
3878
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:70
|
3879
|
+
```
|
3880
|
+
</details>
|
3881
|
+
<details open>
|
3882
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:69</summary>
|
3883
|
+
|
3884
|
+
##### ActiveRecord::QueryMethods#readonly_value
|
3885
|
+
|
3886
|
+
```ruby
|
3887
|
+
def #{method_name} # def includes_values
|
3888
|
+
get_value(#{name.inspect}) # get_value(:includes)
|
3889
|
+
end # end
|
3890
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation.rb:571
|
3891
|
+
```
|
3892
|
+
</details>
|
3893
|
+
<details open>
|
3894
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:907</summary>
|
3895
|
+
|
3896
|
+
##### ActiveRecord::QueryMethods#get_value
|
3897
|
+
|
3898
|
+
```ruby
|
3899
|
+
def get_value(name) # :nodoc:
|
3900
|
+
@values.fetch(name, DEFAULT_VALUES[name])
|
3901
|
+
end
|
3902
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/relation/query_methods.rb:70
|
3903
|
+
```
|
3904
|
+
</details>
|
3905
|
+
<details open>
|
3906
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal.rb:150</summary>
|
3907
|
+
|
3908
|
+
##### ActionController::Metal#content_type
|
3909
|
+
|
3910
|
+
```ruby
|
3911
|
+
delegate :headers, :status=, :location=, :content_type=,
|
3912
|
+
:status, :location, :content_type, to: "@_response"
|
3913
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/renderers.rb:166
|
3914
|
+
```
|
3915
|
+
</details>
|
3916
|
+
<details open>
|
3917
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:247</summary>
|
3918
|
+
|
3919
|
+
##### ActionDispatch::Response#content_type
|
3920
|
+
|
3921
|
+
```ruby
|
3922
|
+
def content_type
|
3923
|
+
parsed_content_type_header.mime_type
|
3924
|
+
end
|
3925
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal.rb:150
|
3926
|
+
```
|
3927
|
+
</details>
|
3928
|
+
<details open>
|
3929
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:422</summary>
|
3930
|
+
|
3931
|
+
##### ActionDispatch::Response#parsed_content_type_header
|
3932
|
+
|
3933
|
+
```ruby
|
3934
|
+
def parsed_content_type_header
|
3935
|
+
parse_content_type(get_header(CONTENT_TYPE))
|
3936
|
+
end
|
3937
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:248
|
3938
|
+
```
|
3939
|
+
</details>
|
3940
|
+
<details open>
|
3941
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:182</summary>
|
3942
|
+
|
3943
|
+
##### ActionDispatch::Response#get_header
|
3944
|
+
|
3945
|
+
```ruby
|
3946
|
+
def get_header(key); headers[key]; end
|
3947
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:423
|
3948
|
+
```
|
3949
|
+
</details>
|
3950
|
+
<details open>
|
3951
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:412</summary>
|
3952
|
+
|
3953
|
+
##### ActionDispatch::Response#parse_content_type
|
3954
|
+
|
3955
|
+
```ruby
|
3956
|
+
def parse_content_type(content_type)
|
3957
|
+
if content_type && match = CONTENT_TYPE_PARSER.match(content_type)
|
3958
|
+
ContentTypeHeader.new(match[:type], match[:charset])
|
3959
|
+
else
|
3960
|
+
NullContentTypeHeader
|
3961
|
+
end
|
3962
|
+
end
|
3963
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:423
|
3964
|
+
```
|
3965
|
+
</details>
|
3966
|
+
<details open>
|
3967
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/mime_type.rb:40</summary>
|
3968
|
+
|
3969
|
+
##### Mime.[]
|
3970
|
+
|
3971
|
+
```ruby
|
3972
|
+
def [](type)
|
3973
|
+
return type if type.is_a?(Type)
|
3974
|
+
Type.lookup_by_extension(type)
|
3975
|
+
end
|
3976
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/renderers.rb:166
|
3977
|
+
```
|
3978
|
+
</details>
|
3979
|
+
<details open>
|
3980
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/mime_type.rb:148</summary>
|
3981
|
+
|
3982
|
+
##### Mime::Type.lookup_by_extension
|
3983
|
+
|
3984
|
+
```ruby
|
3985
|
+
def lookup_by_extension(extension)
|
3986
|
+
EXTENSION_LOOKUP[extension.to_s]
|
3987
|
+
end
|
3988
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/mime_type.rb:42
|
3989
|
+
```
|
3990
|
+
</details>
|
3991
|
+
<details open>
|
3992
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal.rb:150</summary>
|
3993
|
+
|
3994
|
+
##### ActionController::Metal#content_type=
|
3995
|
+
|
3996
|
+
```ruby
|
3997
|
+
delegate :headers, :status=, :location=, :content_type=,
|
3998
|
+
:status, :location, :content_type, to: "@_response"
|
3999
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/renderers.rb:166
|
4000
|
+
```
|
4001
|
+
</details>
|
4002
|
+
<details open>
|
4003
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:229</summary>
|
4004
|
+
|
4005
|
+
##### ActionDispatch::Response#content_type=
|
4006
|
+
|
4007
|
+
```ruby
|
4008
|
+
def content_type=(content_type)
|
4009
|
+
return unless content_type
|
4010
|
+
new_header_info = parse_content_type(content_type.to_s)
|
4011
|
+
prev_header_info = parsed_content_type_header
|
4012
|
+
charset = new_header_info.charset || prev_header_info.charset
|
4013
|
+
charset ||= self.class.default_charset unless prev_header_info.mime_type
|
4014
|
+
set_content_type new_header_info.mime_type, charset
|
4015
|
+
end
|
4016
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal.rb:150
|
4017
|
+
```
|
4018
|
+
</details>
|
4019
|
+
<details open>
|
4020
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/mime_type.rb:232</summary>
|
4021
|
+
|
4022
|
+
##### Mime::Type#to_s
|
4023
|
+
|
4024
|
+
```ruby
|
4025
|
+
def to_s
|
4026
|
+
@string
|
4027
|
+
end
|
4028
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:231
|
4029
|
+
```
|
4030
|
+
</details>
|
4031
|
+
<details open>
|
4032
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:412</summary>
|
4033
|
+
|
4034
|
+
##### ActionDispatch::Response#parse_content_type
|
4035
|
+
|
4036
|
+
```ruby
|
4037
|
+
def parse_content_type(content_type)
|
4038
|
+
if content_type && match = CONTENT_TYPE_PARSER.match(content_type)
|
4039
|
+
ContentTypeHeader.new(match[:type], match[:charset])
|
4040
|
+
else
|
4041
|
+
NullContentTypeHeader
|
4042
|
+
end
|
4043
|
+
end
|
4044
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:231
|
4045
|
+
```
|
4046
|
+
</details>
|
4047
|
+
<details open>
|
4048
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:422</summary>
|
4049
|
+
|
4050
|
+
##### ActionDispatch::Response#parsed_content_type_header
|
4051
|
+
|
4052
|
+
```ruby
|
4053
|
+
def parsed_content_type_header
|
4054
|
+
parse_content_type(get_header(CONTENT_TYPE))
|
4055
|
+
end
|
4056
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:232
|
4057
|
+
```
|
4058
|
+
</details>
|
4059
|
+
<details open>
|
4060
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:182</summary>
|
4061
|
+
|
4062
|
+
##### ActionDispatch::Response#get_header
|
4063
|
+
|
4064
|
+
```ruby
|
4065
|
+
def get_header(key); headers[key]; end
|
4066
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:423
|
4067
|
+
```
|
4068
|
+
</details>
|
4069
|
+
<details open>
|
4070
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:412</summary>
|
4071
|
+
|
4072
|
+
##### ActionDispatch::Response#parse_content_type
|
4073
|
+
|
4074
|
+
```ruby
|
4075
|
+
def parse_content_type(content_type)
|
4076
|
+
if content_type && match = CONTENT_TYPE_PARSER.match(content_type)
|
4077
|
+
ContentTypeHeader.new(match[:type], match[:charset])
|
4078
|
+
else
|
4079
|
+
NullContentTypeHeader
|
4080
|
+
end
|
4081
|
+
end
|
4082
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:423
|
4083
|
+
```
|
4084
|
+
</details>
|
4085
|
+
<details open>
|
4086
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:426</summary>
|
4087
|
+
|
4088
|
+
##### ActionDispatch::Response#set_content_type
|
4089
|
+
|
4090
|
+
```ruby
|
4091
|
+
def set_content_type(content_type, charset)
|
4092
|
+
type = (content_type || "").dup
|
4093
|
+
type << "; charset=#{charset.to_s.downcase}" if charset
|
4094
|
+
set_header CONTENT_TYPE, type
|
4095
|
+
end
|
4096
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:235
|
4097
|
+
```
|
4098
|
+
</details>
|
4099
|
+
<details open>
|
4100
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:183</summary>
|
4101
|
+
|
4102
|
+
##### ActionDispatch::Response#set_header
|
4103
|
+
|
4104
|
+
```ruby
|
4105
|
+
def set_header(key, v); headers[key] = v; end
|
4106
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:429
|
4107
|
+
```
|
4108
|
+
</details>
|
4109
|
+
<details open>
|
4110
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:44</summary>
|
4111
|
+
|
4112
|
+
##### ActionDispatch::Response::Header#[]=
|
4113
|
+
|
4114
|
+
```ruby
|
4115
|
+
def []=(k, v)
|
4116
|
+
if @response.sending? || @response.sent?
|
4117
|
+
raise ActionDispatch::IllegalStateError, "header already sent"
|
4118
|
+
end
|
4119
|
+
|
4120
|
+
super
|
4121
|
+
end
|
4122
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:183
|
4123
|
+
```
|
4124
|
+
</details>
|
4125
|
+
<details open>
|
4126
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:219</summary>
|
4127
|
+
|
4128
|
+
##### ActionDispatch::Response#sending?
|
4129
|
+
|
4130
|
+
```ruby
|
4131
|
+
def sending?; synchronize { @sending }; end
|
4132
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:45
|
4133
|
+
```
|
4134
|
+
</details>
|
4135
|
+
<details open>
|
4136
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:221</summary>
|
4137
|
+
|
4138
|
+
##### ActionDispatch::Response#sent?
|
4139
|
+
|
4140
|
+
```ruby
|
4141
|
+
def sent?; synchronize { @sent }; end
|
4142
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:45
|
4143
|
+
```
|
4144
|
+
</details>
|
4145
|
+
<details open>
|
4146
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/abstract_controller/rendering.rb:54</summary>
|
4147
|
+
|
4148
|
+
##### AbstractController::Rendering#rendered_format
|
4149
|
+
|
4150
|
+
```ruby
|
4151
|
+
def rendered_format
|
4152
|
+
Mime[:text]
|
4153
|
+
end
|
4154
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/abstract_controller/rendering.rb:29
|
4155
|
+
```
|
4156
|
+
</details>
|
4157
|
+
<details open>
|
4158
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/mime_type.rb:40</summary>
|
4159
|
+
|
4160
|
+
##### Mime.[]
|
4161
|
+
|
4162
|
+
```ruby
|
4163
|
+
def [](type)
|
4164
|
+
return type if type.is_a?(Type)
|
4165
|
+
Type.lookup_by_extension(type)
|
4166
|
+
end
|
4167
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/abstract_controller/rendering.rb:55
|
4168
|
+
```
|
4169
|
+
</details>
|
4170
|
+
<details open>
|
4171
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/mime_type.rb:148</summary>
|
4172
|
+
|
4173
|
+
##### Mime::Type.lookup_by_extension
|
4174
|
+
|
4175
|
+
```ruby
|
4176
|
+
def lookup_by_extension(extension)
|
4177
|
+
EXTENSION_LOOKUP[extension.to_s]
|
4178
|
+
end
|
4179
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/mime_type.rb:42
|
4180
|
+
```
|
4181
|
+
</details>
|
4182
|
+
<details open>
|
4183
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/rendering.rb:75</summary>
|
4184
|
+
|
4185
|
+
##### ActionController::Rendering#_set_rendered_content_type
|
4186
|
+
|
4187
|
+
```ruby
|
4188
|
+
def _set_rendered_content_type(format)
|
4189
|
+
if format && !response.content_type
|
4190
|
+
self.content_type = format.to_s
|
4191
|
+
end
|
4192
|
+
end
|
4193
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/abstract_controller/rendering.rb:29
|
4194
|
+
```
|
4195
|
+
</details>
|
4196
|
+
<details open>
|
4197
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:247</summary>
|
4198
|
+
|
4199
|
+
##### ActionDispatch::Response#content_type
|
4200
|
+
|
4201
|
+
```ruby
|
4202
|
+
def content_type
|
4203
|
+
parsed_content_type_header.mime_type
|
4204
|
+
end
|
4205
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal/rendering.rb:76
|
4206
|
+
```
|
4207
|
+
</details>
|
4208
|
+
<details open>
|
4209
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:422</summary>
|
4210
|
+
|
4211
|
+
##### ActionDispatch::Response#parsed_content_type_header
|
4212
|
+
|
4213
|
+
```ruby
|
4214
|
+
def parsed_content_type_header
|
4215
|
+
parse_content_type(get_header(CONTENT_TYPE))
|
4216
|
+
end
|
4217
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:248
|
4218
|
+
```
|
4219
|
+
</details>
|
4220
|
+
<details open>
|
4221
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:182</summary>
|
4222
|
+
|
4223
|
+
##### ActionDispatch::Response#get_header
|
4224
|
+
|
4225
|
+
```ruby
|
4226
|
+
def get_header(key); headers[key]; end
|
4227
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:423
|
4228
|
+
```
|
4229
|
+
</details>
|
4230
|
+
<details open>
|
4231
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:412</summary>
|
4232
|
+
|
4233
|
+
##### ActionDispatch::Response#parse_content_type
|
4234
|
+
|
4235
|
+
```ruby
|
4236
|
+
def parse_content_type(content_type)
|
4237
|
+
if content_type && match = CONTENT_TYPE_PARSER.match(content_type)
|
4238
|
+
ContentTypeHeader.new(match[:type], match[:charset])
|
4239
|
+
else
|
4240
|
+
NullContentTypeHeader
|
4241
|
+
end
|
4242
|
+
end
|
4243
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:423
|
4244
|
+
```
|
4245
|
+
</details>
|
4246
|
+
<details open>
|
4247
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal.rb:175</summary>
|
4248
|
+
|
4249
|
+
##### ActionController::Metal#response_body=
|
4250
|
+
|
4251
|
+
```ruby
|
4252
|
+
def response_body=(body)
|
4253
|
+
body = [body] unless body.nil? || body.respond_to?(:each)
|
4254
|
+
response.reset_body!
|
4255
|
+
return unless body
|
4256
|
+
response.body = body
|
4257
|
+
super
|
4258
|
+
end
|
4259
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/abstract_controller/rendering.rb:31
|
4260
|
+
```
|
4261
|
+
</details>
|
4262
|
+
<details open>
|
4263
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:352</summary>
|
4264
|
+
|
4265
|
+
##### ActionDispatch::Response#reset_body!
|
4266
|
+
|
4267
|
+
```ruby
|
4268
|
+
def reset_body!
|
4269
|
+
@stream = build_buffer(self, [])
|
4270
|
+
end
|
4271
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal.rb:177
|
4272
|
+
```
|
4273
|
+
</details>
|
4274
|
+
<details open>
|
4275
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:452</summary>
|
4276
|
+
|
4277
|
+
##### ActionDispatch::Response#build_buffer
|
4278
|
+
|
4279
|
+
```ruby
|
4280
|
+
def build_buffer(response, body)
|
4281
|
+
Buffer.new response, body
|
4282
|
+
end
|
4283
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:353
|
4284
|
+
```
|
4285
|
+
</details>
|
4286
|
+
<details open>
|
4287
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:100</summary>
|
4288
|
+
|
4289
|
+
##### ActionDispatch::Response::Buffer#initialize
|
4290
|
+
|
4291
|
+
```ruby
|
4292
|
+
def initialize(response, buf)
|
4293
|
+
@response = response
|
4294
|
+
@buf = buf
|
4295
|
+
@closed = false
|
4296
|
+
@str_body = nil
|
4297
|
+
end
|
4298
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:453
|
4299
|
+
```
|
4300
|
+
</details>
|
4301
|
+
<details open>
|
4302
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:312</summary>
|
4303
|
+
|
4304
|
+
##### ActionDispatch::Response#body=
|
4305
|
+
|
4306
|
+
```ruby
|
4307
|
+
def body=(body)
|
4308
|
+
if body.respond_to?(:to_path)
|
4309
|
+
@stream = body
|
4310
|
+
else
|
4311
|
+
synchronize do
|
4312
|
+
@stream = build_buffer self, munge_body_object(body)
|
4313
|
+
end
|
4314
|
+
end
|
4315
|
+
end
|
4316
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_controller/metal.rb:179
|
4317
|
+
```
|
4318
|
+
</details>
|
4319
|
+
<details open>
|
4320
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:456</summary>
|
4321
|
+
|
4322
|
+
##### ActionDispatch::Response#munge_body_object
|
4323
|
+
|
4324
|
+
```ruby
|
4325
|
+
def munge_body_object(body)
|
4326
|
+
body.respond_to?(:each) ? body : [body]
|
4327
|
+
end
|
4328
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:317
|
4329
|
+
```
|
4330
|
+
</details>
|
4331
|
+
<details open>
|
4332
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:452</summary>
|
4333
|
+
|
4334
|
+
##### ActionDispatch::Response#build_buffer
|
4335
|
+
|
4336
|
+
```ruby
|
4337
|
+
def build_buffer(response, body)
|
4338
|
+
Buffer.new response, body
|
4339
|
+
end
|
4340
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:317
|
4341
|
+
```
|
4342
|
+
</details>
|
4343
|
+
<details open>
|
4344
|
+
<summary>vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:100</summary>
|
4345
|
+
|
4346
|
+
##### ActionDispatch::Response::Buffer#initialize
|
4347
|
+
|
4348
|
+
```ruby
|
4349
|
+
def initialize(response, buf)
|
4350
|
+
@response = response
|
4351
|
+
@buf = buf
|
4352
|
+
@closed = false
|
4353
|
+
@str_body = nil
|
4354
|
+
end
|
4355
|
+
# called from vendor/bundle/gems/actionpack-5.2.3/lib/action_dispatch/http/response.rb:453
|
4356
|
+
```
|
4357
|
+
</details>
|
4358
|
+
<details open>
|
4359
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:15</summary>
|
4360
|
+
|
4361
|
+
##### ActiveRecord::LogSubscriber.reset_runtime
|
4362
|
+
|
4363
|
+
```ruby
|
4364
|
+
def self.reset_runtime
|
4365
|
+
rt, self.runtime = runtime, 0
|
4366
|
+
rt
|
4367
|
+
end
|
4368
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/railties/controller_runtime.rb:32
|
4369
|
+
```
|
4370
|
+
</details>
|
4371
|
+
<details open>
|
4372
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:11</summary>
|
4373
|
+
|
4374
|
+
##### ActiveRecord::LogSubscriber.runtime
|
4375
|
+
|
4376
|
+
```ruby
|
4377
|
+
def self.runtime
|
4378
|
+
ActiveRecord::RuntimeRegistry.sql_runtime ||= 0
|
4379
|
+
end
|
4380
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:16
|
4381
|
+
```
|
4382
|
+
</details>
|
4383
|
+
<details open>
|
4384
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/runtime_registry.rb:20</summary>
|
4385
|
+
|
4386
|
+
##### ActiveRecord::RuntimeRegistry.sql_runtime
|
4387
|
+
|
4388
|
+
```ruby
|
4389
|
+
class_eval %{ def self.#{val}; instance.#{val}; end }, __FILE__, __LINE__
|
4390
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:12
|
4391
|
+
```
|
4392
|
+
</details>
|
4393
|
+
<details open>
|
4394
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:7</summary>
|
4395
|
+
|
4396
|
+
##### ActiveRecord::LogSubscriber.runtime=
|
4397
|
+
|
4398
|
+
```ruby
|
4399
|
+
def self.runtime=(value)
|
4400
|
+
ActiveRecord::RuntimeRegistry.sql_runtime = value
|
4401
|
+
end
|
4402
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:16
|
4403
|
+
```
|
4404
|
+
</details>
|
4405
|
+
<details open>
|
4406
|
+
<summary>vendor/bundle/gems/activerecord-5.2.3/lib/active_record/runtime_registry.rb:21</summary>
|
4407
|
+
|
4408
|
+
##### ActiveRecord::RuntimeRegistry.sql_runtime=
|
4409
|
+
|
4410
|
+
```ruby
|
4411
|
+
class_eval %{ def self.#{val}=(x); instance.#{val}=x; end }, __FILE__, __LINE__
|
4412
|
+
# called from vendor/bundle/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:8
|
4413
|
+
```
|
4414
|
+
</details>
|