inquery 1.0.11 → 1.1.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/.github/workflows/rubocop.yml +1 -1
- data/.github/workflows/ruby.yml +24 -8
- data/.gitignore +2 -2
- data/.rubocop.yml +4 -0
- data/Appraisals +24 -4
- data/CHANGELOG.md +38 -0
- data/Gemfile +17 -1
- data/Gemfile.lock +125 -0
- data/LICENSE +1 -1
- data/MIGRATION.md +260 -0
- data/README.md +14 -8
- data/RUBY_VERSION +1 -1
- data/Rakefile +4 -11
- data/VERSION +1 -1
- data/doc/Inquery/Exceptions/Base.html +4 -4
- data/doc/Inquery/Exceptions/InvalidRelation.html +4 -4
- data/doc/Inquery/Exceptions/UnknownCallSignature.html +4 -4
- data/doc/Inquery/Exceptions.html +4 -4
- data/doc/Inquery/MethodAccessibleHash.html +431 -0
- data/doc/Inquery/Mixins/RawSqlUtils.html +17 -4
- data/doc/Inquery/Mixins/RelationValidation/ClassMethods.html +8 -7
- data/doc/Inquery/Mixins/RelationValidation.html +9 -8
- data/doc/Inquery/Mixins/SchemaValidation/ClassMethods.html +4 -4
- data/doc/Inquery/Mixins/SchemaValidation.html +4 -4
- data/doc/Inquery/Mixins.html +4 -4
- data/doc/Inquery/Query/Chainable.html +207 -90
- data/doc/Inquery/Query.html +401 -73
- data/doc/Inquery.html +12 -9
- data/doc/_index.html +12 -5
- data/doc/class_list.html +6 -3
- data/doc/css/full_list.css +3 -3
- data/doc/css/style.css +6 -0
- data/doc/file.README.html +102 -16
- data/doc/file_list.html +5 -2
- data/doc/frames.html +10 -5
- data/doc/index.html +102 -16
- data/doc/js/app.js +294 -264
- data/doc/js/full_list.js +30 -4
- data/doc/method_list.html +48 -21
- data/doc/top-level-namespace.html +4 -4
- data/gemfiles/rails_5.2.gemfile +1 -0
- data/gemfiles/rails_6.0.gemfile +1 -0
- data/gemfiles/rails_6.1.gemfile +1 -0
- data/gemfiles/rails_7.0.gemfile +1 -0
- data/gemfiles/{rails_5.1.gemfile → rails_7.1.gemfile} +2 -1
- data/gemfiles/rails_7.2.gemfile +8 -0
- data/gemfiles/rails_8.0.gemfile +8 -0
- data/gemfiles/rails_8.1.gemfile +8 -0
- data/inquery.gemspec +11 -34
- data/lib/inquery/method_accessible_hash.rb +45 -0
- data/lib/inquery/mixins/raw_sql_utils.rb +32 -6
- data/lib/inquery/mixins/relation_validation.rb +1 -1
- data/lib/inquery/query/chainable.rb +69 -27
- data/lib/inquery/query.rb +67 -14
- data/lib/inquery.rb +2 -0
- data/test/inquery/error_handling_test.rb +117 -0
- data/test/inquery/method_accessible_hash_test.rb +85 -0
- data/test/inquery/mixins/raw_sql_utils_test.rb +67 -0
- data/test/inquery/query/chainable_test.rb +78 -0
- data/test/inquery/query_test.rb +86 -0
- data/test/test_helper.rb +11 -0
- metadata +30 -129
- data/.yardopts +0 -1
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<title>
|
|
7
7
|
Module: Inquery::Mixins::SchemaValidation::ClassMethods
|
|
8
8
|
|
|
9
|
-
— Documentation by YARD 0.9.
|
|
9
|
+
— Documentation by YARD 0.9.37
|
|
10
10
|
|
|
11
11
|
</title>
|
|
12
12
|
|
|
@@ -306,9 +306,9 @@
|
|
|
306
306
|
</div>
|
|
307
307
|
|
|
308
308
|
<div id="footer">
|
|
309
|
-
Generated on
|
|
310
|
-
<a href="
|
|
311
|
-
0.9.
|
|
309
|
+
Generated on Mon Jan 5 14:06:48 2026 by
|
|
310
|
+
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
311
|
+
0.9.37 (ruby-3.3.5).
|
|
312
312
|
</div>
|
|
313
313
|
|
|
314
314
|
</div>
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<title>
|
|
7
7
|
Module: Inquery::Mixins::SchemaValidation
|
|
8
8
|
|
|
9
|
-
— Documentation by YARD 0.9.
|
|
9
|
+
— Documentation by YARD 0.9.37
|
|
10
10
|
|
|
11
11
|
</title>
|
|
12
12
|
|
|
@@ -116,9 +116,9 @@
|
|
|
116
116
|
</div>
|
|
117
117
|
|
|
118
118
|
<div id="footer">
|
|
119
|
-
Generated on
|
|
120
|
-
<a href="
|
|
121
|
-
0.9.
|
|
119
|
+
Generated on Mon Jan 5 14:06:48 2026 by
|
|
120
|
+
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
121
|
+
0.9.37 (ruby-3.3.5).
|
|
122
122
|
</div>
|
|
123
123
|
|
|
124
124
|
</div>
|
data/doc/Inquery/Mixins.html
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<title>
|
|
7
7
|
Module: Inquery::Mixins
|
|
8
8
|
|
|
9
|
-
— Documentation by YARD 0.9.
|
|
9
|
+
— Documentation by YARD 0.9.37
|
|
10
10
|
|
|
11
11
|
</title>
|
|
12
12
|
|
|
@@ -107,9 +107,9 @@
|
|
|
107
107
|
</div>
|
|
108
108
|
|
|
109
109
|
<div id="footer">
|
|
110
|
-
Generated on
|
|
111
|
-
<a href="
|
|
112
|
-
0.9.
|
|
110
|
+
Generated on Mon Jan 5 14:06:48 2026 by
|
|
111
|
+
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
112
|
+
0.9.37 (ruby-3.3.5).
|
|
113
113
|
</div>
|
|
114
114
|
|
|
115
115
|
</div>
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<title>
|
|
7
7
|
Class: Inquery::Query::Chainable
|
|
8
8
|
|
|
9
|
-
— Documentation by YARD 0.9.
|
|
9
|
+
— Documentation by YARD 0.9.37
|
|
10
10
|
|
|
11
11
|
</title>
|
|
12
12
|
|
|
@@ -106,7 +106,37 @@
|
|
|
106
106
|
|
|
107
107
|
</div>
|
|
108
108
|
|
|
109
|
+
<h2>Overview</h2><div class="docstring">
|
|
110
|
+
<div class="discussion">
|
|
111
|
+
|
|
112
|
+
<p>Chainable query class for queries that input and output ActiveRecord relations.</p>
|
|
113
|
+
|
|
114
|
+
<p>Use this class when you want to build queries that can be chained together or used as ActiveRecord scopes. The query receives a relation, transforms it, and returns a new relation.</p>
|
|
115
|
+
|
|
116
|
+
<p>Example:</p>
|
|
117
|
+
|
|
118
|
+
<pre class="code ruby"><code class="ruby"><span class='kw'>class</span> <span class='const'>FetchActive</span> <span class='op'><</span> <span class='const'><span class='object_link'><a href="../../Inquery.html" title="Inquery (module)">Inquery</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Query.html" title="Inquery::Query (class)">Query</a></span></span><span class='op'>::</span><span class='const'>Chainable</span>
|
|
119
|
+
<span class='id identifier rubyid_relation'>relation</span> <span class='label'>class:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>User</span><span class='tstring_end'>'</span></span>
|
|
120
|
+
|
|
121
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_call'>call</span>
|
|
122
|
+
<span class='id identifier rubyid_relation'>relation</span><span class='period'>.</span><span class='id identifier rubyid_where'>where</span><span class='lparen'>(</span><span class='label'>active:</span> <span class='kw'>true</span><span class='rparen'>)</span>
|
|
123
|
+
<span class='kw'>end</span>
|
|
124
|
+
<span class='kw'>end</span>
|
|
125
|
+
|
|
126
|
+
<span class='const'>User</span><span class='period'>.</span><span class='id identifier rubyid_all'>all</span><span class='period'>.</span><span class='id identifier rubyid_then'>then</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_rel'>rel</span><span class='op'>|</span> <span class='const'>FetchActive</span><span class='period'>.</span><span class='id identifier rubyid_run'>run</span><span class='lparen'>(</span><span class='id identifier rubyid_rel'>rel</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
|
|
127
|
+
<span class='comment'># Or as a scope:
|
|
128
|
+
</span><span class='kw'>class</span> <span class='const'>User</span> <span class='op'><</span> <span class='const'>ActiveRecord</span><span class='op'>::</span><span class='const'>Base</span>
|
|
129
|
+
<span class='id identifier rubyid_scope'>scope</span> <span class='symbol'>:active</span><span class='comma'>,</span> <span class='const'>FetchActive</span>
|
|
130
|
+
<span class='kw'>end</span>
|
|
131
|
+
</code></pre>
|
|
132
|
+
|
|
109
133
|
|
|
134
|
+
</div>
|
|
135
|
+
</div>
|
|
136
|
+
<div class="tags">
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
</div>
|
|
110
140
|
|
|
111
141
|
|
|
112
142
|
<h2>Constant Summary</h2>
|
|
@@ -122,7 +152,7 @@
|
|
|
122
152
|
<li class="public ">
|
|
123
153
|
<span class="summary_signature">
|
|
124
154
|
|
|
125
|
-
<a href="#relation-instance_method" title="#relation (instance method)">#<strong>relation</strong> ⇒
|
|
155
|
+
<a href="#relation-instance_method" title="#relation (instance method)">#<strong>relation</strong> ⇒ ActiveRecord::Relation </a>
|
|
126
156
|
|
|
127
157
|
|
|
128
158
|
|
|
@@ -141,7 +171,8 @@
|
|
|
141
171
|
|
|
142
172
|
|
|
143
173
|
|
|
144
|
-
<span class="summary_desc"><div class='inline'
|
|
174
|
+
<span class="summary_desc"><div class='inline'>
|
|
175
|
+
<p>The input ActiveRecord relation that will be transformed by this query.</p>
|
|
145
176
|
</div></span>
|
|
146
177
|
|
|
147
178
|
</li>
|
|
@@ -168,7 +199,7 @@
|
|
|
168
199
|
<li class="public ">
|
|
169
200
|
<span class="summary_signature">
|
|
170
201
|
|
|
171
|
-
<a href="#call-class_method" title="call (class method)">.<strong>call</strong>(*args) ⇒
|
|
202
|
+
<a href="#call-class_method" title="call (class method)">.<strong>call</strong>(*args) ⇒ ActiveRecord::Relation </a>
|
|
172
203
|
|
|
173
204
|
|
|
174
205
|
|
|
@@ -182,7 +213,8 @@
|
|
|
182
213
|
|
|
183
214
|
|
|
184
215
|
|
|
185
|
-
<span class="summary_desc"><div class='inline'
|
|
216
|
+
<span class="summary_desc"><div class='inline'>
|
|
217
|
+
<p>Instantiates the query and executes it, allowing use as an AR scope.</p>
|
|
186
218
|
</div></span>
|
|
187
219
|
|
|
188
220
|
</li>
|
|
@@ -200,29 +232,7 @@
|
|
|
200
232
|
<li class="public ">
|
|
201
233
|
<span class="summary_signature">
|
|
202
234
|
|
|
203
|
-
<a href="#
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
</span>
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
<span class="summary_desc"><div class='inline'></div></span>
|
|
218
|
-
|
|
219
|
-
</li>
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
<li class="public ">
|
|
223
|
-
<span class="summary_signature">
|
|
224
|
-
|
|
225
|
-
<a href="#connection-instance_method" title="#connection (instance method)">#<strong>connection</strong> ⇒ Object </a>
|
|
235
|
+
<a href="#connection-instance_method" title="#connection (instance method)">#<strong>connection</strong> ⇒ ActiveRecord::ConnectionAdapters::AbstractAdapter </a>
|
|
226
236
|
|
|
227
237
|
|
|
228
238
|
|
|
@@ -236,7 +246,8 @@
|
|
|
236
246
|
|
|
237
247
|
|
|
238
248
|
|
|
239
|
-
<span class="summary_desc"><div class='inline'
|
|
249
|
+
<span class="summary_desc"><div class='inline'>
|
|
250
|
+
<p>Returns the database connection from the relation.</p>
|
|
240
251
|
</div></span>
|
|
241
252
|
|
|
242
253
|
</li>
|
|
@@ -261,7 +272,8 @@
|
|
|
261
272
|
|
|
262
273
|
|
|
263
274
|
|
|
264
|
-
<span class="summary_desc"><div class='inline'
|
|
275
|
+
<span class="summary_desc"><div class='inline'>
|
|
276
|
+
<p>Initializes a chainable query with a relation and optional parameters.</p>
|
|
265
277
|
</div></span>
|
|
266
278
|
|
|
267
279
|
</li>
|
|
@@ -292,7 +304,7 @@
|
|
|
292
304
|
|
|
293
305
|
|
|
294
306
|
<h3 class="inherited">Methods inherited from <span class='object_link'><a href="../Query.html" title="Inquery::Query (class)">Inquery::Query</a></span></h3>
|
|
295
|
-
<p class="inherited"><span class='object_link'><a href="../Query.html#osparams-instance_method" title="Inquery::Query#osparams (method)">#osparams</a></span>, <span class='object_link'><a href="../Query.html#process-instance_method" title="Inquery::Query#process (method)">#process</a></span>, <span class='object_link'><a href="../Query.html#run-class_method" title="Inquery::Query.run (method)">run</a></span>, <span class='object_link'><a href="../Query.html#run-instance_method" title="Inquery::Query#run (method)">#run</a></span></p>
|
|
307
|
+
<p class="inherited"><span class='object_link'><a href="../Query.html#call-instance_method" title="Inquery::Query#call (method)">#call</a></span>, <span class='object_link'><a href="../Query.html#osparams-instance_method" title="Inquery::Query#osparams (method)">#osparams</a></span>, <span class='object_link'><a href="../Query.html#process-instance_method" title="Inquery::Query#process (method)">#process</a></span>, <span class='object_link'><a href="../Query.html#run-class_method" title="Inquery::Query.run (method)">run</a></span>, <span class='object_link'><a href="../Query.html#run-instance_method" title="Inquery::Query#run (method)">#run</a></span></p>
|
|
296
308
|
|
|
297
309
|
|
|
298
310
|
|
|
@@ -321,13 +333,74 @@
|
|
|
321
333
|
|
|
322
334
|
</h3><div class="docstring">
|
|
323
335
|
<div class="discussion">
|
|
324
|
-
|
|
336
|
+
|
|
337
|
+
<p>Initializes a chainable query with a relation and optional parameters.</p>
|
|
338
|
+
|
|
339
|
+
<p>Supports multiple call signatures:</p>
|
|
340
|
+
|
|
341
|
+
<pre class="code ruby"><code class="ruby">new() - Uses default relation from 'relation' DSL
|
|
342
|
+
new(relation) - Uses provided relation
|
|
343
|
+
new(params) - Uses default relation with params
|
|
344
|
+
new(relation, params) - Uses provided relation and params
|
|
345
|
+
</code></pre>
|
|
325
346
|
|
|
326
347
|
|
|
327
348
|
</div>
|
|
328
349
|
</div>
|
|
329
350
|
<div class="tags">
|
|
351
|
+
<p class="tag_title">Parameters:</p>
|
|
352
|
+
<ul class="param">
|
|
353
|
+
|
|
354
|
+
<li>
|
|
355
|
+
|
|
356
|
+
<span class='name'>args</span>
|
|
357
|
+
|
|
358
|
+
|
|
359
|
+
<span class='type'>(<tt>Array</tt>)</span>
|
|
360
|
+
|
|
361
|
+
|
|
362
|
+
|
|
363
|
+
—
|
|
364
|
+
<div class='inline'>
|
|
365
|
+
<p>Variable arguments for relation and/or params</p>
|
|
366
|
+
</div>
|
|
367
|
+
|
|
368
|
+
</li>
|
|
330
369
|
|
|
370
|
+
</ul>
|
|
371
|
+
|
|
372
|
+
<p class="tag_title">Raises:</p>
|
|
373
|
+
<ul class="raise">
|
|
374
|
+
|
|
375
|
+
<li>
|
|
376
|
+
|
|
377
|
+
|
|
378
|
+
<span class='type'>(<tt><span class='object_link'><a href="../Exceptions/UnknownCallSignature.html" title="Inquery::Exceptions::UnknownCallSignature (class)">Inquery::Exceptions::UnknownCallSignature</a></span></tt>)</span>
|
|
379
|
+
|
|
380
|
+
|
|
381
|
+
|
|
382
|
+
—
|
|
383
|
+
<div class='inline'>
|
|
384
|
+
<p>for invalid arguments</p>
|
|
385
|
+
</div>
|
|
386
|
+
|
|
387
|
+
</li>
|
|
388
|
+
|
|
389
|
+
<li>
|
|
390
|
+
|
|
391
|
+
|
|
392
|
+
<span class='type'>(<tt><span class='object_link'><a href="../Exceptions/InvalidRelation.html" title="Inquery::Exceptions::InvalidRelation (class)">Inquery::Exceptions::InvalidRelation</a></span></tt>)</span>
|
|
393
|
+
|
|
394
|
+
|
|
395
|
+
|
|
396
|
+
—
|
|
397
|
+
<div class='inline'>
|
|
398
|
+
<p>if relation validation fails</p>
|
|
399
|
+
</div>
|
|
400
|
+
|
|
401
|
+
</li>
|
|
402
|
+
|
|
403
|
+
</ul>
|
|
331
404
|
|
|
332
405
|
</div><table class="source_code">
|
|
333
406
|
<tr>
|
|
@@ -335,14 +408,14 @@
|
|
|
335
408
|
<pre class="lines">
|
|
336
409
|
|
|
337
410
|
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
411
|
+
52
|
|
412
|
+
53
|
|
413
|
+
54
|
|
414
|
+
55
|
|
415
|
+
56</pre>
|
|
343
416
|
</td>
|
|
344
417
|
<td>
|
|
345
|
-
<pre class="code"><span class="info file"># File 'lib/inquery/query/chainable.rb', line
|
|
418
|
+
<pre class="code"><span class="info file"># File 'lib/inquery/query/chainable.rb', line 52</span>
|
|
346
419
|
|
|
347
420
|
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
|
|
348
421
|
<span class='id identifier rubyid_relation'>relation</span><span class='comma'>,</span> <span class='id identifier rubyid_params'>params</span> <span class='op'>=</span> <span class='id identifier rubyid_parse_init_args'>parse_init_args</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
|
|
@@ -364,7 +437,7 @@
|
|
|
364
437
|
<div class="method_details first">
|
|
365
438
|
<h3 class="signature first" id="relation-instance_method">
|
|
366
439
|
|
|
367
|
-
#<strong>relation</strong> ⇒ <tt>
|
|
440
|
+
#<strong>relation</strong> ⇒ <tt>ActiveRecord::Relation</tt> <span class="extras">(readonly)</span>
|
|
368
441
|
|
|
369
442
|
|
|
370
443
|
|
|
@@ -372,13 +445,27 @@
|
|
|
372
445
|
|
|
373
446
|
</h3><div class="docstring">
|
|
374
447
|
<div class="discussion">
|
|
375
|
-
|
|
448
|
+
|
|
449
|
+
<p>The input ActiveRecord relation that will be transformed by this query.</p>
|
|
376
450
|
|
|
377
451
|
|
|
378
452
|
</div>
|
|
379
453
|
</div>
|
|
380
454
|
<div class="tags">
|
|
381
455
|
|
|
456
|
+
<p class="tag_title">Returns:</p>
|
|
457
|
+
<ul class="return">
|
|
458
|
+
|
|
459
|
+
<li>
|
|
460
|
+
|
|
461
|
+
|
|
462
|
+
<span class='type'>(<tt>ActiveRecord::Relation</tt>)</span>
|
|
463
|
+
|
|
464
|
+
|
|
465
|
+
|
|
466
|
+
</li>
|
|
467
|
+
|
|
468
|
+
</ul>
|
|
382
469
|
|
|
383
470
|
</div><table class="source_code">
|
|
384
471
|
<tr>
|
|
@@ -386,12 +473,12 @@
|
|
|
386
473
|
<pre class="lines">
|
|
387
474
|
|
|
388
475
|
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
476
|
+
39
|
|
477
|
+
40
|
|
478
|
+
41</pre>
|
|
392
479
|
</td>
|
|
393
480
|
<td>
|
|
394
|
-
<pre class="code"><span class="info file"># File 'lib/inquery/query/chainable.rb', line
|
|
481
|
+
<pre class="code"><span class="info file"># File 'lib/inquery/query/chainable.rb', line 39</span>
|
|
395
482
|
|
|
396
483
|
<span class='kw'>def</span> <span class='id identifier rubyid_relation'>relation</span>
|
|
397
484
|
<span class='ivar'>@relation</span>
|
|
@@ -411,7 +498,7 @@
|
|
|
411
498
|
<div class="method_details first">
|
|
412
499
|
<h3 class="signature first" id="call-class_method">
|
|
413
500
|
|
|
414
|
-
.<strong>call</strong>(*args) ⇒ <tt>
|
|
501
|
+
.<strong>call</strong>(*args) ⇒ <tt>ActiveRecord::Relation</tt>
|
|
415
502
|
|
|
416
503
|
|
|
417
504
|
|
|
@@ -419,13 +506,57 @@
|
|
|
419
506
|
|
|
420
507
|
</h3><div class="docstring">
|
|
421
508
|
<div class="discussion">
|
|
422
|
-
|
|
509
|
+
|
|
510
|
+
<p>Instantiates the query and executes it, allowing use as an AR scope.</p>
|
|
511
|
+
|
|
512
|
+
<p>This enables chainable queries to be used directly as ActiveRecord scopes:</p>
|
|
513
|
+
|
|
514
|
+
<pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_scope'>scope</span> <span class='symbol'>:active</span><span class='comma'>,</span> <span class='const'>FetchActive</span>
|
|
515
|
+
</code></pre>
|
|
423
516
|
|
|
424
517
|
|
|
425
518
|
</div>
|
|
426
519
|
</div>
|
|
427
520
|
<div class="tags">
|
|
521
|
+
<p class="tag_title">Parameters:</p>
|
|
522
|
+
<ul class="param">
|
|
428
523
|
|
|
524
|
+
<li>
|
|
525
|
+
|
|
526
|
+
<span class='name'>args</span>
|
|
527
|
+
|
|
528
|
+
|
|
529
|
+
<span class='type'>(<tt>Array</tt>)</span>
|
|
530
|
+
|
|
531
|
+
|
|
532
|
+
|
|
533
|
+
—
|
|
534
|
+
<div class='inline'>
|
|
535
|
+
<p>Arguments passed to initialize (relation and/or params)</p>
|
|
536
|
+
</div>
|
|
537
|
+
|
|
538
|
+
</li>
|
|
539
|
+
|
|
540
|
+
</ul>
|
|
541
|
+
|
|
542
|
+
<p class="tag_title">Returns:</p>
|
|
543
|
+
<ul class="return">
|
|
544
|
+
|
|
545
|
+
<li>
|
|
546
|
+
|
|
547
|
+
|
|
548
|
+
<span class='type'>(<tt>ActiveRecord::Relation</tt>)</span>
|
|
549
|
+
|
|
550
|
+
|
|
551
|
+
|
|
552
|
+
—
|
|
553
|
+
<div class='inline'>
|
|
554
|
+
<p>The transformed relation</p>
|
|
555
|
+
</div>
|
|
556
|
+
|
|
557
|
+
</li>
|
|
558
|
+
|
|
559
|
+
</ul>
|
|
429
560
|
|
|
430
561
|
</div><table class="source_code">
|
|
431
562
|
<tr>
|
|
@@ -433,12 +564,12 @@
|
|
|
433
564
|
<pre class="lines">
|
|
434
565
|
|
|
435
566
|
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
567
|
+
32
|
|
568
|
+
33
|
|
569
|
+
34</pre>
|
|
439
570
|
</td>
|
|
440
571
|
<td>
|
|
441
|
-
<pre class="code"><span class="info file"># File 'lib/inquery/query/chainable.rb', line
|
|
572
|
+
<pre class="code"><span class="info file"># File 'lib/inquery/query/chainable.rb', line 32</span>
|
|
442
573
|
|
|
443
574
|
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
|
|
444
575
|
<span class='kw'>return</span> <span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span>
|
|
@@ -455,39 +586,9 @@
|
|
|
455
586
|
|
|
456
587
|
|
|
457
588
|
<div class="method_details first">
|
|
458
|
-
<h3 class="signature first" id="
|
|
459
|
-
|
|
460
|
-
#<strong>call</strong>(*args) ⇒ <tt>Object</tt>
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
</h3><table class="source_code">
|
|
467
|
-
<tr>
|
|
468
|
-
<td>
|
|
469
|
-
<pre class="lines">
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
10
|
|
473
|
-
11
|
|
474
|
-
12</pre>
|
|
475
|
-
</td>
|
|
476
|
-
<td>
|
|
477
|
-
<pre class="code"><span class="info file"># File 'lib/inquery/query/chainable.rb', line 10</span>
|
|
478
|
-
|
|
479
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
|
|
480
|
-
<span class='id identifier rubyid_fail'>fail</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span>
|
|
481
|
-
<span class='kw'>end</span></pre>
|
|
482
|
-
</td>
|
|
483
|
-
</tr>
|
|
484
|
-
</table>
|
|
485
|
-
</div>
|
|
486
|
-
|
|
487
|
-
<div class="method_details ">
|
|
488
|
-
<h3 class="signature " id="connection-instance_method">
|
|
589
|
+
<h3 class="signature first" id="connection-instance_method">
|
|
489
590
|
|
|
490
|
-
#<strong>connection</strong> ⇒ <tt>
|
|
591
|
+
#<strong>connection</strong> ⇒ <tt>ActiveRecord::ConnectionAdapters::AbstractAdapter</tt>
|
|
491
592
|
|
|
492
593
|
|
|
493
594
|
|
|
@@ -495,13 +596,29 @@
|
|
|
495
596
|
|
|
496
597
|
</h3><div class="docstring">
|
|
497
598
|
<div class="discussion">
|
|
498
|
-
|
|
599
|
+
|
|
600
|
+
<p>Returns the database connection from the relation.</p>
|
|
601
|
+
|
|
602
|
+
<p>This ensures that the query uses the same connection as the input relation, which is important for connection pooling and transactions.</p>
|
|
499
603
|
|
|
500
604
|
|
|
501
605
|
</div>
|
|
502
606
|
</div>
|
|
503
607
|
<div class="tags">
|
|
504
608
|
|
|
609
|
+
<p class="tag_title">Returns:</p>
|
|
610
|
+
<ul class="return">
|
|
611
|
+
|
|
612
|
+
<li>
|
|
613
|
+
|
|
614
|
+
|
|
615
|
+
<span class='type'>(<tt>ActiveRecord::ConnectionAdapters::AbstractAdapter</tt>)</span>
|
|
616
|
+
|
|
617
|
+
|
|
618
|
+
|
|
619
|
+
</li>
|
|
620
|
+
|
|
621
|
+
</ul>
|
|
505
622
|
|
|
506
623
|
</div><table class="source_code">
|
|
507
624
|
<tr>
|
|
@@ -509,12 +626,12 @@
|
|
|
509
626
|
<pre class="lines">
|
|
510
627
|
|
|
511
628
|
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
629
|
+
64
|
|
630
|
+
65
|
|
631
|
+
66</pre>
|
|
515
632
|
</td>
|
|
516
633
|
<td>
|
|
517
|
-
<pre class="code"><span class="info file"># File 'lib/inquery/query/chainable.rb', line
|
|
634
|
+
<pre class="code"><span class="info file"># File 'lib/inquery/query/chainable.rb', line 64</span>
|
|
518
635
|
|
|
519
636
|
<span class='kw'>def</span> <span class='id identifier rubyid_connection'>connection</span>
|
|
520
637
|
<span class='ivar'>@relation</span><span class='period'>.</span><span class='id identifier rubyid_connection'>connection</span>
|
|
@@ -529,9 +646,9 @@
|
|
|
529
646
|
</div>
|
|
530
647
|
|
|
531
648
|
<div id="footer">
|
|
532
|
-
Generated on
|
|
533
|
-
<a href="
|
|
534
|
-
0.9.
|
|
649
|
+
Generated on Mon Jan 5 14:06:48 2026 by
|
|
650
|
+
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
651
|
+
0.9.37 (ruby-3.3.5).
|
|
535
652
|
</div>
|
|
536
653
|
|
|
537
654
|
</div>
|