kabk 0.2.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.

Potentially problematic release.


This version of kabk might be problematic. Click here for more details.

Files changed (67) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +27 -0
  3. data/Gemfile +6 -0
  4. data/Gemfile.lock +108 -0
  5. data/Kabk_logo.svg +33 -0
  6. data/LICENSE +21 -0
  7. data/README.md +101 -0
  8. data/doc/Kabk/Adapters/Base.html +854 -0
  9. data/doc/Kabk/Adapters/SequelAdapter.html +948 -0
  10. data/doc/Kabk/Adapters.html +120 -0
  11. data/doc/Kabk/ApiError.html +511 -0
  12. data/doc/Kabk/Auth/JwtStrategy.html +551 -0
  13. data/doc/Kabk/Auth.html +118 -0
  14. data/doc/Kabk/Concurrency.html +297 -0
  15. data/doc/Kabk/ConcurrencyConflictError.html +225 -0
  16. data/doc/Kabk/Error.html +140 -0
  17. data/doc/Kabk/ExportHandler.html +381 -0
  18. data/doc/Kabk/Field.html +2160 -0
  19. data/doc/Kabk/ForbiddenError.html +225 -0
  20. data/doc/Kabk/InvalidFieldError.html +136 -0
  21. data/doc/Kabk/InvalidOldPasswordError.html +225 -0
  22. data/doc/Kabk/NotFoundError.html +225 -0
  23. data/doc/Kabk/QueryBuilder.html +551 -0
  24. data/doc/Kabk/Registry.html +608 -0
  25. data/doc/Kabk/RelationHydrator.html +480 -0
  26. data/doc/Kabk/Resource.html +1986 -0
  27. data/doc/Kabk/ResourceBuilder.html +1002 -0
  28. data/doc/Kabk/RestEngine.html +879 -0
  29. data/doc/Kabk/SchemaRenderer.html +318 -0
  30. data/doc/Kabk/UnauthorizedError.html +225 -0
  31. data/doc/Kabk/UploadHandler.html +308 -0
  32. data/doc/Kabk/ValidationError.html +225 -0
  33. data/doc/Kabk/Validator.html +380 -0
  34. data/doc/Kabk.html +330 -0
  35. data/doc/_index.html +376 -0
  36. data/doc/class_list.html +54 -0
  37. data/doc/css/common.css +1 -0
  38. data/doc/css/full_list.css +206 -0
  39. data/doc/css/style.css +1089 -0
  40. data/doc/file.README.html +149 -0
  41. data/doc/file_list.html +59 -0
  42. data/doc/frames.html +22 -0
  43. data/doc/index.html +149 -0
  44. data/doc/js/app.js +801 -0
  45. data/doc/js/full_list.js +334 -0
  46. data/doc/js/jquery.js +4 -0
  47. data/doc/method_list.html +910 -0
  48. data/doc/top-level-namespace.html +112 -0
  49. data/docs/API_REFERENCE.md +241 -0
  50. data/lib/kabk/adapters/base.rb +45 -0
  51. data/lib/kabk/adapters/sequel_adapter.rb +125 -0
  52. data/lib/kabk/concurrency.rb +30 -0
  53. data/lib/kabk/errors.rb +62 -0
  54. data/lib/kabk/export_handler.rb +43 -0
  55. data/lib/kabk/field.rb +97 -0
  56. data/lib/kabk/query_builder.rb +72 -0
  57. data/lib/kabk/registry.rb +41 -0
  58. data/lib/kabk/relation_hydrator.rb +107 -0
  59. data/lib/kabk/resource.rb +88 -0
  60. data/lib/kabk/resource_builder.rb +93 -0
  61. data/lib/kabk/rest_engine.rb +84 -0
  62. data/lib/kabk/schema_renderer.rb +69 -0
  63. data/lib/kabk/upload_handler.rb +24 -0
  64. data/lib/kabk/validator.rb +64 -0
  65. data/lib/kabk/version.rb +6 -0
  66. data/lib/kabk.rb +51 -0
  67. metadata +193 -0
@@ -0,0 +1,948 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>
7
+ Class: Kabk::Adapters::SequelAdapter
8
+
9
+ &mdash; Documentation by YARD 0.9.45
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../../css/style.css" type="text/css">
14
+
15
+ <link rel="stylesheet" href="../../css/common.css" type="text/css">
16
+
17
+ <script type="text/javascript">
18
+ pathId = "Kabk::Adapters::SequelAdapter";
19
+ relpath = '../../';
20
+ </script>
21
+
22
+
23
+ <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
24
+
25
+ <script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
26
+
27
+
28
+ </head>
29
+ <body>
30
+ <div id="main_progress" aria-hidden="true"></div>
31
+
32
+ <div class="nav_wrap">
33
+ <iframe id="nav" src="../../class_list.html?1"></iframe>
34
+ <div id="resizer"></div>
35
+ </div>
36
+
37
+ <div id="main" tabindex="-1">
38
+ <div id="header">
39
+ <div id="menu">
40
+
41
+ <a href="../../_index.html">Index (S)</a> &raquo;
42
+ <span class='title'><span class='object_link'><a href="../../Kabk.html" title="Kabk (module)">Kabk</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Adapters.html" title="Kabk::Adapters (module)">Adapters</a></span></span>
43
+ &raquo;
44
+ <span class="title">SequelAdapter</span>
45
+
46
+ </div>
47
+
48
+ <div id="search">
49
+
50
+ <a class="full_list_link" id="class_list_link"
51
+ href="../../class_list.html">
52
+
53
+ <svg width="24" height="24">
54
+ <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
55
+ <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
56
+ <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
57
+ </svg>
58
+ </a>
59
+
60
+ </div>
61
+ <div class="clear"></div>
62
+ </div>
63
+
64
+ <div id="content"><h1>Class: Kabk::Adapters::SequelAdapter
65
+
66
+
67
+
68
+ </h1>
69
+ <div class="box_info">
70
+
71
+ <dl>
72
+ <dt>Inherits:</dt>
73
+ <dd>
74
+ <span class="inheritName"><span class='object_link'><a href="Base.html" title="Kabk::Adapters::Base (class)">Base</a></span></span>
75
+
76
+ <ul class="fullTree">
77
+ <li>Object</li>
78
+
79
+ <li class="next"><span class='object_link'><a href="Base.html" title="Kabk::Adapters::Base (class)">Base</a></span></li>
80
+
81
+ <li class="next">Kabk::Adapters::SequelAdapter</li>
82
+
83
+ </ul>
84
+ <a href="#" class="inheritanceTree">show all</a>
85
+
86
+ </dd>
87
+ </dl>
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
+ <dl>
100
+ <dt>Defined in:</dt>
101
+ <dd>lib/kabk/adapters/sequel_adapter.rb
102
+ </dd>
103
+ </dl>
104
+
105
+ </div>
106
+
107
+ <h2>Overview</h2><div class="docstring">
108
+ <div class="discussion">
109
+ <p>Sequel adapter for Kabk resources</p>
110
+
111
+ </div>
112
+ </div>
113
+ <div class="tags">
114
+
115
+
116
+ </div>
117
+
118
+
119
+
120
+
121
+
122
+ <h2>Instance Attribute Summary</h2>
123
+
124
+ <h3 class="inherited">Attributes inherited from <span class='object_link'><a href="Base.html" title="Kabk::Adapters::Base (class)">Base</a></span></h3>
125
+ <p class="inherited"><span class='object_link'><a href="Base.html#resource-instance_method" title="Kabk::Adapters::Base#resource (method)">#resource</a></span></p>
126
+
127
+
128
+
129
+ <h2>
130
+ Instance Method Summary
131
+ <small><a href="#" class="summary_toggle">collapse</a></small>
132
+ </h2>
133
+
134
+ <ul class="summary">
135
+
136
+ <li class="public ">
137
+ <span class="summary_signature">
138
+
139
+ <a href="#create-instance_method" title="#create (instance method)">#<strong>create</strong>(attributes, context: {}) &#x21d2; Hash </a>
140
+
141
+
142
+
143
+ </span>
144
+
145
+
146
+
147
+
148
+
149
+
150
+
151
+
152
+
153
+ <span class="summary_desc"><div class='inline'><p>Protocol response hash with success, message, data.</p></div></span>
154
+
155
+ </li>
156
+
157
+
158
+ <li class="public ">
159
+ <span class="summary_signature">
160
+
161
+ <a href="#delete-instance_method" title="#delete (instance method)">#<strong>delete</strong>(id, context: {}) &#x21d2; Hash </a>
162
+
163
+
164
+
165
+ </span>
166
+
167
+
168
+
169
+
170
+
171
+
172
+
173
+
174
+
175
+ <span class="summary_desc"><div class='inline'><p>Protocol response hash indicating success.</p></div></span>
176
+
177
+ </li>
178
+
179
+
180
+ <li class="public ">
181
+ <span class="summary_signature">
182
+
183
+ <a href="#get-instance_method" title="#get (instance method)">#<strong>get</strong>(id, context: {}) &#x21d2; Hash </a>
184
+
185
+
186
+
187
+ </span>
188
+
189
+
190
+
191
+
192
+
193
+
194
+
195
+
196
+
197
+ <span class="summary_desc"><div class='inline'><p>Protocol response hash with success, data.</p></div></span>
198
+
199
+ </li>
200
+
201
+
202
+ <li class="public ">
203
+ <span class="summary_signature">
204
+
205
+ <a href="#list-instance_method" title="#list (instance method)">#<strong>list</strong>(params, context: {}) &#x21d2; Hash </a>
206
+
207
+
208
+
209
+ </span>
210
+
211
+
212
+
213
+
214
+
215
+
216
+
217
+
218
+
219
+ <span class="summary_desc"><div class='inline'><p>Protocol response hash with success, data, meta.</p></div></span>
220
+
221
+ </li>
222
+
223
+
224
+ <li class="public ">
225
+ <span class="summary_signature">
226
+
227
+ <a href="#update-instance_method" title="#update (instance method)">#<strong>update</strong>(id, attributes, context: {}) &#x21d2; Hash </a>
228
+
229
+
230
+
231
+ </span>
232
+
233
+
234
+
235
+
236
+
237
+
238
+
239
+
240
+
241
+ <span class="summary_desc"><div class='inline'><p>Protocol response hash with success, message, data.</p></div></span>
242
+
243
+ </li>
244
+
245
+
246
+ </ul>
247
+
248
+
249
+
250
+
251
+
252
+
253
+
254
+
255
+
256
+
257
+
258
+
259
+
260
+ <h3 class="inherited">Methods inherited from <span class='object_link'><a href="Base.html" title="Kabk::Adapters::Base (class)">Base</a></span></h3>
261
+ <p class="inherited"><span class='object_link'><a href="Base.html#initialize-instance_method" title="Kabk::Adapters::Base#initialize (method)">#initialize</a></span></p>
262
+ <div id="constructor_details" class="method_details_list">
263
+ <h2>Constructor Details</h2>
264
+
265
+ <p class="notice">This class inherits a constructor from <span class='object_link'><a href="Base.html#initialize-instance_method" title="Kabk::Adapters::Base#initialize (method)">Kabk::Adapters::Base</a></span></p>
266
+
267
+ </div>
268
+
269
+
270
+ <div id="instance_method_details" class="method_details_list">
271
+ <h2>Instance Method Details</h2>
272
+
273
+
274
+ <div class="method_details first">
275
+ <h3 class="signature first" id="create-instance_method">
276
+
277
+ #<strong>create</strong>(attributes, context: {}) &#x21d2; <tt>Hash</tt>
278
+
279
+
280
+
281
+
282
+
283
+ </h3><div class="docstring">
284
+ <div class="discussion">
285
+ <p>Returns Protocol response hash with success, message, data.</p>
286
+
287
+ </div>
288
+ </div>
289
+ <div class="tags">
290
+ <p class="tag_title">Parameters:</p>
291
+ <ul class="param">
292
+
293
+ <li>
294
+
295
+ <span class='name'>attributes</span>
296
+
297
+
298
+ <span class='type'>(<tt>Hash</tt>)</span>
299
+
300
+
301
+
302
+ &mdash;
303
+ <div class='inline'><p>Sanitized attributes</p></div>
304
+
305
+ </li>
306
+
307
+ <li>
308
+
309
+ <span class='name'>context</span>
310
+
311
+
312
+ <span class='type'>(<tt>Hash</tt>)</span>
313
+
314
+
315
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
316
+
317
+
318
+ </li>
319
+
320
+ </ul>
321
+
322
+ <p class="tag_title">Returns:</p>
323
+ <ul class="return">
324
+
325
+ <li>
326
+
327
+
328
+ <span class='type'>(<tt>Hash</tt>)</span>
329
+
330
+
331
+
332
+ &mdash;
333
+ <div class='inline'><p>Protocol response hash with success, message, data</p></div>
334
+
335
+ </li>
336
+
337
+ </ul>
338
+ <p class="tag_title">Raises:</p>
339
+ <ul class="raise">
340
+
341
+ <li>
342
+
343
+
344
+ <span class='type'>(<tt><span class='object_link'><a href="../ApiError.html" title="Kabk::ApiError (class)">ApiError</a></span></tt>)</span>
345
+
346
+
347
+
348
+ &mdash;
349
+ <div class='inline'><p>If unique constraint violated</p></div>
350
+
351
+ </li>
352
+
353
+ </ul>
354
+
355
+ </div><table class="source_code">
356
+ <tr>
357
+ <td>
358
+ <pre class="lines">
359
+
360
+
361
+ 66
362
+ 67
363
+ 68
364
+ 69
365
+ 70
366
+ 71
367
+ 72
368
+ 73
369
+ 74
370
+ 75
371
+ 76
372
+ 77
373
+ 78</pre>
374
+ </td>
375
+ <td>
376
+ <pre class="code"><span class="info file"># File 'lib/kabk/adapters/sequel_adapter.rb', line 66</span>
377
+
378
+ <span class='kw'>def</span> <span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_attributes'>attributes</span><span class='comma'>,</span> <span class='label'>context:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
379
+ <span class='id identifier rubyid_record'>record</span> <span class='op'>=</span> <span class='ivar'>@resource</span><span class='period'>.</span><span class='id identifier rubyid_model_class'>model_class</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_attributes'>attributes</span><span class='rparen'>)</span>
380
+
381
+ <span class='id identifier rubyid_hydrated_records'>hydrated_records</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../RelationHydrator.html" title="Kabk::RelationHydrator (class)">RelationHydrator</a></span></span><span class='period'>.</span><span class='id identifier rubyid_hydrate'><span class='object_link'><a href="../RelationHydrator.html#hydrate-class_method" title="Kabk::RelationHydrator.hydrate (method)">hydrate</a></span></span><span class='lparen'>(</span><span class='ivar'>@resource</span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='id identifier rubyid_record'>record</span><span class='rbracket'>]</span><span class='rparen'>)</span>
382
+
383
+ <span class='lbrace'>{</span>
384
+ <span class='label'>success:</span> <span class='kw'>true</span><span class='comma'>,</span>
385
+ <span class='label'>message:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Operation completed successfully</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
386
+ <span class='label'>data:</span> <span class='id identifier rubyid_hydrated_records'>hydrated_records</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
387
+ <span class='rbrace'>}</span>
388
+ <span class='kw'>rescue</span> <span class='const'>Sequel</span><span class='op'>::</span><span class='const'>UniqueConstraintViolation</span>
389
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="../ApiError.html" title="Kabk::ApiError (class)">ApiError</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="../ApiError.html#initialize-instance_method" title="Kabk::ApiError#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Unique constraint violated</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='label'>code:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>CONFLICT</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='label'>http_status:</span> <span class='int'>409</span><span class='rparen'>)</span>
390
+ <span class='kw'>end</span></pre>
391
+ </td>
392
+ </tr>
393
+ </table>
394
+ </div>
395
+
396
+ <div class="method_details ">
397
+ <h3 class="signature " id="delete-instance_method">
398
+
399
+ #<strong>delete</strong>(id, context: {}) &#x21d2; <tt>Hash</tt>
400
+
401
+
402
+
403
+
404
+
405
+ </h3><div class="docstring">
406
+ <div class="discussion">
407
+ <p>Returns Protocol response hash indicating success.</p>
408
+
409
+ </div>
410
+ </div>
411
+ <div class="tags">
412
+ <p class="tag_title">Parameters:</p>
413
+ <ul class="param">
414
+
415
+ <li>
416
+
417
+ <span class='name'>id</span>
418
+
419
+
420
+ <span class='type'>(<tt>Integer</tt>, <tt>String</tt>)</span>
421
+
422
+
423
+
424
+ &mdash;
425
+ <div class='inline'><p>Primary key</p></div>
426
+
427
+ </li>
428
+
429
+ <li>
430
+
431
+ <span class='name'>context</span>
432
+
433
+
434
+ <span class='type'>(<tt>Hash</tt>)</span>
435
+
436
+
437
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
438
+
439
+
440
+ </li>
441
+
442
+ </ul>
443
+
444
+ <p class="tag_title">Returns:</p>
445
+ <ul class="return">
446
+
447
+ <li>
448
+
449
+
450
+ <span class='type'>(<tt>Hash</tt>)</span>
451
+
452
+
453
+
454
+ &mdash;
455
+ <div class='inline'><p>Protocol response hash indicating success</p></div>
456
+
457
+ </li>
458
+
459
+ </ul>
460
+ <p class="tag_title">Raises:</p>
461
+ <ul class="raise">
462
+
463
+ <li>
464
+
465
+
466
+ <span class='type'>(<tt><span class='object_link'><a href="../NotFoundError.html" title="Kabk::NotFoundError (class)">NotFoundError</a></span></tt>)</span>
467
+
468
+
469
+
470
+ &mdash;
471
+ <div class='inline'><p>If record doesn't exist</p></div>
472
+
473
+ </li>
474
+
475
+ </ul>
476
+
477
+ </div><table class="source_code">
478
+ <tr>
479
+ <td>
480
+ <pre class="lines">
481
+
482
+
483
+ 112
484
+ 113
485
+ 114
486
+ 115
487
+ 116
488
+ 117
489
+ 118
490
+ 119
491
+ 120
492
+ 121
493
+ 122</pre>
494
+ </td>
495
+ <td>
496
+ <pre class="code"><span class="info file"># File 'lib/kabk/adapters/sequel_adapter.rb', line 112</span>
497
+
498
+ <span class='kw'>def</span> <span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_id'>id</span><span class='comma'>,</span> <span class='label'>context:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
499
+ <span class='id identifier rubyid_record'>record</span> <span class='op'>=</span> <span class='ivar'>@resource</span><span class='period'>.</span><span class='id identifier rubyid_model_class'>model_class</span><span class='lbracket'>[</span><span class='id identifier rubyid_id'>id</span><span class='rbracket'>]</span>
500
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="../NotFoundError.html" title="Kabk::NotFoundError (class)">NotFoundError</a></span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Record not found</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>unless</span> <span class='id identifier rubyid_record'>record</span>
501
+
502
+ <span class='id identifier rubyid_record'>record</span><span class='period'>.</span><span class='id identifier rubyid_destroy'>destroy</span>
503
+
504
+ <span class='lbrace'>{</span>
505
+ <span class='label'>success:</span> <span class='kw'>true</span><span class='comma'>,</span>
506
+ <span class='label'>message:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Record successfully deleted</span><span class='tstring_end'>&quot;</span></span>
507
+ <span class='rbrace'>}</span>
508
+ <span class='kw'>end</span></pre>
509
+ </td>
510
+ </tr>
511
+ </table>
512
+ </div>
513
+
514
+ <div class="method_details ">
515
+ <h3 class="signature " id="get-instance_method">
516
+
517
+ #<strong>get</strong>(id, context: {}) &#x21d2; <tt>Hash</tt>
518
+
519
+
520
+
521
+
522
+
523
+ </h3><div class="docstring">
524
+ <div class="discussion">
525
+ <p>Returns Protocol response hash with success, data.</p>
526
+
527
+ </div>
528
+ </div>
529
+ <div class="tags">
530
+ <p class="tag_title">Parameters:</p>
531
+ <ul class="param">
532
+
533
+ <li>
534
+
535
+ <span class='name'>id</span>
536
+
537
+
538
+ <span class='type'>(<tt>Integer</tt>, <tt>String</tt>)</span>
539
+
540
+
541
+
542
+ &mdash;
543
+ <div class='inline'><p>Primary key</p></div>
544
+
545
+ </li>
546
+
547
+ <li>
548
+
549
+ <span class='name'>context</span>
550
+
551
+
552
+ <span class='type'>(<tt>Hash</tt>)</span>
553
+
554
+
555
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
556
+
557
+
558
+ </li>
559
+
560
+ </ul>
561
+
562
+ <p class="tag_title">Returns:</p>
563
+ <ul class="return">
564
+
565
+ <li>
566
+
567
+
568
+ <span class='type'>(<tt>Hash</tt>)</span>
569
+
570
+
571
+
572
+ &mdash;
573
+ <div class='inline'><p>Protocol response hash with success, data</p></div>
574
+
575
+ </li>
576
+
577
+ </ul>
578
+ <p class="tag_title">Raises:</p>
579
+ <ul class="raise">
580
+
581
+ <li>
582
+
583
+
584
+ <span class='type'>(<tt><span class='object_link'><a href="../NotFoundError.html" title="Kabk::NotFoundError (class)">NotFoundError</a></span></tt>)</span>
585
+
586
+
587
+
588
+ &mdash;
589
+ <div class='inline'><p>If record doesn't exist</p></div>
590
+
591
+ </li>
592
+
593
+ </ul>
594
+
595
+ </div><table class="source_code">
596
+ <tr>
597
+ <td>
598
+ <pre class="lines">
599
+
600
+
601
+ 50
602
+ 51
603
+ 52
604
+ 53
605
+ 54
606
+ 55
607
+ 56
608
+ 57
609
+ 58
610
+ 59
611
+ 60</pre>
612
+ </td>
613
+ <td>
614
+ <pre class="code"><span class="info file"># File 'lib/kabk/adapters/sequel_adapter.rb', line 50</span>
615
+
616
+ <span class='kw'>def</span> <span class='id identifier rubyid_get'>get</span><span class='lparen'>(</span><span class='id identifier rubyid_id'>id</span><span class='comma'>,</span> <span class='label'>context:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
617
+ <span class='id identifier rubyid_record'>record</span> <span class='op'>=</span> <span class='ivar'>@resource</span><span class='period'>.</span><span class='id identifier rubyid_model_class'>model_class</span><span class='lbracket'>[</span><span class='id identifier rubyid_id'>id</span><span class='rbracket'>]</span>
618
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="../NotFoundError.html" title="Kabk::NotFoundError (class)">NotFoundError</a></span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Record not found</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>unless</span> <span class='id identifier rubyid_record'>record</span>
619
+
620
+ <span class='id identifier rubyid_hydrated_records'>hydrated_records</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../RelationHydrator.html" title="Kabk::RelationHydrator (class)">RelationHydrator</a></span></span><span class='period'>.</span><span class='id identifier rubyid_hydrate'><span class='object_link'><a href="../RelationHydrator.html#hydrate-class_method" title="Kabk::RelationHydrator.hydrate (method)">hydrate</a></span></span><span class='lparen'>(</span><span class='ivar'>@resource</span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='id identifier rubyid_record'>record</span><span class='rbracket'>]</span><span class='rparen'>)</span>
621
+
622
+ <span class='lbrace'>{</span>
623
+ <span class='label'>success:</span> <span class='kw'>true</span><span class='comma'>,</span>
624
+ <span class='label'>data:</span> <span class='id identifier rubyid_hydrated_records'>hydrated_records</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
625
+ <span class='rbrace'>}</span>
626
+ <span class='kw'>end</span></pre>
627
+ </td>
628
+ </tr>
629
+ </table>
630
+ </div>
631
+
632
+ <div class="method_details ">
633
+ <h3 class="signature " id="list-instance_method">
634
+
635
+ #<strong>list</strong>(params, context: {}) &#x21d2; <tt>Hash</tt>
636
+
637
+
638
+
639
+
640
+
641
+ </h3><div class="docstring">
642
+ <div class="discussion">
643
+ <p>Returns Protocol response hash with success, data, meta.</p>
644
+
645
+ </div>
646
+ </div>
647
+ <div class="tags">
648
+ <p class="tag_title">Parameters:</p>
649
+ <ul class="param">
650
+
651
+ <li>
652
+
653
+ <span class='name'>params</span>
654
+
655
+
656
+ <span class='type'>(<tt>Hash</tt>)</span>
657
+
658
+
659
+
660
+ &mdash;
661
+ <div class='inline'><p>Request parameters (page, per_page, sort, filters).</p></div>
662
+
663
+ </li>
664
+
665
+ <li>
666
+
667
+ <span class='name'>context</span>
668
+
669
+
670
+ <span class='type'>(<tt>Hash</tt>)</span>
671
+
672
+
673
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
674
+
675
+
676
+ </li>
677
+
678
+ </ul>
679
+
680
+ <p class="tag_title">Returns:</p>
681
+ <ul class="return">
682
+
683
+ <li>
684
+
685
+
686
+ <span class='type'>(<tt>Hash</tt>)</span>
687
+
688
+
689
+
690
+ &mdash;
691
+ <div class='inline'><p>Protocol response hash with success, data, meta</p></div>
692
+
693
+ </li>
694
+
695
+ </ul>
696
+
697
+ </div><table class="source_code">
698
+ <tr>
699
+ <td>
700
+ <pre class="lines">
701
+
702
+
703
+ 15
704
+ 16
705
+ 17
706
+ 18
707
+ 19
708
+ 20
709
+ 21
710
+ 22
711
+ 23
712
+ 24
713
+ 25
714
+ 26
715
+ 27
716
+ 28
717
+ 29
718
+ 30
719
+ 31
720
+ 32
721
+ 33
722
+ 34
723
+ 35
724
+ 36
725
+ 37
726
+ 38
727
+ 39
728
+ 40
729
+ 41
730
+ 42
731
+ 43
732
+ 44</pre>
733
+ </td>
734
+ <td>
735
+ <pre class="code"><span class="info file"># File 'lib/kabk/adapters/sequel_adapter.rb', line 15</span>
736
+
737
+ <span class='kw'>def</span> <span class='id identifier rubyid_list'>list</span><span class='lparen'>(</span><span class='id identifier rubyid_params'>params</span><span class='comma'>,</span> <span class='label'>context:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
738
+ <span class='id identifier rubyid_dataset'>dataset</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../QueryBuilder.html" title="Kabk::QueryBuilder (class)">QueryBuilder</a></span></span><span class='period'>.</span><span class='id identifier rubyid_build'><span class='object_link'><a href="../QueryBuilder.html#build-class_method" title="Kabk::QueryBuilder.build (method)">build</a></span></span><span class='lparen'>(</span><span class='ivar'>@resource</span><span class='comma'>,</span> <span class='id identifier rubyid_params'>params</span><span class='rparen'>)</span>
739
+
740
+ <span class='kw'>if</span> <span class='id identifier rubyid_dataset'>dataset</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:pagination_record_count</span><span class='rparen'>)</span>
741
+ <span class='id identifier rubyid_total'>total</span> <span class='op'>=</span> <span class='id identifier rubyid_dataset'>dataset</span><span class='period'>.</span><span class='id identifier rubyid_pagination_record_count'>pagination_record_count</span>
742
+ <span class='id identifier rubyid_page'>page</span> <span class='op'>=</span> <span class='id identifier rubyid_dataset'>dataset</span><span class='period'>.</span><span class='id identifier rubyid_current_page'>current_page</span>
743
+ <span class='id identifier rubyid_per_page'>per_page</span> <span class='op'>=</span> <span class='id identifier rubyid_dataset'>dataset</span><span class='period'>.</span><span class='id identifier rubyid_page_size'>page_size</span>
744
+ <span class='id identifier rubyid_last_page'>last_page</span> <span class='op'>=</span> <span class='id identifier rubyid_dataset'>dataset</span><span class='period'>.</span><span class='id identifier rubyid_page_count'>page_count</span>
745
+ <span class='id identifier rubyid_records'>records</span> <span class='op'>=</span> <span class='id identifier rubyid_dataset'>dataset</span><span class='period'>.</span><span class='id identifier rubyid_all'>all</span>
746
+ <span class='kw'>else</span>
747
+ <span class='id identifier rubyid_records'>records</span> <span class='op'>=</span> <span class='id identifier rubyid_dataset'>dataset</span><span class='period'>.</span><span class='id identifier rubyid_all'>all</span>
748
+ <span class='id identifier rubyid_total'>total</span> <span class='op'>=</span> <span class='id identifier rubyid_records'>records</span><span class='period'>.</span><span class='id identifier rubyid_size'>size</span>
749
+ <span class='id identifier rubyid_page'>page</span> <span class='op'>=</span> <span class='int'>1</span>
750
+ <span class='id identifier rubyid_per_page'>per_page</span> <span class='op'>=</span> <span class='id identifier rubyid_total'>total</span>
751
+ <span class='id identifier rubyid_last_page'>last_page</span> <span class='op'>=</span> <span class='int'>1</span>
752
+ <span class='kw'>end</span>
753
+
754
+ <span class='id identifier rubyid_hydrated_records'>hydrated_records</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../RelationHydrator.html" title="Kabk::RelationHydrator (class)">RelationHydrator</a></span></span><span class='period'>.</span><span class='id identifier rubyid_hydrate'><span class='object_link'><a href="../RelationHydrator.html#hydrate-class_method" title="Kabk::RelationHydrator.hydrate (method)">hydrate</a></span></span><span class='lparen'>(</span><span class='ivar'>@resource</span><span class='comma'>,</span> <span class='id identifier rubyid_records'>records</span><span class='rparen'>)</span>
755
+
756
+ <span class='lbrace'>{</span>
757
+ <span class='label'>success:</span> <span class='kw'>true</span><span class='comma'>,</span>
758
+ <span class='label'>data:</span> <span class='id identifier rubyid_hydrated_records'>hydrated_records</span><span class='comma'>,</span>
759
+ <span class='label'>meta:</span> <span class='lbrace'>{</span>
760
+ <span class='label'>total:</span> <span class='id identifier rubyid_total'>total</span><span class='comma'>,</span>
761
+ <span class='label'>page:</span> <span class='id identifier rubyid_page'>page</span><span class='comma'>,</span>
762
+ <span class='label'>per_page:</span> <span class='id identifier rubyid_per_page'>per_page</span><span class='comma'>,</span>
763
+ <span class='label'>last_page:</span> <span class='id identifier rubyid_last_page'>last_page</span>
764
+ <span class='rbrace'>}</span>
765
+ <span class='rbrace'>}</span>
766
+ <span class='kw'>end</span></pre>
767
+ </td>
768
+ </tr>
769
+ </table>
770
+ </div>
771
+
772
+ <div class="method_details ">
773
+ <h3 class="signature " id="update-instance_method">
774
+
775
+ #<strong>update</strong>(id, attributes, context: {}) &#x21d2; <tt>Hash</tt>
776
+
777
+
778
+
779
+
780
+
781
+ </h3><div class="docstring">
782
+ <div class="discussion">
783
+ <p>Returns Protocol response hash with success, message, data.</p>
784
+
785
+ </div>
786
+ </div>
787
+ <div class="tags">
788
+ <p class="tag_title">Parameters:</p>
789
+ <ul class="param">
790
+
791
+ <li>
792
+
793
+ <span class='name'>id</span>
794
+
795
+
796
+ <span class='type'>(<tt>Integer</tt>, <tt>String</tt>)</span>
797
+
798
+
799
+
800
+ &mdash;
801
+ <div class='inline'><p>Primary key</p></div>
802
+
803
+ </li>
804
+
805
+ <li>
806
+
807
+ <span class='name'>attributes</span>
808
+
809
+
810
+ <span class='type'>(<tt>Hash</tt>)</span>
811
+
812
+
813
+
814
+ &mdash;
815
+ <div class='inline'><p>Sanitized attributes (with concurrency_field included if passed)</p></div>
816
+
817
+ </li>
818
+
819
+ <li>
820
+
821
+ <span class='name'>context</span>
822
+
823
+
824
+ <span class='type'>(<tt>Hash</tt>)</span>
825
+
826
+
827
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
828
+
829
+
830
+ </li>
831
+
832
+ </ul>
833
+
834
+ <p class="tag_title">Returns:</p>
835
+ <ul class="return">
836
+
837
+ <li>
838
+
839
+
840
+ <span class='type'>(<tt>Hash</tt>)</span>
841
+
842
+
843
+
844
+ &mdash;
845
+ <div class='inline'><p>Protocol response hash with success, message, data</p></div>
846
+
847
+ </li>
848
+
849
+ </ul>
850
+ <p class="tag_title">Raises:</p>
851
+ <ul class="raise">
852
+
853
+ <li>
854
+
855
+
856
+ <span class='type'>(<tt><span class='object_link'><a href="../NotFoundError.html" title="Kabk::NotFoundError (class)">NotFoundError</a></span></tt>)</span>
857
+
858
+
859
+
860
+ &mdash;
861
+ <div class='inline'><p>If record doesn't exist</p></div>
862
+
863
+ </li>
864
+
865
+ <li>
866
+
867
+
868
+ <span class='type'>(<tt><span class='object_link'><a href="../ApiError.html" title="Kabk::ApiError (class)">ApiError</a></span></tt>)</span>
869
+
870
+
871
+
872
+ &mdash;
873
+ <div class='inline'><p>If OCC fails or unique constraint violated</p></div>
874
+
875
+ </li>
876
+
877
+ </ul>
878
+
879
+ </div><table class="source_code">
880
+ <tr>
881
+ <td>
882
+ <pre class="lines">
883
+
884
+
885
+ 86
886
+ 87
887
+ 88
888
+ 89
889
+ 90
890
+ 91
891
+ 92
892
+ 93
893
+ 94
894
+ 95
895
+ 96
896
+ 97
897
+ 98
898
+ 99
899
+ 100
900
+ 101
901
+ 102
902
+ 103
903
+ 104
904
+ 105
905
+ 106</pre>
906
+ </td>
907
+ <td>
908
+ <pre class="code"><span class="info file"># File 'lib/kabk/adapters/sequel_adapter.rb', line 86</span>
909
+
910
+ <span class='kw'>def</span> <span class='id identifier rubyid_update'>update</span><span class='lparen'>(</span><span class='id identifier rubyid_id'>id</span><span class='comma'>,</span> <span class='id identifier rubyid_attributes'>attributes</span><span class='comma'>,</span> <span class='label'>context:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
911
+ <span class='id identifier rubyid_record'>record</span> <span class='op'>=</span> <span class='ivar'>@resource</span><span class='period'>.</span><span class='id identifier rubyid_model_class'>model_class</span><span class='lbracket'>[</span><span class='id identifier rubyid_id'>id</span><span class='rbracket'>]</span>
912
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="../NotFoundError.html" title="Kabk::NotFoundError (class)">NotFoundError</a></span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Record not found</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>unless</span> <span class='id identifier rubyid_record'>record</span>
913
+
914
+ <span class='const'><span class='object_link'><a href="../Concurrency.html" title="Kabk::Concurrency (class)">Concurrency</a></span></span><span class='period'>.</span><span class='id identifier rubyid_check!'><span class='object_link'><a href="../Concurrency.html#check!-class_method" title="Kabk::Concurrency.check! (method)">check!</a></span></span><span class='lparen'>(</span><span class='ivar'>@resource</span><span class='comma'>,</span> <span class='id identifier rubyid_record'>record</span><span class='comma'>,</span> <span class='id identifier rubyid_attributes'>attributes</span><span class='rparen'>)</span>
915
+
916
+ <span class='id identifier rubyid_c_field'>c_field</span> <span class='op'>=</span> <span class='ivar'>@resource</span><span class='period'>.</span><span class='id identifier rubyid_concurrency_field'>concurrency_field</span><span class='op'>&amp;.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
917
+ <span class='id identifier rubyid_attributes'>attributes</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_c_field'>c_field</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_c_field'>c_field</span>
918
+
919
+ <span class='id identifier rubyid_record'>record</span><span class='period'>.</span><span class='id identifier rubyid_update'>update</span><span class='lparen'>(</span><span class='id identifier rubyid_attributes'>attributes</span><span class='rparen'>)</span>
920
+
921
+ <span class='id identifier rubyid_hydrated_records'>hydrated_records</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../RelationHydrator.html" title="Kabk::RelationHydrator (class)">RelationHydrator</a></span></span><span class='period'>.</span><span class='id identifier rubyid_hydrate'><span class='object_link'><a href="../RelationHydrator.html#hydrate-class_method" title="Kabk::RelationHydrator.hydrate (method)">hydrate</a></span></span><span class='lparen'>(</span><span class='ivar'>@resource</span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='id identifier rubyid_record'>record</span><span class='rbracket'>]</span><span class='rparen'>)</span>
922
+
923
+ <span class='lbrace'>{</span>
924
+ <span class='label'>success:</span> <span class='kw'>true</span><span class='comma'>,</span>
925
+ <span class='label'>message:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Operation completed successfully</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
926
+ <span class='label'>data:</span> <span class='id identifier rubyid_hydrated_records'>hydrated_records</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
927
+ <span class='rbrace'>}</span>
928
+ <span class='kw'>rescue</span> <span class='const'>Sequel</span><span class='op'>::</span><span class='const'>UniqueConstraintViolation</span>
929
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="../ApiError.html" title="Kabk::ApiError (class)">ApiError</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="../ApiError.html#initialize-instance_method" title="Kabk::ApiError#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Unique constraint violated</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='label'>code:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>CONFLICT</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='label'>http_status:</span> <span class='int'>409</span><span class='rparen'>)</span>
930
+ <span class='kw'>end</span></pre>
931
+ </td>
932
+ </tr>
933
+ </table>
934
+ </div>
935
+
936
+ </div>
937
+
938
+ </div>
939
+
940
+ <div id="footer">
941
+ Generated on Tue Aug 11 21:17:07 2026 by
942
+ <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
943
+ 0.9.45 (ruby-4.0.6).
944
+ </div>
945
+
946
+ </div>
947
+ </body>
948
+ </html>