inquery 0.1.0 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/CHANGELOG.md +26 -0
- data/LICENSE +2 -2
- data/README.md +41 -13
- data/RUBY_VERSION +1 -1
- data/Rakefile +2 -2
- data/VERSION +1 -1
- data/doc/Inquery.html +7 -7
- data/doc/Inquery/Exceptions.html +6 -6
- data/doc/Inquery/Exceptions/Base.html +6 -6
- data/doc/Inquery/Exceptions/InvalidRelation.html +6 -6
- data/doc/Inquery/Exceptions/UnknownCallSignature.html +6 -6
- data/doc/Inquery/Mixins.html +9 -9
- data/doc/Inquery/Mixins/RawSqlUtils.html +116 -0
- data/doc/Inquery/Mixins/RelationValidation.html +40 -36
- data/doc/Inquery/Mixins/RelationValidation/ClassMethods.html +12 -12
- data/doc/Inquery/Mixins/SchemaValidation.html +6 -6
- data/doc/Inquery/Mixins/SchemaValidation/ClassMethods.html +14 -20
- data/doc/Inquery/Query.html +105 -34
- data/doc/Inquery/Query/Chainable.html +78 -8
- data/doc/_index.html +18 -11
- data/doc/class_list.html +3 -3
- data/doc/css/style.css +12 -8
- data/doc/file.README.html +60 -33
- data/doc/file_list.html +2 -2
- data/doc/frames.html +2 -2
- data/doc/index.html +60 -33
- data/doc/js/app.js +69 -3
- data/doc/method_list.html +26 -10
- data/doc/top-level-namespace.html +6 -6
- data/inquery.gemspec +11 -11
- data/lib/inquery.rb +1 -0
- data/lib/inquery/mixins/raw_sql_utils.rb +23 -0
- data/lib/inquery/mixins/relation_validation.rb +16 -9
- data/lib/inquery/mixins/schema_validation.rb +5 -8
- data/lib/inquery/query.rb +9 -2
- data/lib/inquery/query/chainable.rb +5 -0
- data/test/inquery/query/chainable_test.rb +1 -1
- data/test/inquery/query_test.rb +2 -2
- data/test/queries/group/filter_with_color.rb +3 -1
- data/test/queries/user/fetch_in_group.rb +3 -3
- metadata +20 -18
data/doc/file_list.html
CHANGED
@@ -4,9 +4,9 @@
|
|
4
4
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
5
5
|
<meta charset="utf-8" />
|
6
6
|
|
7
|
-
<link rel="stylesheet" href="css/full_list.css" type="text/css" media="screen"
|
7
|
+
<link rel="stylesheet" href="css/full_list.css" type="text/css" media="screen" />
|
8
8
|
|
9
|
-
<link rel="stylesheet" href="css/common.css" type="text/css" media="screen"
|
9
|
+
<link rel="stylesheet" href="css/common.css" type="text/css" media="screen" />
|
10
10
|
|
11
11
|
|
12
12
|
|
data/doc/frames.html
CHANGED
@@ -2,9 +2,9 @@
|
|
2
2
|
<html>
|
3
3
|
<head>
|
4
4
|
<meta charset="utf-8">
|
5
|
-
<title>Documentation by YARD 0.9.
|
5
|
+
<title>Documentation by YARD 0.9.25</title>
|
6
6
|
</head>
|
7
|
-
<script type="text/javascript"
|
7
|
+
<script type="text/javascript">
|
8
8
|
var match = unescape(window.location.hash).match(/^#!(.+)/);
|
9
9
|
var name = match ? match[1] : 'index.html';
|
10
10
|
name = name.replace(/^(\w+):\/\//, '').replace(/^\/\//, '');
|
data/doc/index.html
CHANGED
@@ -6,15 +6,15 @@
|
|
6
6
|
<title>
|
7
7
|
File: README
|
8
8
|
|
9
|
-
— Documentation by YARD 0.9.
|
9
|
+
— Documentation by YARD 0.9.25
|
10
10
|
|
11
11
|
</title>
|
12
12
|
|
13
|
-
<link rel="stylesheet" href="css/style.css" type="text/css"
|
13
|
+
<link rel="stylesheet" href="css/style.css" type="text/css" />
|
14
14
|
|
15
|
-
<link rel="stylesheet" href="css/common.css" type="text/css"
|
15
|
+
<link rel="stylesheet" href="css/common.css" type="text/css" />
|
16
16
|
|
17
|
-
<script type="text/javascript"
|
17
|
+
<script type="text/javascript">
|
18
18
|
pathId = "README";
|
19
19
|
relpath = '';
|
20
20
|
</script>
|
@@ -60,11 +60,11 @@
|
|
60
60
|
<div id="content"><div id='filecontents'><p><a href="https://travis-ci.org/sitrox/inquery"><img src="https://travis-ci.org/sitrox/inquery.svg?branch=master" alt="Build Status"></a>
|
61
61
|
<a href="https://badge.fury.io/rb/inquery"><img src="https://badge.fury.io/rb/inquery.svg" alt="Gem Version"></a></p>
|
62
62
|
|
63
|
-
<h1>Inquery</h1>
|
63
|
+
<h1 id="inquery">Inquery</h1>
|
64
64
|
|
65
65
|
<p>A skeleton that allows extracting queries into atomic, reusable classes.</p>
|
66
66
|
|
67
|
-
<h2>Installation</h2>
|
67
|
+
<h2 id="installation">Installation</h2>
|
68
68
|
|
69
69
|
<p>To install the <strong>Inquery</strong> gem:</p>
|
70
70
|
|
@@ -77,12 +77,12 @@ to your <code>Gemfile</code>:</p>
|
|
77
77
|
<pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_gem'>gem</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>inquery</span><span class='tstring_end'>'</span></span>
|
78
78
|
</code></pre>
|
79
79
|
|
80
|
-
<h2>Basic usage</h2>
|
80
|
+
<h2 id="basic-usage">Basic usage</h2>
|
81
81
|
|
82
82
|
<pre class="code ruby"><code class="ruby"><span class='kw'>class</span> <span class='const'>FetchUsersWithACar</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="Inquery/Query.html" title="Inquery::Query (class)">Query</a></span></span>
|
83
|
-
<span class='id identifier rubyid_schema'>schema</span
|
84
|
-
<span class='
|
85
|
-
<span class='
|
83
|
+
<span class='id identifier rubyid_schema'>schema</span> <span class='kw'>do</span>
|
84
|
+
<span class='id identifier rubyid_req'>req</span> <span class='symbol'>:color</span><span class='comma'>,</span> <span class='symbol'>:symbol</span>
|
85
|
+
<span class='kw'>end</span>
|
86
86
|
|
87
87
|
<span class='kw'>def</span> <span class='id identifier rubyid_call'>call</span>
|
88
88
|
<span class='const'>User</span><span class='period'>.</span><span class='id identifier rubyid_joins'>joins</span><span class='lparen'>(</span><span class='symbol'>:cars</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_where'>where</span><span class='lparen'>(</span><span class='label'>cars:</span> <span class='lbrace'>{</span> <span class='label'>color:</span> <span class='id identifier rubyid_osparams'>osparams</span><span class='period'>.</span><span class='id identifier rubyid_color'>color</span> <span class='rbrace'>}</span><span class='rparen'>)</span>
|
@@ -97,7 +97,7 @@ to your <code>Gemfile</code>:</p>
|
|
97
97
|
and <span class='object_link'><a href="Inquery/Query/Chainable.html" title="Inquery::Query::Chainable (class)">Inquery::Query::Chainable</a></span>. See the following sections for detailed
|
98
98
|
explanations.</p>
|
99
99
|
|
100
|
-
<h2>Basic queries</h2>
|
100
|
+
<h2 id="basic-queries">Basic queries</h2>
|
101
101
|
|
102
102
|
<p>Basic queries inherit from <span class='object_link'><a href="Inquery/Query.html" title="Inquery::Query (class)">Inquery::Query</a></span>. They receive an optional set of
|
103
103
|
parameters and commonly return a relation / AR result. An optional <code>process</code>
|
@@ -141,7 +141,37 @@ the <code>call</code> and optionally the <code>process</code> method:</p>
|
|
141
141
|
<p>Note that it's perfectly fine for some queries to return <code>nil</code>, i.e. if they're
|
142
142
|
writing queries that don't fetch any results.</p>
|
143
143
|
|
144
|
-
<
|
144
|
+
<h3 id="using-raw-sql">Using raw SQL</h3>
|
145
|
+
|
146
|
+
<p>In some cases it may make sense to push down all computation to the database and
|
147
|
+
only construct an SQL query for this purpose. To facilitate this,
|
148
|
+
<span class='object_link'><a href="Inquery/Query.html" title="Inquery::Query (class)">Inquery::Query</a></span> provides sanitization and query execution methods:</p>
|
149
|
+
|
150
|
+
<pre class="code ruby"><code class="ruby"><span class='comment'># Note: There are better ways of achieving the same result, this is an example
|
151
|
+
</span><span class='comment'># to demonstrate the methods.
|
152
|
+
</span><span class='kw'>class</span> <span class='const'>CheckIfSold</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="Inquery/Query.html" title="Inquery::Query (class)">Query</a></span></span>
|
153
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_call'>call</span>
|
154
|
+
<span class='id identifier rubyid_parts'>parts</span> <span class='op'>=</span> <span class='lbracket'>[</span>
|
155
|
+
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>SELECT car_id FROM dealership_sales</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
156
|
+
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>SELECT car_id FROM dealership_leasings</span><span class='tstring_end'>'</span></span>
|
157
|
+
<span class='rbracket'>]</span>
|
158
|
+
|
159
|
+
<span class='id identifier rubyid_sql'>sql</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>SELECT ? IN (</span><span class='tstring_end'>'</span></span> <span class='op'>+</span> <span class='id identifier rubyid_parts'>parts</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'> UNION </span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>)</span><span class='tstring_end'>'</span></span>
|
160
|
+
|
161
|
+
<span class='comment'># The 'san' method takes n+1 arguments: The SQL string and n parameters
|
162
|
+
</span> <span class='id identifier rubyid_sanitized_sql'>sanitized_sql</span> <span class='op'>=</span> <span class='id identifier rubyid_san'>san</span><span class='lparen'>(</span><span class='id identifier rubyid_sql'>sql</span><span class='comma'>,</span> <span class='id identifier rubyid_osparams'>osparams</span><span class='period'>.</span><span class='id identifier rubyid_car_id'>car_id</span><span class='rparen'>)</span>
|
163
|
+
|
164
|
+
<span class='comment'># Returns instance of ActiveRecord::Result
|
165
|
+
</span> <span class='kw'>return</span> <span class='id identifier rubyid_exec_query'>exec_query</span><span class='lparen'>(</span><span class='id identifier rubyid_sanitized_sql'>sanitized_sql</span><span class='rparen'>)</span>
|
166
|
+
<span class='kw'>end</span>
|
167
|
+
|
168
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_process'>process</span><span class='lparen'>(</span><span class='id identifier rubyid_results'>results</span><span class='rparen'>)</span>
|
169
|
+
<span class='id identifier rubyid_results'>results</span><span class='period'>.</span><span class='id identifier rubyid_rows'>rows</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
|
170
|
+
<span class='kw'>end</span>
|
171
|
+
<span class='kw'>end</span>
|
172
|
+
</code></pre>
|
173
|
+
|
174
|
+
<h2 id="chainable-queries">Chainable queries</h2>
|
145
175
|
|
146
176
|
<p>Chainable queries are queries that input and output an Active Record relation.
|
147
177
|
You can access the given relation using the method <code>relation</code>:</p>
|
@@ -157,7 +187,7 @@ You can access the given relation using the method <code>relation</code>:</p>
|
|
157
187
|
could pass a relation of <code>Group</code>s and receive back a relation of corresponding
|
158
188
|
<code>User</code>s).</p>
|
159
189
|
|
160
|
-
<h3>Relation validation</h3>
|
190
|
+
<h3 id="relation-validation">Relation validation</h3>
|
161
191
|
|
162
192
|
<p>Chainable queries allow you to further specify and validate the relation it
|
163
193
|
receives. This is done using the static <code>relation</code> method:</p>
|
@@ -199,7 +229,7 @@ automatically select the given field. This option defaults to <code>:id</code>.
|
|
199
229
|
<code>nil</code> to disable this behavior.</p></li>
|
200
230
|
</ul>
|
201
231
|
|
202
|
-
<h3>Using query classes as regular scopes</h3>
|
232
|
+
<h3 id="using-query-classes-as-regular-scopes">Using query classes as regular scopes</h3>
|
203
233
|
|
204
234
|
<p>Chainable queries can also be used as regular AR model scopes:</p>
|
205
235
|
|
@@ -225,7 +255,7 @@ but have the possibly complex query code hidden in a separate, reusable class.</
|
|
225
255
|
|
226
256
|
<p>Note that when using classes as scopes, the <code>process</code> method will be ignored.</p>
|
227
257
|
|
228
|
-
<h3>Using the given relation as subquery</h3>
|
258
|
+
<h3 id="using-the-given-relation-as-subquery">Using the given relation as subquery</h3>
|
229
259
|
|
230
260
|
<p>In simple cases and all the examples above, we just extend the given relation
|
231
261
|
and return it again. It is also possible however to just use the given relation
|
@@ -261,7 +291,7 @@ as a subquery and return a completely new relation:</p>
|
|
261
291
|
</span><span class='const'>FetchUsersInGroup</span><span class='period'>.</span><span class='id identifier rubyid_run'>run</span><span class='lparen'>(</span><span class='const'>Group</span><span class='period'>.</span><span class='id identifier rubyid_where'>where</span><span class='lparen'>(</span><span class='label'>color:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>red</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
|
262
292
|
</code></pre>
|
263
293
|
|
264
|
-
<h2>Parameters</h2>
|
294
|
+
<h2 id="parameters">Parameters</h2>
|
265
295
|
|
266
296
|
<p>Both query classes can be parameterized using a hash called <code>params</code>. It is
|
267
297
|
recommended to specify and validate input parameters in every query. For this
|
@@ -269,14 +299,12 @@ purpose, Inquery provides the <code>schema</code> method witch integrates the
|
|
269
299
|
<a href="https://github.com/sitrox/schemacop">Schemacop</a> validation Gem:</p>
|
270
300
|
|
271
301
|
<pre class="code ruby"><code class="ruby"><span class='kw'>class</span> <span class='const'>SomeQueryClass</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="Inquery/Query.html" title="Inquery::Query (class)">Query</a></span></span>
|
272
|
-
<span class='id identifier rubyid_schema'>schema</span
|
273
|
-
<span class='
|
274
|
-
<span class='
|
275
|
-
<span class='
|
276
|
-
|
277
|
-
|
278
|
-
<span class='rbrace'>}</span>
|
279
|
-
<span class='rparen'>)</span>
|
302
|
+
<span class='id identifier rubyid_schema'>schema</span> <span class='kw'>do</span>
|
303
|
+
<span class='id identifier rubyid_req'>req</span> <span class='symbol'>:some_param</span><span class='comma'>,</span> <span class='symbol'>:integer</span>
|
304
|
+
<span class='id identifier rubyid_opt'>opt</span> <span class='symbol'>:some_other_param</span><span class='comma'>,</span> <span class='symbol'>:hash</span> <span class='kw'>do</span>
|
305
|
+
<span class='id identifier rubyid_req'>req</span> <span class='symbol'>:some_field</span><span class='comma'>,</span> <span class='symbol'>:string</span>
|
306
|
+
<span class='kw'>end</span>
|
307
|
+
<span class='kw'>end</span>
|
280
308
|
|
281
309
|
<span class='comment'># ...
|
282
310
|
</span><span class='kw'>end</span>
|
@@ -300,14 +328,14 @@ access.</p>
|
|
300
328
|
<span class='kw'>end</span>
|
301
329
|
</code></pre>
|
302
330
|
|
303
|
-
<h2>Rails integration</h2>
|
331
|
+
<h2 id="rails-integration">Rails integration</h2>
|
304
332
|
|
305
333
|
<p>While it is optional, Inquery has been written from the ground up to be
|
306
334
|
perfectly integrated into any Rails application. It has proven to be a winning
|
307
335
|
concept to extract all complex queries into separate classes that are
|
308
336
|
independently executable and testable.</p>
|
309
337
|
|
310
|
-
<h3>Directory structure</h3>
|
338
|
+
<h3 id="directory-structure">Directory structure</h3>
|
311
339
|
|
312
340
|
<p>While not enforced, it is encouraged to use the following structure for storing
|
313
341
|
your query classes:</p>
|
@@ -335,21 +363,20 @@ clear where to find the corresponding unit tests for each one of your
|
|
335
363
|
query classes.</li>
|
336
364
|
</ul>
|
337
365
|
|
338
|
-
<h2>Contributors</h2>
|
366
|
+
<h2 id="contributors">Contributors</h2>
|
339
367
|
|
340
368
|
<p>Thanks to Jeroen Weeink for his insights regarding using query classes as scopes
|
341
|
-
in his <a href="http://craftingruby.com/posts/2015/06/29/query-objects-through-scopes.html">blog post</a
|
342
|
-
And special thanks to <a href="http://www.subgit.com/">SubGit</a> for their great open source licensing.</p>
|
369
|
+
in his <a href="http://craftingruby.com/posts/2015/06/29/query-objects-through-scopes.html">blog post</a>.</p>
|
343
370
|
|
344
|
-
<h2>Copyright</h2>
|
371
|
+
<h2 id="copyright">Copyright</h2>
|
345
372
|
|
346
|
-
<p>Copyright (c)
|
373
|
+
<p>Copyright (c) 2020 Sitrox. See <code>LICENSE</code> for further details.</p>
|
347
374
|
</div></div>
|
348
375
|
|
349
376
|
<div id="footer">
|
350
|
-
Generated on Tue
|
377
|
+
Generated on Tue Nov 24 16:32:43 2020 by
|
351
378
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
352
|
-
0.9.
|
379
|
+
0.9.25 (ruby-2.6.2).
|
353
380
|
</div>
|
354
381
|
|
355
382
|
</div>
|
data/doc/js/app.js
CHANGED
@@ -120,6 +120,49 @@ function summaryToggle() {
|
|
120
120
|
} else { localStorage.summaryCollapsed = "expand"; }
|
121
121
|
}
|
122
122
|
|
123
|
+
function constantSummaryToggle() {
|
124
|
+
$('.constants_summary_toggle').click(function(e) {
|
125
|
+
e.preventDefault();
|
126
|
+
localStorage.summaryCollapsed = $(this).text();
|
127
|
+
$('.constants_summary_toggle').each(function() {
|
128
|
+
$(this).text($(this).text() == "collapse" ? "expand" : "collapse");
|
129
|
+
var next = $(this).parent().parent().nextAll('dl.constants').first();
|
130
|
+
if (next.hasClass('compact')) {
|
131
|
+
next.toggle();
|
132
|
+
next.nextAll('dl.constants').first().toggle();
|
133
|
+
}
|
134
|
+
else if (next.hasClass('constants')) {
|
135
|
+
var list = $('<dl class="constants compact" />');
|
136
|
+
list.html(next.html());
|
137
|
+
list.find('dt').each(function() {
|
138
|
+
$(this).addClass('summary_signature');
|
139
|
+
$(this).text( $(this).text().split('=')[0]);
|
140
|
+
if ($(this).has(".deprecated").length) {
|
141
|
+
$(this).addClass('deprecated');
|
142
|
+
};
|
143
|
+
});
|
144
|
+
// Add the value of the constant as "Tooltip" to the summary object
|
145
|
+
list.find('pre.code').each(function() {
|
146
|
+
console.log($(this).parent());
|
147
|
+
var dt_element = $(this).parent().prev();
|
148
|
+
var tooltip = $(this).text();
|
149
|
+
if (dt_element.hasClass("deprecated")) {
|
150
|
+
tooltip = 'Deprecated. ' + tooltip;
|
151
|
+
};
|
152
|
+
dt_element.attr('title', tooltip);
|
153
|
+
});
|
154
|
+
list.find('.docstring, .tags, dd').remove();
|
155
|
+
next.before(list);
|
156
|
+
next.toggle();
|
157
|
+
}
|
158
|
+
});
|
159
|
+
return false;
|
160
|
+
});
|
161
|
+
if (localStorage.summaryCollapsed == "collapse") {
|
162
|
+
$('.constants_summary_toggle').first().click();
|
163
|
+
} else { localStorage.summaryCollapsed = "expand"; }
|
164
|
+
}
|
165
|
+
|
123
166
|
function generateTOC() {
|
124
167
|
if ($('#filecontents').length === 0) return;
|
125
168
|
var _toc = $('<ol class="top"></ol>');
|
@@ -128,6 +171,7 @@ function generateTOC() {
|
|
128
171
|
var counter = 0;
|
129
172
|
var tags = ['h2', 'h3', 'h4', 'h5', 'h6'];
|
130
173
|
var i;
|
174
|
+
var curli;
|
131
175
|
if ($('#filecontents h1').length > 1) tags.unshift('h1');
|
132
176
|
for (i = 0; i < tags.length; i++) { tags[i] = '#filecontents ' + tags[i]; }
|
133
177
|
var lastTag = parseInt(tags[0][1], 10);
|
@@ -147,15 +191,25 @@ function generateTOC() {
|
|
147
191
|
}
|
148
192
|
if (thisTag > lastTag) {
|
149
193
|
for (i = 0; i < thisTag - lastTag; i++) {
|
150
|
-
|
194
|
+
if ( typeof(curli) == "undefined" ) {
|
195
|
+
curli = $('<li/>');
|
196
|
+
toc.append(curli);
|
197
|
+
}
|
198
|
+
toc = $('<ol/>');
|
199
|
+
curli.append(toc);
|
200
|
+
curli = undefined;
|
151
201
|
}
|
152
202
|
}
|
153
203
|
if (thisTag < lastTag) {
|
154
|
-
for (i = 0; i < lastTag - thisTag; i++)
|
204
|
+
for (i = 0; i < lastTag - thisTag; i++) {
|
205
|
+
toc = toc.parent();
|
206
|
+
toc = toc.parent();
|
207
|
+
}
|
155
208
|
}
|
156
209
|
var title = $(this).attr('toc-title');
|
157
210
|
if (typeof(title) == "undefined") title = $(this).text();
|
158
|
-
|
211
|
+
curli =$('<li><a href="#' + this.id + '">' + title + '</a></li>');
|
212
|
+
toc.append(curli);
|
159
213
|
lastTag = thisTag;
|
160
214
|
});
|
161
215
|
if (!show) return;
|
@@ -232,6 +286,16 @@ function mainFocus() {
|
|
232
286
|
setTimeout(function() { $('#main').focus(); }, 10);
|
233
287
|
}
|
234
288
|
|
289
|
+
function navigationChange() {
|
290
|
+
// This works around the broken anchor navigation with the YARD template.
|
291
|
+
window.onpopstate = function() {
|
292
|
+
var hash = window.location.hash;
|
293
|
+
if (hash !== '' && $(hash)[0]) {
|
294
|
+
$(hash)[0].scrollIntoView();
|
295
|
+
}
|
296
|
+
};
|
297
|
+
}
|
298
|
+
|
235
299
|
$(document).ready(function() {
|
236
300
|
navResizer();
|
237
301
|
navExpander();
|
@@ -241,8 +305,10 @@ $(document).ready(function() {
|
|
241
305
|
searchFrameButtons();
|
242
306
|
linkSummaries();
|
243
307
|
summaryToggle();
|
308
|
+
constantSummaryToggle();
|
244
309
|
generateTOC();
|
245
310
|
mainFocus();
|
311
|
+
navigationChange();
|
246
312
|
});
|
247
313
|
|
248
314
|
})();
|
data/doc/method_list.html
CHANGED
@@ -4,9 +4,9 @@
|
|
4
4
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
5
5
|
<meta charset="utf-8" />
|
6
6
|
|
7
|
-
<link rel="stylesheet" href="css/full_list.css" type="text/css" media="screen"
|
7
|
+
<link rel="stylesheet" href="css/full_list.css" type="text/css" media="screen" />
|
8
8
|
|
9
|
-
<link rel="stylesheet" href="css/common.css" type="text/css" media="screen"
|
9
|
+
<link rel="stylesheet" href="css/common.css" type="text/css" media="screen" />
|
10
10
|
|
11
11
|
|
12
12
|
|
@@ -46,8 +46,8 @@
|
|
46
46
|
|
47
47
|
<li class="odd ">
|
48
48
|
<div class="item">
|
49
|
-
<span class='object_link'><a href="Inquery/Query.html#call-
|
50
|
-
<small>Inquery::Query</small>
|
49
|
+
<span class='object_link'><a href="Inquery/Query/Chainable.html#call-instance_method" title="Inquery::Query::Chainable#call (method)">#call</a></span>
|
50
|
+
<small>Inquery::Query::Chainable</small>
|
51
51
|
</div>
|
52
52
|
</li>
|
53
53
|
|
@@ -62,15 +62,15 @@
|
|
62
62
|
|
63
63
|
<li class="odd ">
|
64
64
|
<div class="item">
|
65
|
-
<span class='object_link'><a href="Inquery/Query
|
66
|
-
<small>Inquery::Query
|
65
|
+
<span class='object_link'><a href="Inquery/Query.html#call-class_method" title="Inquery::Query.call (method)">call</a></span>
|
66
|
+
<small>Inquery::Query</small>
|
67
67
|
</div>
|
68
68
|
</li>
|
69
69
|
|
70
70
|
|
71
71
|
<li class="even ">
|
72
72
|
<div class="item">
|
73
|
-
<span class='object_link'><a href="Inquery/Query/Chainable.html#call-
|
73
|
+
<span class='object_link'><a href="Inquery/Query/Chainable.html#call-class_method" title="Inquery::Query::Chainable.call (method)">call</a></span>
|
74
74
|
<small>Inquery::Query::Chainable</small>
|
75
75
|
</div>
|
76
76
|
</li>
|
@@ -78,13 +78,21 @@
|
|
78
78
|
|
79
79
|
<li class="odd ">
|
80
80
|
<div class="item">
|
81
|
-
<span class='object_link'><a href="Inquery/Query.html#
|
81
|
+
<span class='object_link'><a href="Inquery/Query.html#connection-instance_method" title="Inquery::Query#connection (method)">#connection</a></span>
|
82
82
|
<small>Inquery::Query</small>
|
83
83
|
</div>
|
84
84
|
</li>
|
85
85
|
|
86
86
|
|
87
87
|
<li class="even ">
|
88
|
+
<div class="item">
|
89
|
+
<span class='object_link'><a href="Inquery/Query/Chainable.html#connection-instance_method" title="Inquery::Query::Chainable#connection (method)">#connection</a></span>
|
90
|
+
<small>Inquery::Query::Chainable</small>
|
91
|
+
</div>
|
92
|
+
</li>
|
93
|
+
|
94
|
+
|
95
|
+
<li class="odd ">
|
88
96
|
<div class="item">
|
89
97
|
<span class='object_link'><a href="Inquery/Query/Chainable.html#initialize-instance_method" title="Inquery::Query::Chainable#initialize (method)">#initialize</a></span>
|
90
98
|
<small>Inquery::Query::Chainable</small>
|
@@ -92,6 +100,14 @@
|
|
92
100
|
</li>
|
93
101
|
|
94
102
|
|
103
|
+
<li class="even ">
|
104
|
+
<div class="item">
|
105
|
+
<span class='object_link'><a href="Inquery/Query.html#initialize-instance_method" title="Inquery::Query#initialize (method)">#initialize</a></span>
|
106
|
+
<small>Inquery::Query</small>
|
107
|
+
</div>
|
108
|
+
</li>
|
109
|
+
|
110
|
+
|
95
111
|
<li class="odd ">
|
96
112
|
<div class="item">
|
97
113
|
<span class='object_link'><a href="Inquery/Query.html#osparams-instance_method" title="Inquery::Query#osparams (method)">#osparams</a></span>
|
@@ -134,7 +150,7 @@
|
|
134
150
|
|
135
151
|
<li class="even ">
|
136
152
|
<div class="item">
|
137
|
-
<span class='object_link'><a href="Inquery/Query.html#run-
|
153
|
+
<span class='object_link'><a href="Inquery/Query.html#run-instance_method" title="Inquery::Query#run (method)">#run</a></span>
|
138
154
|
<small>Inquery::Query</small>
|
139
155
|
</div>
|
140
156
|
</li>
|
@@ -142,7 +158,7 @@
|
|
142
158
|
|
143
159
|
<li class="odd ">
|
144
160
|
<div class="item">
|
145
|
-
<span class='object_link'><a href="Inquery/Query.html#run-
|
161
|
+
<span class='object_link'><a href="Inquery/Query.html#run-class_method" title="Inquery::Query.run (method)">run</a></span>
|
146
162
|
<small>Inquery::Query</small>
|
147
163
|
</div>
|
148
164
|
</li>
|
@@ -6,15 +6,15 @@
|
|
6
6
|
<title>
|
7
7
|
Top Level Namespace
|
8
8
|
|
9
|
-
— Documentation by YARD 0.9.
|
9
|
+
— Documentation by YARD 0.9.25
|
10
10
|
|
11
11
|
</title>
|
12
12
|
|
13
|
-
<link rel="stylesheet" href="css/style.css" type="text/css"
|
13
|
+
<link rel="stylesheet" href="css/style.css" type="text/css" />
|
14
14
|
|
15
|
-
<link rel="stylesheet" href="css/common.css" type="text/css"
|
15
|
+
<link rel="stylesheet" href="css/common.css" type="text/css" />
|
16
16
|
|
17
|
-
<script type="text/javascript"
|
17
|
+
<script type="text/javascript">
|
18
18
|
pathId = "";
|
19
19
|
relpath = '';
|
20
20
|
</script>
|
@@ -100,9 +100,9 @@
|
|
100
100
|
</div>
|
101
101
|
|
102
102
|
<div id="footer">
|
103
|
-
Generated on Tue
|
103
|
+
Generated on Tue Nov 24 16:32:43 2020 by
|
104
104
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
105
|
-
0.9.
|
105
|
+
0.9.25 (ruby-2.6.2).
|
106
106
|
</div>
|
107
107
|
|
108
108
|
</div>
|