inquery 1.0.10 → 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.
Files changed (65) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rubocop.yml +1 -1
  3. data/.github/workflows/ruby.yml +24 -8
  4. data/.gitignore +2 -2
  5. data/.rubocop.yml +4 -0
  6. data/Appraisals +24 -4
  7. data/CHANGELOG.md +47 -1
  8. data/Gemfile +17 -1
  9. data/Gemfile.lock +125 -0
  10. data/LICENSE +1 -1
  11. data/MIGRATION.md +260 -0
  12. data/README.md +31 -9
  13. data/RUBY_VERSION +1 -1
  14. data/Rakefile +4 -11
  15. data/VERSION +1 -1
  16. data/doc/Inquery/Exceptions/Base.html +4 -4
  17. data/doc/Inquery/Exceptions/InvalidRelation.html +4 -4
  18. data/doc/Inquery/Exceptions/UnknownCallSignature.html +4 -4
  19. data/doc/Inquery/Exceptions.html +4 -4
  20. data/doc/Inquery/MethodAccessibleHash.html +431 -0
  21. data/doc/Inquery/Mixins/RawSqlUtils.html +17 -4
  22. data/doc/Inquery/Mixins/RelationValidation/ClassMethods.html +8 -7
  23. data/doc/Inquery/Mixins/RelationValidation.html +9 -8
  24. data/doc/Inquery/Mixins/SchemaValidation/ClassMethods.html +20 -6
  25. data/doc/Inquery/Mixins/SchemaValidation.html +4 -4
  26. data/doc/Inquery/Mixins.html +4 -4
  27. data/doc/Inquery/Query/Chainable.html +207 -90
  28. data/doc/Inquery/Query.html +401 -73
  29. data/doc/Inquery.html +121 -6
  30. data/doc/_index.html +12 -5
  31. data/doc/class_list.html +6 -3
  32. data/doc/css/full_list.css +3 -3
  33. data/doc/css/style.css +6 -0
  34. data/doc/file.README.html +118 -17
  35. data/doc/file_list.html +5 -2
  36. data/doc/frames.html +10 -5
  37. data/doc/index.html +118 -17
  38. data/doc/js/app.js +294 -264
  39. data/doc/js/full_list.js +30 -4
  40. data/doc/method_list.html +52 -17
  41. data/doc/top-level-namespace.html +4 -4
  42. data/gemfiles/rails_5.2.gemfile +1 -0
  43. data/gemfiles/rails_6.0.gemfile +1 -0
  44. data/gemfiles/rails_6.1.gemfile +1 -0
  45. data/gemfiles/rails_7.0.gemfile +1 -0
  46. data/gemfiles/{rails_5.1.gemfile → rails_7.1.gemfile} +2 -1
  47. data/gemfiles/rails_7.2.gemfile +8 -0
  48. data/gemfiles/rails_8.0.gemfile +8 -0
  49. data/gemfiles/rails_8.1.gemfile +8 -0
  50. data/inquery.gemspec +11 -34
  51. data/lib/inquery/method_accessible_hash.rb +45 -0
  52. data/lib/inquery/mixins/raw_sql_utils.rb +32 -6
  53. data/lib/inquery/mixins/relation_validation.rb +1 -1
  54. data/lib/inquery/mixins/schema_validation.rb +8 -1
  55. data/lib/inquery/query/chainable.rb +69 -27
  56. data/lib/inquery/query.rb +67 -14
  57. data/lib/inquery.rb +9 -0
  58. data/test/inquery/error_handling_test.rb +117 -0
  59. data/test/inquery/method_accessible_hash_test.rb +85 -0
  60. data/test/inquery/mixins/raw_sql_utils_test.rb +67 -0
  61. data/test/inquery/query/chainable_test.rb +78 -0
  62. data/test/inquery/query_test.rb +86 -0
  63. data/test/test_helper.rb +11 -0
  64. metadata +30 -129
  65. data/.yardopts +0 -1
data/doc/Inquery.html CHANGED
@@ -6,7 +6,7 @@
6
6
  <title>
7
7
  Module: Inquery
8
8
 
9
- &mdash; Documentation by YARD 0.9.27
9
+ &mdash; Documentation by YARD 0.9.37
10
10
 
11
11
  </title>
12
12
 
@@ -79,7 +79,7 @@
79
79
  <dl>
80
80
  <dt>Defined in:</dt>
81
81
  <dd>lib/inquery.rb<span class="defines">,<br />
82
- lib/inquery/query.rb,<br /> lib/inquery/exceptions.rb,<br /> lib/inquery/query/chainable.rb,<br /> lib/inquery/mixins/raw_sql_utils.rb,<br /> lib/inquery/mixins/schema_validation.rb,<br /> lib/inquery/mixins/relation_validation.rb</span>
82
+ lib/inquery/query.rb,<br /> lib/inquery/exceptions.rb,<br /> lib/inquery/query/chainable.rb,<br /> lib/inquery/mixins/raw_sql_utils.rb,<br /> lib/inquery/method_accessible_hash.rb,<br /> lib/inquery/mixins/schema_validation.rb,<br /> lib/inquery/mixins/relation_validation.rb</span>
83
83
  </dd>
84
84
  </dl>
85
85
 
@@ -93,7 +93,7 @@
93
93
 
94
94
 
95
95
 
96
- <strong class="classes">Classes:</strong> <span class='object_link'><a href="Inquery/Query.html" title="Inquery::Query (class)">Query</a></span>
96
+ <strong class="classes">Classes:</strong> <span class='object_link'><a href="Inquery/MethodAccessibleHash.html" title="Inquery::MethodAccessibleHash (class)">MethodAccessibleHash</a></span>, <span class='object_link'><a href="Inquery/Query.html" title="Inquery::Query (class)">Query</a></span>
97
97
 
98
98
 
99
99
  </p>
@@ -104,14 +104,129 @@
104
104
 
105
105
 
106
106
 
107
+
108
+ <h2>
109
+ Class Method Summary
110
+ <small><a href="#" class="summary_toggle">collapse</a></small>
111
+ </h2>
112
+
113
+ <ul class="summary">
114
+
115
+ <li class="public ">
116
+ <span class="summary_signature">
117
+
118
+ <a href="#setup-class_method" title="setup (class method)">.<strong>setup</strong> {|_self| ... } &#x21d2; Object </a>
119
+
120
+
121
+
122
+ </span>
123
+
124
+
125
+
126
+
127
+
128
+
129
+
130
+
131
+
132
+ <span class="summary_desc"><div class='inline'>
133
+ <p>Setup method that should be called in a dedicated initializer.</p>
134
+ </div></span>
135
+
136
+ </li>
137
+
138
+
139
+ </ul>
140
+
107
141
 
108
142
 
143
+
144
+ <div id="class_method_details" class="method_details_list">
145
+ <h2>Class Method Details</h2>
146
+
147
+
148
+ <div class="method_details first">
149
+ <h3 class="signature first" id="setup-class_method">
150
+
151
+ .<strong>setup</strong> {|_self| ... } &#x21d2; <tt>Object</tt>
152
+
153
+
154
+
155
+
156
+
157
+ </h3><div class="docstring">
158
+ <div class="discussion">
159
+
160
+ <p>Setup method that should be called in a dedicated initializer.</p>
161
+
162
+
163
+ </div>
164
+ </div>
165
+ <div class="tags">
166
+
167
+ <p class="tag_title">Yields:</p>
168
+ <ul class="yield">
169
+
170
+ <li>
171
+
172
+
173
+ <span class='type'>(<tt>_self</tt>)</span>
174
+
175
+
176
+
177
+ </li>
178
+
179
+ </ul>
180
+ <p class="tag_title">Yield Parameters:</p>
181
+ <ul class="yieldparam">
182
+
183
+ <li>
184
+
185
+ <span class='name'>_self</span>
186
+
187
+
188
+ <span class='type'>(<tt><span class='object_link'><a href="" title="Inquery (module)">Inquery</a></span></tt>)</span>
189
+
190
+
191
+
192
+ &mdash;
193
+ <div class='inline'>
194
+ <p>the object that the method was called on</p>
195
+ </div>
196
+
197
+ </li>
198
+
199
+ </ul>
200
+
201
+ </div><table class="source_code">
202
+ <tr>
203
+ <td>
204
+ <pre class="lines">
205
+
206
+
207
+ 6
208
+ 7
209
+ 8</pre>
210
+ </td>
211
+ <td>
212
+ <pre class="code"><span class="info file"># File 'lib/inquery.rb', line 6</span>
213
+
214
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_setup'>setup</span>
215
+ <span class='kw'>yield</span> <span class='kw'>self</span>
216
+ <span class='kw'>end</span></pre>
217
+ </td>
218
+ </tr>
219
+ </table>
220
+ </div>
221
+
222
+ </div>
223
+
109
224
  </div>
110
225
 
111
226
  <div id="footer">
112
- Generated on Thu May 19 10:36:15 2022 by
113
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
114
- 0.9.27 (ruby-3.0.1).
227
+ Generated on Mon Jan 5 14:06:48 2026 by
228
+ <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
229
+ 0.9.37 (ruby-3.3.5).
115
230
  </div>
116
231
 
117
232
  </div>
data/doc/_index.html CHANGED
@@ -4,7 +4,7 @@
4
4
  <meta charset="utf-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>
7
- Documentation by YARD 0.9.27
7
+ Documentation by YARD 0.9.37
8
8
 
9
9
  </title>
10
10
 
@@ -52,7 +52,7 @@
52
52
  <div class="clear"></div>
53
53
  </div>
54
54
 
55
- <div id="content"><h1 class="noborder title">Documentation by YARD 0.9.27</h1>
55
+ <div id="content"><h1 class="noborder title">Documentation by YARD 0.9.37</h1>
56
56
  <div id="listing">
57
57
  <h1 class="alphaindex">Alphabetic Index</h1>
58
58
 
@@ -159,6 +159,13 @@
159
159
  <li class="letter">M</li>
160
160
  <ul>
161
161
 
162
+ <li>
163
+ <span class='object_link'><a href="Inquery/MethodAccessibleHash.html" title="Inquery::MethodAccessibleHash (class)">MethodAccessibleHash</a></span>
164
+
165
+ <small>(Inquery)</small>
166
+
167
+ </li>
168
+
162
169
  <li>
163
170
  <span class='object_link'><a href="Inquery/Mixins.html" title="Inquery::Mixins (module)">Mixins</a></span>
164
171
 
@@ -248,9 +255,9 @@
248
255
  </div>
249
256
 
250
257
  <div id="footer">
251
- Generated on Thu May 19 10:36:15 2022 by
252
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
253
- 0.9.27 (ruby-3.0.1).
258
+ Generated on Mon Jan 5 14:06:48 2026 by
259
+ <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
260
+ 0.9.37 (ruby-3.3.5).
254
261
  </div>
255
262
 
256
263
  </div>
data/doc/class_list.html CHANGED
@@ -1,5 +1,5 @@
1
1
  <!DOCTYPE html>
2
- <html>
2
+ <html >
3
3
  <head>
4
4
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
5
5
  <meta charset="utf-8" />
@@ -38,12 +38,15 @@
38
38
 
39
39
  </div>
40
40
 
41
- <div id="search">Search: <input type="text" /></div>
41
+ <div id="search">
42
+ <label for="search-class">Search:</label>
43
+ <input id="search-class" type="text" />
44
+ </div>
42
45
  </div>
43
46
 
44
47
  <ul id="full_list" class="class">
45
48
  <li id="object_" class="odd"><div class="item" style="padding-left:30px"><span class='object_link'><a href="top-level-namespace.html" title="Top Level Namespace (root)">Top Level Namespace</a></span></div></li>
46
- <li id='object_Inquery' class='even'><div class='item' style='padding-left:30px'><a class='toggle'></a> <span class='object_link'><a href="Inquery.html" title="Inquery (module)">Inquery</a></span><small class='search_info'>Top Level Namespace</small></div><ul><li id='object_Inquery::Exceptions' class='collapsed odd'><div class='item' style='padding-left:45px'><a class='toggle'></a> <span class='object_link'><a href="Inquery/Exceptions.html" title="Inquery::Exceptions (module)">Exceptions</a></span><small class='search_info'>Inquery</small></div><ul><li id='object_Inquery::Exceptions::Base' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Inquery/Exceptions/Base.html" title="Inquery::Exceptions::Base (class)">Base</a></span> &lt; StandardError<small class='search_info'>Inquery::Exceptions</small></div></li><li id='object_Inquery::Exceptions::InvalidRelation' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Inquery/Exceptions/InvalidRelation.html" title="Inquery::Exceptions::InvalidRelation (class)">InvalidRelation</a></span> &lt; Base<small class='search_info'>Inquery::Exceptions</small></div></li><li id='object_Inquery::Exceptions::UnknownCallSignature' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Inquery/Exceptions/UnknownCallSignature.html" title="Inquery::Exceptions::UnknownCallSignature (class)">UnknownCallSignature</a></span> &lt; Base<small class='search_info'>Inquery::Exceptions</small></div></li></ul></li><li id='object_Inquery::Mixins' class='collapsed even'><div class='item' style='padding-left:45px'><a class='toggle'></a> <span class='object_link'><a href="Inquery/Mixins.html" title="Inquery::Mixins (module)">Mixins</a></span><small class='search_info'>Inquery</small></div><ul><li id='object_Inquery::Mixins::RawSqlUtils' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Inquery/Mixins/RawSqlUtils.html" title="Inquery::Mixins::RawSqlUtils (module)">RawSqlUtils</a></span><small class='search_info'>Inquery::Mixins</small></div></li><li id='object_Inquery::Mixins::RelationValidation' class='collapsed'><div class='item' style='padding-left:60px'><a class='toggle'></a> <span class='object_link'><a href="Inquery/Mixins/RelationValidation.html" title="Inquery::Mixins::RelationValidation (module)">RelationValidation</a></span><small class='search_info'>Inquery::Mixins</small></div><ul><li id='object_Inquery::Mixins::RelationValidation::ClassMethods' class='collapsed'><div class='item' style='padding-left:75px'><span class='object_link'><a href="Inquery/Mixins/RelationValidation/ClassMethods.html" title="Inquery::Mixins::RelationValidation::ClassMethods (module)">ClassMethods</a></span><small class='search_info'>Inquery::Mixins::RelationValidation</small></div></li></ul></li><li id='object_Inquery::Mixins::SchemaValidation' class='collapsed'><div class='item' style='padding-left:60px'><a class='toggle'></a> <span class='object_link'><a href="Inquery/Mixins/SchemaValidation.html" title="Inquery::Mixins::SchemaValidation (module)">SchemaValidation</a></span><small class='search_info'>Inquery::Mixins</small></div><ul><li id='object_Inquery::Mixins::SchemaValidation::ClassMethods' class='collapsed'><div class='item' style='padding-left:75px'><span class='object_link'><a href="Inquery/Mixins/SchemaValidation/ClassMethods.html" title="Inquery::Mixins::SchemaValidation::ClassMethods (module)">ClassMethods</a></span><small class='search_info'>Inquery::Mixins::SchemaValidation</small></div></li></ul></li></ul></li><li id='object_Inquery::Query' class='collapsed odd'><div class='item' style='padding-left:45px'><a class='toggle'></a> <span class='object_link'><a href="Inquery/Query.html" title="Inquery::Query (class)">Query</a></span> &lt; Object<small class='search_info'>Inquery</small></div><ul><li id='object_Inquery::Query::Chainable' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Inquery/Query/Chainable.html" title="Inquery::Query::Chainable (class)">Chainable</a></span> &lt; Query<small class='search_info'>Inquery::Query</small></div></li></ul></li></ul></li>
49
+ <li id='object_Inquery' class='even'><div class='item' style='padding-left:30px'><a tabindex='0' class='toggle' role='button' aria-label='Inquery child nodes' aria-expanded='false' aria-controls='object_Inquery'></a> <span class='object_link'><a href="Inquery.html" title="Inquery (module)">Inquery</a></span><small class='search_info'>Top Level Namespace</small></div><div aria-labelledby='object_Inquery'><ul><li id='object_Inquery::Exceptions' class='collapsed odd'><div class='item' style='padding-left:45px'><a tabindex='0' class='toggle' role='button' aria-label='Exceptions child nodes' aria-expanded='false' aria-controls='object_Inquery::Exceptions'></a> <span class='object_link'><a href="Inquery/Exceptions.html" title="Inquery::Exceptions (module)">Exceptions</a></span><small class='search_info'>Inquery</small></div><div aria-labelledby='object_Inquery::Exceptions'><ul><li id='object_Inquery::Exceptions::Base' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Inquery/Exceptions/Base.html" title="Inquery::Exceptions::Base (class)">Base</a></span> &lt; StandardError<small class='search_info'>Inquery::Exceptions</small></div></li><li id='object_Inquery::Exceptions::InvalidRelation' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Inquery/Exceptions/InvalidRelation.html" title="Inquery::Exceptions::InvalidRelation (class)">InvalidRelation</a></span> &lt; Base<small class='search_info'>Inquery::Exceptions</small></div></li><li id='object_Inquery::Exceptions::UnknownCallSignature' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Inquery/Exceptions/UnknownCallSignature.html" title="Inquery::Exceptions::UnknownCallSignature (class)">UnknownCallSignature</a></span> &lt; Base<small class='search_info'>Inquery::Exceptions</small></div></li></ul></div></li><li id='object_Inquery::MethodAccessibleHash' class='collapsed even'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Inquery/MethodAccessibleHash.html" title="Inquery::MethodAccessibleHash (class)">MethodAccessibleHash</a></span> &lt; Hash<small class='search_info'>Inquery</small></div></li><li id='object_Inquery::Mixins' class='collapsed odd'><div class='item' style='padding-left:45px'><a tabindex='0' class='toggle' role='button' aria-label='Mixins child nodes' aria-expanded='false' aria-controls='object_Inquery::Mixins'></a> <span class='object_link'><a href="Inquery/Mixins.html" title="Inquery::Mixins (module)">Mixins</a></span><small class='search_info'>Inquery</small></div><div aria-labelledby='object_Inquery::Mixins'><ul><li id='object_Inquery::Mixins::RawSqlUtils' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Inquery/Mixins/RawSqlUtils.html" title="Inquery::Mixins::RawSqlUtils (module)">RawSqlUtils</a></span><small class='search_info'>Inquery::Mixins</small></div></li><li id='object_Inquery::Mixins::RelationValidation' class='collapsed'><div class='item' style='padding-left:60px'><a tabindex='0' class='toggle' role='button' aria-label='RelationValidation child nodes' aria-expanded='false' aria-controls='object_Inquery::Mixins::RelationValidation'></a> <span class='object_link'><a href="Inquery/Mixins/RelationValidation.html" title="Inquery::Mixins::RelationValidation (module)">RelationValidation</a></span><small class='search_info'>Inquery::Mixins</small></div><div aria-labelledby='object_Inquery::Mixins::RelationValidation'><ul><li id='object_Inquery::Mixins::RelationValidation::ClassMethods' class='collapsed'><div class='item' style='padding-left:75px'><span class='object_link'><a href="Inquery/Mixins/RelationValidation/ClassMethods.html" title="Inquery::Mixins::RelationValidation::ClassMethods (module)">ClassMethods</a></span><small class='search_info'>Inquery::Mixins::RelationValidation</small></div></li></ul></div></li><li id='object_Inquery::Mixins::SchemaValidation' class='collapsed'><div class='item' style='padding-left:60px'><a tabindex='0' class='toggle' role='button' aria-label='SchemaValidation child nodes' aria-expanded='false' aria-controls='object_Inquery::Mixins::SchemaValidation'></a> <span class='object_link'><a href="Inquery/Mixins/SchemaValidation.html" title="Inquery::Mixins::SchemaValidation (module)">SchemaValidation</a></span><small class='search_info'>Inquery::Mixins</small></div><div aria-labelledby='object_Inquery::Mixins::SchemaValidation'><ul><li id='object_Inquery::Mixins::SchemaValidation::ClassMethods' class='collapsed'><div class='item' style='padding-left:75px'><span class='object_link'><a href="Inquery/Mixins/SchemaValidation/ClassMethods.html" title="Inquery::Mixins::SchemaValidation::ClassMethods (module)">ClassMethods</a></span><small class='search_info'>Inquery::Mixins::SchemaValidation</small></div></li></ul></div></li></ul></div></li><li id='object_Inquery::Query' class='collapsed even'><div class='item' style='padding-left:45px'><a tabindex='0' class='toggle' role='button' aria-label='Query child nodes' aria-expanded='false' aria-controls='object_Inquery::Query'></a> <span class='object_link'><a href="Inquery/Query.html" title="Inquery::Query (class)">Query</a></span> &lt; Object<small class='search_info'>Inquery</small></div><div aria-labelledby='object_Inquery::Query'><ul><li id='object_Inquery::Query::Chainable' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Inquery/Query/Chainable.html" title="Inquery::Query::Chainable (class)">Chainable</a></span> &lt; Query<small class='search_info'>Inquery::Query</small></div></li></ul></div></li></ul></div></li>
47
50
 
48
51
  </ul>
49
52
  </div>
@@ -20,8 +20,8 @@ h1 { padding: 12px 10px; padding-bottom: 0; margin: 0; font-size: 1.4em; }
20
20
  #content.insearch #noresults { margin-left: 7px; }
21
21
  li.collapsed ul { display: none; }
22
22
  li a.toggle { cursor: default; position: relative; left: -5px; top: 4px; text-indent: -999px; width: 10px; height: 9px; margin-left: -10px; display: block; float: left; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAASCAYAAABb0P4QAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAK8AAACvABQqw0mAAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTM5jWRgMAAAAVdEVYdENyZWF0aW9uIFRpbWUAMy8xNC8wOeNZPpQAAAE2SURBVDiNrZTBccIwEEXfelIAHUA6CZ24BGaWO+FuzZAK4k6gg5QAdGAq+Bxs2Yqx7BzyL7Llp/VfzZeQhCTc/ezuGzKKnKSzpCxXJM8fwNXda3df5RZETlIt6YUzSQDs93sl8w3wBZxCCE10GM1OcWbWjB2mWgEH4Mfdyxm3PSepBHibgQE2wLe7r4HjEidpnXMYdQPKEMJcsZ4zs2POYQOcaPfwMVOo58zsAdMt18BuoVDPxUJRacELbXv3hUIX2vYmOUvi8C8ydz/ThjXrqKqqLbDIAdsCKBd+Wo7GWa7o9qzOQHVVVXeAbs+yHHCH4aTsaCOQqunmUy1yBUAXkdMIfMlgF5EXLo2OpV/c/Up7jG4hhHcYLgWzAZXUc2b2ixsfvc/RmNNfOXD3Q/oeL9axJE1yT9IOoUu6MGUkAAAAAElFTkSuQmCC) no-repeat bottom left; }
23
- li.collapsed a.toggle { opacity: 0.5; cursor: default; background-position: top left; }
24
- li { color: #888; cursor: pointer; }
23
+ li.collapsed a.toggle { cursor: default; background-position: top left; }
24
+ li { color: #666; cursor: pointer; }
25
25
  li.deprecated { text-decoration: line-through; font-style: italic; }
26
26
  li.odd { background: #f0f0f0; }
27
27
  li.even { background: #fafafa; }
@@ -47,7 +47,7 @@ li small { display: block; font-size: 0.8em; }
47
47
  li small:before { content: ""; }
48
48
  li small:after { content: ""; }
49
49
  li small.search_info { display: none; }
50
- #search { width: 170px; position: static; margin: 3px; margin-left: 10px; font-size: 0.9em; color: #888; padding-left: 0; padding-right: 24px; }
50
+ #search { width: 170px; position: static; margin: 3px; margin-left: 10px; font-size: 0.9em; color: #666; padding-left: 0; padding-right: 24px; }
51
51
  #content.insearch #search { background-position: center right; }
52
52
  #search input { width: 110px; }
53
53
 
data/doc/css/style.css CHANGED
@@ -82,6 +82,11 @@ body {
82
82
  #search { display: none; }
83
83
  }
84
84
 
85
+ @media (max-width: 320px) {
86
+ body { height: 100%; overflow: hidden; overflow-wrap: break-word; }
87
+ #main { height: 100%; overflow: auto; }
88
+ }
89
+
85
90
  #main img { max-width: 100%; }
86
91
  h1 { font-size: 25px; margin: 1em 0 0.5em; padding-top: 4px; border-top: 1px dotted #d5d5d5; }
87
92
  h1.noborder { border-top: 0px; margin-top: 0; padding-top: 4px; }
@@ -106,6 +111,7 @@ h2 small a {
106
111
  position: relative;
107
112
  padding: 2px 7px;
108
113
  }
114
+ a { font-weight: 550; }
109
115
  .clear { clear: both; }
110
116
  .inline { display: inline; }
111
117
  .inline p:first-child { display: inline; }
data/doc/file.README.html CHANGED
@@ -6,7 +6,7 @@
6
6
  <title>
7
7
  File: README
8
8
 
9
- &mdash; Documentation by YARD 0.9.27
9
+ &mdash; Documentation by YARD 0.9.37
10
10
 
11
11
  </title>
12
12
 
@@ -80,16 +80,103 @@ to your <code>Gemfile</code>:</p>
80
80
 
81
81
  <h2 id="compatibility">Compatibility</h2>
82
82
 
83
- <p>Inquery is tested with the following ruby versions:</p>
84
-
85
- <ul>
86
- <li>2.5.1</li>
87
- <li>2.6.2</li>
88
- <li>2.7.1</li>
89
- <li>3.0.1</li>
90
- </ul>
91
-
92
- <p>Other ruby versions might work but are not covered by our automated tests.</p>
83
+ <p>Inquery is tested against multiple Ruby and Rails version combinations. The following table shows the compatibility matrix:</p>
84
+
85
+ <table><thead>
86
+ <tr>
87
+ <th>Ruby Version</th>
88
+ <th>Rails 5.2</th>
89
+ <th>Rails 6.0</th>
90
+ <th>Rails 6.1</th>
91
+ <th>Rails 7.0</th>
92
+ <th>Rails 7.1</th>
93
+ <th>Rails 7.2</th>
94
+ <th>Rails 8.0</th>
95
+ <th>Rails 8.1</th>
96
+ </tr>
97
+ </thead><tbody>
98
+ <tr>
99
+ <td>2.6.2</td>
100
+ <td>✓</td>
101
+ <td>✓</td>
102
+ <td>✓</td>
103
+ <td>-</td>
104
+ <td>-</td>
105
+ <td>-</td>
106
+ <td>-</td>
107
+ <td>-</td>
108
+ </tr>
109
+ <tr>
110
+ <td>2.7.1</td>
111
+ <td>-</td>
112
+ <td>✓</td>
113
+ <td>✓</td>
114
+ <td>✓</td>
115
+ <td>-</td>
116
+ <td>-</td>
117
+ <td>-</td>
118
+ <td>-</td>
119
+ </tr>
120
+ <tr>
121
+ <td>3.0.1</td>
122
+ <td>-</td>
123
+ <td>-</td>
124
+ <td>✓</td>
125
+ <td>✓</td>
126
+ <td>-</td>
127
+ <td>-</td>
128
+ <td>-</td>
129
+ <td>-</td>
130
+ </tr>
131
+ <tr>
132
+ <td>3.1.0</td>
133
+ <td>-</td>
134
+ <td>-</td>
135
+ <td>-</td>
136
+ <td>✓</td>
137
+ <td>✓</td>
138
+ <td>-</td>
139
+ <td>-</td>
140
+ <td>-</td>
141
+ </tr>
142
+ <tr>
143
+ <td>3.2.0</td>
144
+ <td>-</td>
145
+ <td>-</td>
146
+ <td>-</td>
147
+ <td>✓</td>
148
+ <td>✓</td>
149
+ <td>✓</td>
150
+ <td>-</td>
151
+ <td>-</td>
152
+ </tr>
153
+ <tr>
154
+ <td>3.3.0</td>
155
+ <td>-</td>
156
+ <td>-</td>
157
+ <td>-</td>
158
+ <td>✓</td>
159
+ <td>✓</td>
160
+ <td>✓</td>
161
+ <td>✓</td>
162
+ <td>✓</td>
163
+ </tr>
164
+ <tr>
165
+ <td>3.4.1</td>
166
+ <td>-</td>
167
+ <td>-</td>
168
+ <td>-</td>
169
+ <td>-</td>
170
+ <td>-</td>
171
+ <td>✓</td>
172
+ <td>✓</td>
173
+ <td>✓</td>
174
+ </tr>
175
+ </tbody></table>
176
+
177
+ <p><strong>Minimum supported versions:</strong> Ruby 2.6.2 and Rails 5.2</p>
178
+
179
+ <p>Other Ruby/Rails version combinations might work but are not covered by our automated tests.</p>
93
180
 
94
181
  <h2 id="basic-usage">Basic usage</h2>
95
182
 
@@ -343,7 +430,9 @@ access.</p>
343
430
  </code></pre>
344
431
 
345
432
  <p>Inquery supports both schemacop specification versions 2 and 3 using the methods
346
- <code>schema</code> / <code>schema2</code> for version 2 and method <code>schema3</code> for version 3.</p>
433
+ <code>schema2</code> for version 2 and method <code>schema3</code> for version 3. You can also use the
434
+ method <code>schema</code>, which defaults to the schema version configured using
435
+ <code>config.default_schema_version</code> (see <a href="#Configuration">Configuration</a>).</p>
347
436
 
348
437
  <h2 id="rails-integration">Rails integration</h2>
349
438
 
@@ -352,6 +441,17 @@ perfectly integrated into any Rails application. It has proven to be a winning
352
441
  concept to extract all complex queries into separate classes that are
353
442
  independently executable and testable.</p>
354
443
 
444
+ <h2 id="configuration">Configuration</h2>
445
+
446
+ <p>Inquery can be configured globally using an optional initializer:</p>
447
+
448
+ <pre class="code ruby"><code class="ruby"><span class='comment'># config/initializers/inquery.rb
449
+ </span><span class='const'><span class='object_link'><a href="Inquery.html" title="Inquery (module)">Inquery</a></span></span><span class='period'>.</span><span class='id identifier rubyid_setup'><span class='object_link'><a href="Inquery.html#setup-class_method" title="Inquery.setup (method)">setup</a></span></span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_config'>config</span><span class='op'>|</span>
450
+ <span class='comment'># Specify the default schemacop schema version. Can be one of 2 or 3.
451
+ </span> <span class='comment'># config.default_schema_version = 2
452
+ </span><span class='kw'>end</span>
453
+ </code></pre>
454
+
355
455
  <h3 id="directory-structure">Directory structure</h3>
356
456
 
357
457
  <p>While not enforced, it is encouraged to use the following structure for storing
@@ -383,17 +483,18 @@ query classes.</li>
383
483
  <h2 id="contributors">Contributors</h2>
384
484
 
385
485
  <p>Thanks to Jeroen Weeink for his insights regarding using query classes as scopes
386
- in his <a href="http://craftingruby.com/posts/2015/06/29/query-objects-through-scopes.html">blog post</a>.</p>
486
+ in his <a href="http://craftingruby.com/posts/2015/06/29/query-objects-through-scopes.html">blog
487
+ post</a>.</p>
387
488
 
388
489
  <h2 id="copyright">Copyright</h2>
389
490
 
390
- <p>Copyright © 2016 - 2022 Sitrox. See <code>LICENSE</code> for further details.</p>
491
+ <p>Copyright © 2016 - 2026 Sitrox. See <code>LICENSE</code> for further details.</p>
391
492
  </div></div>
392
493
 
393
494
  <div id="footer">
394
- Generated on Thu May 19 10:36:15 2022 by
395
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
396
- 0.9.27 (ruby-3.0.1).
495
+ Generated on Mon Jan 5 14:06:48 2026 by
496
+ <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
497
+ 0.9.37 (ruby-3.3.5).
397
498
  </div>
398
499
 
399
500
  </div>
data/doc/file_list.html CHANGED
@@ -1,5 +1,5 @@
1
1
  <!DOCTYPE html>
2
- <html>
2
+ <html >
3
3
  <head>
4
4
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
5
5
  <meta charset="utf-8" />
@@ -38,7 +38,10 @@
38
38
 
39
39
  </div>
40
40
 
41
- <div id="search">Search: <input type="text" /></div>
41
+ <div id="search">
42
+ <label for="search-class">Search:</label>
43
+ <input id="search-class" type="text" />
44
+ </div>
42
45
  </div>
43
46
 
44
47
  <ul id="full_list" class="file">
data/doc/frames.html CHANGED
@@ -2,13 +2,18 @@
2
2
  <html>
3
3
  <head>
4
4
  <meta charset="utf-8">
5
- <title>Documentation by YARD 0.9.27</title>
5
+ <title>Documentation by YARD 0.9.37</title>
6
6
  </head>
7
7
  <script type="text/javascript">
8
- var match = unescape(window.location.hash).match(/^#!(.+)/);
9
- var name = match ? match[1] : 'index.html';
10
- name = name.replace(/^(\w+):\/\//, '').replace(/^\/\//, '');
11
- window.top.location = name;
8
+ var mainUrl = 'index.html';
9
+ try {
10
+ var match = decodeURIComponent(window.location.hash).match(/^#!(.+)/);
11
+ var name = match ? match[1] : mainUrl;
12
+ var url = new URL(name, location.href);
13
+ window.top.location.replace(url.origin === location.origin ? name : mainUrl);
14
+ } catch (e) {
15
+ window.top.location.replace(mainUrl);
16
+ }
12
17
  </script>
13
18
  <noscript>
14
19
  <h1>Oops!</h1>