rbcli 0.2.12 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +15 -0
- data/Gemfile.lock +39 -38
- data/docs-src/content/development/changelog.md +16 -1
- data/docs-src/themes/hugo-theme-learn/CHANGELOG.md +74 -2
- data/docs-src/themes/hugo-theme-learn/README.md +42 -5
- data/docs-src/themes/hugo-theme-learn/exampleSite/config.toml +27 -0
- data/docs-src/themes/hugo-theme-learn/exampleSite/content/basics/_index.zh.md +12 -0
- data/docs-src/themes/hugo-theme-learn/exampleSite/content/basics/configuration/_index.en.md +6 -4
- data/docs-src/themes/hugo-theme-learn/exampleSite/content/basics/configuration/_index.fr.md +7 -5
- data/docs-src/themes/hugo-theme-learn/exampleSite/content/basics/installation/_index.en.md +1 -1
- data/docs-src/themes/hugo-theme-learn/exampleSite/content/cont/markdown.en.md +88 -61
- data/docs-src/themes/hugo-theme-learn/exampleSite/content/cont/pages/_index.fr.md +3 -3
- data/docs-src/themes/hugo-theme-learn/exampleSite/content/cont/syntaxhighlight.en.md +89 -0
- data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/_index.en.md +2 -2
- data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/notice.en.md +2 -2
- data/docs-src/themes/hugo-theme-learn/exampleSite/content/showcase.en.md +4 -1
- data/docs-src/themes/hugo-theme-learn/exampleSite/content/showcase.fr.md +4 -1
- data/docs-src/themes/hugo-theme-learn/exampleSite/static/fonts/monogramos-webfont.svg +1 -237
- data/docs-src/themes/hugo-theme-learn/exampleSite/static/images/showcase/inteliver_docs.png +0 -0
- data/docs-src/themes/hugo-theme-learn/exampleSite/static/images/showcase/tshark_dev.png +0 -0
- data/docs-src/themes/hugo-theme-learn/i18n/ar.toml +26 -0
- data/docs-src/themes/hugo-theme-learn/i18n/de.toml +26 -0
- data/docs-src/themes/hugo-theme-learn/i18n/hi.toml +26 -0
- data/docs-src/themes/hugo-theme-learn/i18n/ja.toml +26 -0
- data/docs-src/themes/hugo-theme-learn/i18n/ru.toml +26 -0
- data/docs-src/themes/hugo-theme-learn/i18n/zh-cn.toml +26 -0
- data/docs-src/themes/hugo-theme-learn/layouts/_default/list.html +1 -1
- data/docs-src/themes/hugo-theme-learn/layouts/_default/single.html +1 -2
- data/docs-src/themes/hugo-theme-learn/layouts/partials/footer.html +3 -4
- data/docs-src/themes/hugo-theme-learn/layouts/partials/header.html +8 -6
- data/docs-src/themes/hugo-theme-learn/layouts/partials/menu.html +6 -5
- data/docs-src/themes/hugo-theme-learn/layouts/shortcodes/children.html +2 -2
- data/docs-src/themes/hugo-theme-learn/layouts/shortcodes/ref.html +1 -1
- data/docs-src/themes/hugo-theme-learn/layouts/shortcodes/relref.html +1 -1
- data/docs-src/themes/hugo-theme-learn/netlify.toml +1 -2
- data/docs-src/themes/hugo-theme-learn/static/css/theme.css +4 -0
- data/docs-src/themes/hugo-theme-learn/static/fonts/Inconsolata.svg +1 -359
- data/docs-src/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.svg +1 -1019
- data/docs-src/themes/hugo-theme-learn/static/fonts/Novecentosanswide-UltraLight-webfont.svg +1 -918
- data/docs-src/themes/hugo-theme-learn/static/fonts/Work_Sans_200.svg +1 -332
- data/docs-src/themes/hugo-theme-learn/static/fonts/Work_Sans_300.svg +1 -331
- data/docs-src/themes/hugo-theme-learn/static/fonts/Work_Sans_500.svg +1 -333
- data/docs-src/themes/hugo-theme-learn/static/images/clippy.svg +1 -1
- data/docs-src/themes/hugo-theme-learn/static/js/auto-complete.js +3 -223
- data/docs-src/themes/hugo-theme-learn/static/js/highlight.pack.js +6 -3
- data/docs-src/themes/hugo-theme-learn/static/js/hugo-learn.js +8 -5
- data/docs-src/themes/hugo-theme-learn/static/webfonts/fa-brands-400.svg +1 -1260
- data/docs-src/themes/hugo-theme-learn/static/webfonts/fa-regular-400.svg +1 -471
- data/docs-src/themes/hugo-theme-learn/static/webfonts/fa-solid-900.svg +1 -2763
- data/docs/404.html +8 -8
- data/docs/advanced/automatic_updates/index.html +85 -65
- data/docs/advanced/command_types/index.html +139 -144
- data/docs/advanced/distributed_state_locking/index.html +83 -55
- data/docs/advanced/hooks/index.html +94 -81
- data/docs/advanced/index.html +75 -34
- data/docs/advanced/index.xml +8 -8
- data/docs/advanced/interactive_commands/index.html +90 -66
- data/docs/advanced/logging/index.html +94 -67
- data/docs/advanced/remote_execution/index.html +94 -75
- data/docs/advanced/state_storage/index.html +122 -119
- data/docs/advanced/user_config_files/index.html +94 -71
- data/docs/categories/index.html +82 -30
- data/docs/categories/index.xml +1 -1
- data/docs/css/theme.css +4 -0
- data/docs/development/changelog/index.html +185 -177
- data/docs/development/code_of_conduct/index.html +85 -64
- data/docs/development/contributing/index.html +96 -96
- data/docs/development/index.html +75 -34
- data/docs/development/index.xml +2 -2
- data/docs/development/license/index.html +80 -46
- data/docs/fonts/Inconsolata.svg +1 -359
- data/docs/fonts/Novecentosanswide-Normal-webfont.svg +1 -1019
- data/docs/fonts/Novecentosanswide-UltraLight-webfont.svg +1 -918
- data/docs/fonts/Work_Sans_200.svg +1 -332
- data/docs/fonts/Work_Sans_300.svg +1 -331
- data/docs/fonts/Work_Sans_500.svg +1 -333
- data/docs/images/clippy.svg +1 -1
- data/docs/index.html +112 -61
- data/docs/index.json +24 -24
- data/docs/index.xml +13 -13
- data/docs/js/auto-complete.js +3 -223
- data/docs/js/highlight.pack.js +6 -3
- data/docs/js/hugo-learn.js +8 -5
- data/docs/quick_reference/index.html +126 -159
- data/docs/quick_reference/index.xml +1 -1
- data/docs/sitemap.xml +2 -4
- data/docs/tags/index.html +82 -30
- data/docs/tags/index.xml +1 -1
- data/docs/tutorial/10-getting_started/index.html +87 -66
- data/docs/tutorial/20-project_layout/index.html +126 -116
- data/docs/tutorial/30-your_first_command/index.html +151 -141
- data/docs/tutorial/40-options_parameters_and_arguments/index.html +233 -258
- data/docs/tutorial/50-publishing/index.html +86 -66
- data/docs/tutorial/index.html +75 -34
- data/docs/tutorial/index.xml +4 -4
- data/docs/webfonts/fa-brands-400.svg +1 -1260
- data/docs/webfonts/fa-regular-400.svg +1 -471
- data/docs/webfonts/fa-solid-900.svg +1 -2763
- data/docs/whoami/index.html +76 -46
- data/docs/whoami/index.xml +1 -1
- data/lib/rbcli/configuration/configurate_blocks/me.rb +5 -5
- data/lib/rbcli/util/deprecation_warning.rb +21 -4
- data/lib/rbcli/version.rb +1 -1
- data/rbcli.gemspec +8 -8
- data/skeletons/project/Gemfile +1 -1
- data/skeletons/project/config/general.rb +1 -1
- data/skeletons/project/lib/lib.erb +2 -0
- data/skeletons/project/spec/spec_helper.rb +7 -7
- data/skeletons/project/spec/untitled_spec.rb +6 -6
- data/skeletons/project/untitled.gemspec +28 -26
- metadata +29 -20
- data/docs-src/themes/hugo-theme-learn/static/js/html5shiv-printshiv.min.js +0 -4
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="utf-8">
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<meta name="generator" content="Hugo 0.
|
|
6
|
+
<meta name="generator" content="Hugo 0.74.3" />
|
|
7
7
|
<meta name="description" content="">
|
|
8
8
|
|
|
9
9
|
|
|
@@ -12,20 +12,21 @@
|
|
|
12
12
|
<title>State Storage :: RBCli Documentation</title>
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
<link href="/rbcli/css/nucleus.css?
|
|
16
|
-
<link href="/rbcli/css/fontawesome-all.min.css?
|
|
17
|
-
<link href="/rbcli/css/hybrid.css?
|
|
18
|
-
<link href="/rbcli/css/featherlight.min.css?
|
|
19
|
-
<link href="/rbcli/css/perfect-scrollbar.min.css?
|
|
20
|
-
<link href="/rbcli/css/auto-complete.css?
|
|
21
|
-
<link href="/rbcli/css/atom-one-dark-reasonable.css?
|
|
22
|
-
<link href="/rbcli/css/theme.css?
|
|
23
|
-
<link href="/rbcli/css/hugo-theme.css?
|
|
15
|
+
<link href="/rbcli/css/nucleus.css?1596148729" rel="stylesheet">
|
|
16
|
+
<link href="/rbcli/css/fontawesome-all.min.css?1596148729" rel="stylesheet">
|
|
17
|
+
<link href="/rbcli/css/hybrid.css?1596148729" rel="stylesheet">
|
|
18
|
+
<link href="/rbcli/css/featherlight.min.css?1596148729" rel="stylesheet">
|
|
19
|
+
<link href="/rbcli/css/perfect-scrollbar.min.css?1596148729" rel="stylesheet">
|
|
20
|
+
<link href="/rbcli/css/auto-complete.css?1596148729" rel="stylesheet">
|
|
21
|
+
<link href="/rbcli/css/atom-one-dark-reasonable.css?1596148729" rel="stylesheet">
|
|
22
|
+
<link href="/rbcli/css/theme.css?1596148729" rel="stylesheet">
|
|
23
|
+
<link href="/rbcli/css/hugo-theme.css?1596148729" rel="stylesheet">
|
|
24
|
+
|
|
25
|
+
<link href="/rbcli/css/theme-blue.css?1596148729" rel="stylesheet">
|
|
24
26
|
|
|
25
|
-
<link href="/rbcli/css/theme-blue.css?1561087612" rel="stylesheet">
|
|
26
27
|
|
|
27
28
|
|
|
28
|
-
<script src="/rbcli/js/jquery-3.3.1.min.js?
|
|
29
|
+
<script src="/rbcli/js/jquery-3.3.1.min.js?1596148729"></script>
|
|
29
30
|
|
|
30
31
|
<style>
|
|
31
32
|
:root #header + #content > #left > #rlblock_left{
|
|
@@ -54,14 +55,14 @@
|
|
|
54
55
|
<span data-search-clear=""><i class="fas fa-times"></i></span>
|
|
55
56
|
</div>
|
|
56
57
|
|
|
57
|
-
<script type="text/javascript" src="/rbcli/js/lunr.min.js?
|
|
58
|
-
<script type="text/javascript" src="/rbcli/js/auto-complete.js?
|
|
58
|
+
<script type="text/javascript" src="/rbcli/js/lunr.min.js?1596148729"></script>
|
|
59
|
+
<script type="text/javascript" src="/rbcli/js/auto-complete.js?1596148729"></script>
|
|
59
60
|
<script type="text/javascript">
|
|
60
61
|
|
|
61
62
|
var baseurl = "https:\/\/akhoury6.github.io\/rbcli\/";
|
|
62
63
|
|
|
63
64
|
</script>
|
|
64
|
-
<script type="text/javascript" src="/rbcli/js/search.js?
|
|
65
|
+
<script type="text/javascript" src="/rbcli/js/search.js?1596148729"></script>
|
|
65
66
|
|
|
66
67
|
|
|
67
68
|
</div>
|
|
@@ -74,6 +75,8 @@
|
|
|
74
75
|
|
|
75
76
|
|
|
76
77
|
|
|
78
|
+
|
|
79
|
+
|
|
77
80
|
|
|
78
81
|
|
|
79
82
|
|
|
@@ -96,6 +99,8 @@
|
|
|
96
99
|
|
|
97
100
|
|
|
98
101
|
|
|
102
|
+
|
|
103
|
+
|
|
99
104
|
|
|
100
105
|
|
|
101
106
|
|
|
@@ -121,6 +126,8 @@
|
|
|
121
126
|
|
|
122
127
|
|
|
123
128
|
|
|
129
|
+
|
|
130
|
+
|
|
124
131
|
|
|
125
132
|
|
|
126
133
|
|
|
@@ -140,6 +147,8 @@
|
|
|
140
147
|
|
|
141
148
|
|
|
142
149
|
|
|
150
|
+
|
|
151
|
+
|
|
143
152
|
|
|
144
153
|
|
|
145
154
|
|
|
@@ -159,6 +168,8 @@
|
|
|
159
168
|
|
|
160
169
|
|
|
161
170
|
|
|
171
|
+
|
|
172
|
+
|
|
162
173
|
|
|
163
174
|
|
|
164
175
|
|
|
@@ -178,6 +189,8 @@
|
|
|
178
189
|
|
|
179
190
|
|
|
180
191
|
|
|
192
|
+
|
|
193
|
+
|
|
181
194
|
|
|
182
195
|
|
|
183
196
|
|
|
@@ -197,6 +210,8 @@
|
|
|
197
210
|
|
|
198
211
|
|
|
199
212
|
|
|
213
|
+
|
|
214
|
+
|
|
200
215
|
|
|
201
216
|
|
|
202
217
|
|
|
@@ -223,6 +238,8 @@
|
|
|
223
238
|
|
|
224
239
|
|
|
225
240
|
|
|
241
|
+
|
|
242
|
+
|
|
226
243
|
|
|
227
244
|
|
|
228
245
|
|
|
@@ -248,6 +265,8 @@
|
|
|
248
265
|
|
|
249
266
|
|
|
250
267
|
|
|
268
|
+
|
|
269
|
+
|
|
251
270
|
|
|
252
271
|
|
|
253
272
|
|
|
@@ -267,6 +286,8 @@
|
|
|
267
286
|
|
|
268
287
|
|
|
269
288
|
|
|
289
|
+
|
|
290
|
+
|
|
270
291
|
|
|
271
292
|
|
|
272
293
|
|
|
@@ -286,6 +307,8 @@
|
|
|
286
307
|
|
|
287
308
|
|
|
288
309
|
|
|
310
|
+
|
|
311
|
+
|
|
289
312
|
|
|
290
313
|
|
|
291
314
|
|
|
@@ -305,6 +328,8 @@
|
|
|
305
328
|
|
|
306
329
|
|
|
307
330
|
|
|
331
|
+
|
|
332
|
+
|
|
308
333
|
|
|
309
334
|
|
|
310
335
|
|
|
@@ -324,6 +349,8 @@
|
|
|
324
349
|
|
|
325
350
|
|
|
326
351
|
|
|
352
|
+
|
|
353
|
+
|
|
327
354
|
|
|
328
355
|
|
|
329
356
|
|
|
@@ -343,6 +370,8 @@
|
|
|
343
370
|
|
|
344
371
|
|
|
345
372
|
|
|
373
|
+
|
|
374
|
+
|
|
346
375
|
|
|
347
376
|
|
|
348
377
|
|
|
@@ -362,6 +391,8 @@
|
|
|
362
391
|
|
|
363
392
|
|
|
364
393
|
|
|
394
|
+
|
|
395
|
+
|
|
365
396
|
|
|
366
397
|
|
|
367
398
|
|
|
@@ -381,6 +412,8 @@
|
|
|
381
412
|
|
|
382
413
|
|
|
383
414
|
|
|
415
|
+
|
|
416
|
+
|
|
384
417
|
|
|
385
418
|
|
|
386
419
|
|
|
@@ -400,6 +433,8 @@
|
|
|
400
433
|
|
|
401
434
|
|
|
402
435
|
|
|
436
|
+
|
|
437
|
+
|
|
403
438
|
|
|
404
439
|
|
|
405
440
|
|
|
@@ -426,6 +461,8 @@
|
|
|
426
461
|
|
|
427
462
|
|
|
428
463
|
|
|
464
|
+
|
|
465
|
+
|
|
429
466
|
|
|
430
467
|
|
|
431
468
|
|
|
@@ -451,6 +488,8 @@
|
|
|
451
488
|
|
|
452
489
|
|
|
453
490
|
|
|
491
|
+
|
|
492
|
+
|
|
454
493
|
|
|
455
494
|
|
|
456
495
|
|
|
@@ -470,6 +509,8 @@
|
|
|
470
509
|
|
|
471
510
|
|
|
472
511
|
|
|
512
|
+
|
|
513
|
+
|
|
473
514
|
|
|
474
515
|
|
|
475
516
|
|
|
@@ -489,6 +530,8 @@
|
|
|
489
530
|
|
|
490
531
|
|
|
491
532
|
|
|
533
|
+
|
|
534
|
+
|
|
492
535
|
|
|
493
536
|
|
|
494
537
|
|
|
@@ -508,6 +551,8 @@
|
|
|
508
551
|
|
|
509
552
|
|
|
510
553
|
|
|
554
|
+
|
|
555
|
+
|
|
511
556
|
|
|
512
557
|
|
|
513
558
|
|
|
@@ -534,6 +579,8 @@
|
|
|
534
579
|
|
|
535
580
|
|
|
536
581
|
|
|
582
|
+
|
|
583
|
+
|
|
537
584
|
|
|
538
585
|
|
|
539
586
|
|
|
@@ -585,7 +632,6 @@
|
|
|
585
632
|
|
|
586
633
|
|
|
587
634
|
|
|
588
|
-
|
|
589
635
|
<section id="body">
|
|
590
636
|
<div id="overlay"></div>
|
|
591
637
|
<div class="padding highlightable">
|
|
@@ -619,9 +665,9 @@
|
|
|
619
665
|
|
|
620
666
|
<a href='/rbcli/'></a> > <a href='/rbcli/advanced/'>Advanced</a> > State Storage
|
|
621
667
|
|
|
622
|
-
|
|
668
|
+
|
|
623
669
|
|
|
624
|
-
|
|
670
|
+
|
|
625
671
|
|
|
626
672
|
|
|
627
673
|
|
|
@@ -631,21 +677,20 @@
|
|
|
631
677
|
<div class="progress">
|
|
632
678
|
<div class="wrapper">
|
|
633
679
|
<nav id="TableOfContents">
|
|
634
|
-
<ul>
|
|
635
|
-
<li>
|
|
636
|
-
<ul>
|
|
637
|
-
<li><a href="#
|
|
638
|
-
<
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
<
|
|
643
|
-
<
|
|
644
|
-
<li><a href="#
|
|
645
|
-
|
|
646
|
-
</
|
|
647
|
-
</ul
|
|
648
|
-
</ul>
|
|
680
|
+
<ul>
|
|
681
|
+
<li><a href="#local-state">Local State</a>
|
|
682
|
+
<ul>
|
|
683
|
+
<li><a href="#configuration">Configuration</a></li>
|
|
684
|
+
<li><a href="#access-and-usage">Access and Usage</a></li>
|
|
685
|
+
</ul>
|
|
686
|
+
</li>
|
|
687
|
+
<li><a href="#remote-state">Remote State</a>
|
|
688
|
+
<ul>
|
|
689
|
+
<li><a href="#configuration-1">Configuration</a></li>
|
|
690
|
+
<li><a href="#access-and-usage-1">Access and Usage</a></li>
|
|
691
|
+
</ul>
|
|
692
|
+
</li>
|
|
693
|
+
</ul>
|
|
649
694
|
</nav>
|
|
650
695
|
</div>
|
|
651
696
|
</div>
|
|
@@ -669,56 +714,38 @@
|
|
|
669
714
|
|
|
670
715
|
|
|
671
716
|
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
717
|
<p>RBCli supports both local and remote state storage. This is done by synchronizing a Hash with either the local disk or a remote database.</p>
|
|
676
|
-
|
|
677
718
|
<h2 id="local-state">Local State</h2>
|
|
678
|
-
|
|
679
719
|
<p>RBCli’s local state storage gives you access to a hash that is automatically persisted to disk when changes are made.</p>
|
|
680
|
-
|
|
681
720
|
<h3 id="configuration">Configuration</h3>
|
|
682
|
-
|
|
683
721
|
<p>You can configure it in <code>config/storage.rb</code>.</p>
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
</code></pre>
|
|
687
|
-
|
|
688
|
-
<p>There are three parameters to configure it with:</p>
|
|
689
|
-
|
|
722
|
+
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-ruby" data-lang="ruby">local_state <span style="color:#e6db74">'/var/mytool/localstate'</span>, <span style="color:#e6db74">force_creation</span>: <span style="color:#66d9ef">true</span>, <span style="color:#e6db74">halt_on_error</span>: <span style="color:#66d9ef">true</span>
|
|
723
|
+
</code></pre></div><p>There are three parameters to configure it with:</p>
|
|
690
724
|
<ul>
|
|
691
725
|
<li>The <code>path</code> as a string (self-explanatory)</li>
|
|
692
726
|
<li><code>force_creation</code>
|
|
693
|
-
|
|
694
727
|
<ul>
|
|
695
728
|
<li>This will attempt to create the path and file if it does not exist (equivalent to an <code>mkdir -p</code> and <code>touch</code> in linux)</li>
|
|
696
|
-
</ul
|
|
729
|
+
</ul>
|
|
730
|
+
</li>
|
|
697
731
|
<li><code>halt_on_error</code>
|
|
698
|
-
|
|
699
732
|
<ul>
|
|
700
733
|
<li>RBCli’s default behavior is to raise an exception if the file can not be created, read, or updated at any point in time</li>
|
|
701
734
|
<li>If this is set to <code>false</code>, RBCli will silence any errors pertaining to file access and will fall back to whatever data is available. Note that if this is enabled, changes made to the state may not be persisted to disk.
|
|
702
|
-
|
|
703
735
|
<ul>
|
|
704
736
|
<li>If creation fails and file does not exist, you start with an empty hash</li>
|
|
705
737
|
<li>If file exists but can’t be read, you will have an empty hash</li>
|
|
706
738
|
<li>If file can be read but not written, the hash will be populated with the data. Writes will be stored in memory while the application is running, but will not be persisted to disk.</li>
|
|
707
|
-
</ul></li>
|
|
708
|
-
</ul></li>
|
|
709
739
|
</ul>
|
|
710
|
-
|
|
740
|
+
</li>
|
|
741
|
+
</ul>
|
|
742
|
+
</li>
|
|
743
|
+
</ul>
|
|
711
744
|
<h3 id="access-and-usage">Access and Usage</h3>
|
|
712
|
-
|
|
713
745
|
<p>Once configured you can access it with a standard hash syntax in your Standard Commands:</p>
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
</code></pre>
|
|
717
|
-
|
|
718
|
-
<p>The methods available for use at the top level are as follows:</p>
|
|
719
|
-
|
|
746
|
+
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-ruby" data-lang="ruby"><span style="color:#66d9ef">Rbcli</span><span style="color:#f92672">.</span>local_state<span style="color:#f92672">[</span><span style="color:#e6db74">:yourkeyhere</span><span style="color:#f92672">]</span>
|
|
747
|
+
</code></pre></div><p>The methods available for use at the top level are as follows:</p>
|
|
720
748
|
<p>Hash native methods:</p>
|
|
721
|
-
|
|
722
749
|
<ul>
|
|
723
750
|
<li><code>[]</code> (Regular hash syntax. Keys are accessed via either symbols or strings indifferently.)</li>
|
|
724
751
|
<li><code>[]=</code> (Assignment operator)</li>
|
|
@@ -726,107 +753,84 @@
|
|
|
726
753
|
<li><code>each</code></li>
|
|
727
754
|
<li><code>key?</code></li>
|
|
728
755
|
</ul>
|
|
729
|
-
|
|
730
756
|
<p>Additional methods:</p>
|
|
731
|
-
|
|
732
757
|
<ul>
|
|
733
758
|
<li><code>commit</code>
|
|
734
|
-
|
|
735
759
|
<ul>
|
|
736
760
|
<li>Every assignment to the top level of the hash will result in a write to disk (for example: <code>Rbcli.local_state[:yourkey] = 'foo'</code>). However, if you are manipulating nested hashes, these saves will not be triggered. You can trigger them manually by calling <code>commit</code>.</li>
|
|
737
|
-
</ul
|
|
761
|
+
</ul>
|
|
762
|
+
</li>
|
|
738
763
|
<li><code>clear</code>
|
|
739
|
-
|
|
740
764
|
<ul>
|
|
741
765
|
<li>Resets the data back to an empty hash.</li>
|
|
742
|
-
</ul
|
|
766
|
+
</ul>
|
|
767
|
+
</li>
|
|
743
768
|
<li><code>refresh</code>
|
|
744
|
-
|
|
745
769
|
<ul>
|
|
746
770
|
<li>Loads the most current version of the data from the disk</li>
|
|
747
|
-
</ul
|
|
771
|
+
</ul>
|
|
772
|
+
</li>
|
|
748
773
|
<li><code>disconnect</code>
|
|
749
|
-
|
|
750
774
|
<ul>
|
|
751
775
|
<li>Removes the data from memory and sets <code>Rbcli.local_state = nil</code>. Data will be read from disk again on next access.</li>
|
|
752
|
-
</ul></li>
|
|
753
776
|
</ul>
|
|
754
|
-
|
|
777
|
+
</li>
|
|
778
|
+
</ul>
|
|
755
779
|
<p>Every assignment will result in a write to disk, so if an operation will require a large number of assignments/writes it should be performed to a different hash before beign assigned to this one.</p>
|
|
756
|
-
|
|
757
780
|
<h2 id="remote-state">Remote State</h2>
|
|
758
|
-
|
|
759
781
|
<p>RBCli’s remote state storage gives you access to a hash that is automatically persisted to a remote storage location when changes are made. It has optional locking built-in, meaning that multiple users may share remote state without any data consistency issues.</p>
|
|
760
|
-
|
|
761
782
|
<p>Currently, this feature requires AWS DynamoDB, though other backend systems will be added in the future.</p>
|
|
762
|
-
|
|
763
783
|
<h3 id="configuration-1">Configuration</h3>
|
|
764
|
-
|
|
765
784
|
<p>Before DynamoDB can be used, AWS API credentials have to be created and made available. RBCli will attempt to find credentials from the following locations in order:</p>
|
|
766
|
-
|
|
767
785
|
<ol>
|
|
768
786
|
<li>User’s config file</li>
|
|
769
787
|
<li>Environment variables <code>AWS_ACCESS_KEY_ID</code> and <code>AWS_SECRET_ACCESS_KEY</code></li>
|
|
770
788
|
<li>User’s AWSCLI configuration at <code>~/.aws/credentials</code></li>
|
|
771
789
|
</ol>
|
|
772
|
-
|
|
773
790
|
<p>For more information about generating and storing AWS credentials, see <a href="https://docs.aws.amazon.com/sdk-for-ruby/v3/developer-guide/setup-config.html">Configuring the AWS SDK for Ruby</a>. Please make sure that your users are aware that they will need to provide their own credentials to use this feature.</p>
|
|
774
|
-
|
|
775
791
|
<p>You can configure it in <code>config/storage.rb</code>.</p>
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
</code></pre>
|
|
779
|
-
|
|
780
|
-
<p>These are the parameters:</p>
|
|
781
|
-
|
|
792
|
+
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-ruby" data-lang="ruby">remote_state_dynamodb <span style="color:#e6db74">table_name</span>: <span style="color:#e6db74">'mytable'</span>, <span style="color:#e6db74">region</span>: <span style="color:#e6db74">'us-east-1'</span>, <span style="color:#e6db74">force_creation</span>: <span style="color:#66d9ef">true</span>, <span style="color:#e6db74">halt_on_error</span>: <span style="color:#66d9ef">true</span>, <span style="color:#e6db74">locking</span>: <span style="color:#66d9ef">false</span>
|
|
793
|
+
</code></pre></div><p>These are the parameters:</p>
|
|
782
794
|
<ul>
|
|
783
795
|
<li><code>table_name</code>
|
|
784
|
-
|
|
785
796
|
<ul>
|
|
786
797
|
<li>The name of the DynamoDB table to use.</li>
|
|
787
|
-
</ul
|
|
798
|
+
</ul>
|
|
799
|
+
</li>
|
|
788
800
|
<li><code>region</code>
|
|
789
|
-
|
|
790
801
|
<ul>
|
|
791
802
|
<li>The AWS region that the database is located</li>
|
|
792
|
-
</ul
|
|
803
|
+
</ul>
|
|
804
|
+
</li>
|
|
793
805
|
<li><code>force_creation</code>
|
|
794
|
-
|
|
795
806
|
<ul>
|
|
796
807
|
<li>Creates the DynamoDB table if it does not already exist</li>
|
|
797
|
-
</ul
|
|
808
|
+
</ul>
|
|
809
|
+
</li>
|
|
798
810
|
<li><code>halt_on_error</code>
|
|
799
|
-
|
|
800
811
|
<ul>
|
|
801
812
|
<li>Similar to the way <a href="#local-state">Local State</a> works, setting this to <code>false</code> will silence any errors in connecting to the DynamoDB table. Instead, your application will simply have access to an empty hash that does not get persisted anywhere.</li>
|
|
802
813
|
<li>This is good for use cases that involve using this storage as a cache, where a connection error might mean the feature doesn’t work but its not important enough to interrupt the user.</li>
|
|
803
|
-
</ul
|
|
814
|
+
</ul>
|
|
815
|
+
</li>
|
|
804
816
|
<li><code>locking</code>
|
|
805
|
-
|
|
806
817
|
<ul>
|
|
807
818
|
<li>Setting this to <code>true</code> enables locking, meaning only one instance of your application can access the shared data at any given time. For more information see <a href="/rbcli/advanced/distributed_state_locking/">Distributed State Locking</a>.</li>
|
|
808
|
-
</ul></li>
|
|
809
819
|
</ul>
|
|
810
|
-
|
|
820
|
+
</li>
|
|
821
|
+
</ul>
|
|
811
822
|
<h3 id="access-and-usage-1">Access and Usage</h3>
|
|
812
|
-
|
|
813
823
|
<p>Once configured you can access it with a standard hash syntax:</p>
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
</code></pre>
|
|
817
|
-
|
|
818
|
-
<p>This works the same way that <a href="#local-state">Local State</a> does, with the same performance caveats (try not to write too frequently).</p>
|
|
819
|
-
|
|
824
|
+
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-ruby" data-lang="ruby"><span style="color:#66d9ef">Rbcli</span><span style="color:#f92672">.</span>remote_state<span style="color:#f92672">[</span><span style="color:#e6db74">:yourkeyhere</span><span style="color:#f92672">]</span>
|
|
825
|
+
</code></pre></div><p>This works the same way that <a href="#local-state">Local State</a> does, with the same performance caveats (try not to write too frequently).</p>
|
|
820
826
|
<p>Note that all state in Rbcli is <strong>lazy-loaded</strong>, so no connections will be made until your code attempts to access the data even if the feature is enabled.</p>
|
|
821
|
-
|
|
822
827
|
<p>For more information on the available commands, see the documentation on <a href="#local-state">Local State</a></p>
|
|
823
828
|
|
|
824
829
|
|
|
825
|
-
<footer class="
|
|
830
|
+
<footer class="footline">
|
|
826
831
|
|
|
827
832
|
</footer>
|
|
828
833
|
|
|
829
|
-
|
|
830
834
|
|
|
831
835
|
</div>
|
|
832
836
|
|
|
@@ -1254,20 +1258,19 @@
|
|
|
1254
1258
|
<div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
|
|
1255
1259
|
<div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
|
|
1256
1260
|
</div>
|
|
1257
|
-
<script src="/rbcli/js/clipboard.min.js?
|
|
1258
|
-
<script src="/rbcli/js/perfect-scrollbar.min.js?
|
|
1259
|
-
<script src="/rbcli/js/perfect-scrollbar.jquery.min.js?
|
|
1260
|
-
<script src="/rbcli/js/jquery.sticky.js?
|
|
1261
|
-
<script src="/rbcli/js/featherlight.min.js?
|
|
1262
|
-
<script src="/rbcli/js/
|
|
1263
|
-
<script src="/rbcli/js/highlight.pack.js?1561087612"></script>
|
|
1261
|
+
<script src="/rbcli/js/clipboard.min.js?1596148729"></script>
|
|
1262
|
+
<script src="/rbcli/js/perfect-scrollbar.min.js?1596148729"></script>
|
|
1263
|
+
<script src="/rbcli/js/perfect-scrollbar.jquery.min.js?1596148729"></script>
|
|
1264
|
+
<script src="/rbcli/js/jquery.sticky.js?1596148729"></script>
|
|
1265
|
+
<script src="/rbcli/js/featherlight.min.js?1596148729"></script>
|
|
1266
|
+
<script src="/rbcli/js/highlight.pack.js?1596148729"></script>
|
|
1264
1267
|
<script>hljs.initHighlightingOnLoad();</script>
|
|
1265
|
-
<script src="/rbcli/js/modernizr.custom-3.6.0.js?
|
|
1266
|
-
<script src="/rbcli/js/learn.js?
|
|
1267
|
-
<script src="/rbcli/js/hugo-learn.js?
|
|
1268
|
+
<script src="/rbcli/js/modernizr.custom-3.6.0.js?1596148729"></script>
|
|
1269
|
+
<script src="/rbcli/js/learn.js?1596148729"></script>
|
|
1270
|
+
<script src="/rbcli/js/hugo-learn.js?1596148729"></script>
|
|
1268
1271
|
|
|
1269
|
-
<link href="/rbcli/mermaid/mermaid.css?
|
|
1270
|
-
<script src="/rbcli/mermaid/mermaid.js?
|
|
1272
|
+
<link href="/rbcli/mermaid/mermaid.css?1596148729" rel="stylesheet" />
|
|
1273
|
+
<script src="/rbcli/mermaid/mermaid.js?1596148729"></script>
|
|
1271
1274
|
<script>
|
|
1272
1275
|
mermaid.initialize({ startOnLoad: true });
|
|
1273
1276
|
</script>
|