rbcli 0.2.12 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- 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>Distributed State and Locking :: 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> > Distributed State and Locking
|
621
667
|
|
622
|
-
|
668
|
+
|
623
669
|
|
624
|
-
|
670
|
+
|
625
671
|
|
626
672
|
|
627
673
|
|
@@ -631,12 +677,9 @@
|
|
631
677
|
<div class="progress">
|
632
678
|
<div class="wrapper">
|
633
679
|
<nav id="TableOfContents">
|
634
|
-
<ul>
|
635
|
-
<li>
|
636
|
-
|
637
|
-
<li><a href="#manual-locking">Manual Locking</a></li>
|
638
|
-
</ul></li>
|
639
|
-
</ul>
|
680
|
+
<ul>
|
681
|
+
<li><a href="#manual-locking">Manual Locking</a></li>
|
682
|
+
</ul>
|
640
683
|
</nav>
|
641
684
|
</div>
|
642
685
|
</div>
|
@@ -660,13 +703,8 @@
|
|
660
703
|
|
661
704
|
|
662
705
|
|
663
|
-
|
664
|
-
|
665
|
-
|
666
706
|
<p>Distributed Locking allows a <a href="/rbcli/advanced/state_storage/">Remote State</a> to be shared among multiple users of the application to make writes appear atomic between sessions. To use it, simply set the <code>locking:</code> parameter to <code>true</code> when enabling remote state.</p>
|
667
|
-
|
668
707
|
<p>This is how locking works:</p>
|
669
|
-
|
670
708
|
<ol>
|
671
709
|
<li>The application attempts to acquire a lock on the remote state when you first access it</li>
|
672
710
|
<li>If the backend is locked by a different application, wait and try again</li>
|
@@ -676,27 +714,18 @@
|
|
676
714
|
<li>If another application steals the lock (unlikely but possible), and the application tries to save data, a <code>StandardError</code> will be thrown</li>
|
677
715
|
<li>You can manually attempt to lock/unlock by calling <code>Rbcli.remote_state.lock</code> or <code>Rbcli.remote_state.unlock</code>, respectively.</li>
|
678
716
|
</ol>
|
679
|
-
|
680
717
|
<h2 id="manual-locking">Manual Locking</h2>
|
681
|
-
|
682
718
|
<p>Remember: all state in Rbcli is lazy-loaded. Therefore, RBCli wll only attempt to lock the data when you first try to access it. If you need to make sure that the data is locked before executing a block of code, use:</p>
|
719
|
+
<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>refresh
|
720
|
+
</code></pre></div><p>to force the lock and retrieve the latest data. You can force an unlock by calling:</p>
|
721
|
+
<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>disconnect
|
722
|
+
</code></pre></div><p>Even if you do not want to store any data, you can leverage manual locking to control access to a different shared resource, such as a stateful API. For example, if you write a cloud deployment toolkit, you can ensure that only one user is attempting to modify a deployment at any given time.</p>
|
683
723
|
|
684
|
-
<pre><code class="language-ruby">Rbcli.remote_state.refresh
|
685
|
-
</code></pre>
|
686
|
-
|
687
|
-
<p>to force the lock and retrieve the latest data. You can force an unlock by calling:</p>
|
688
724
|
|
689
|
-
<
|
690
|
-
</code></pre>
|
691
|
-
|
692
|
-
<p>Even if you do not want to store any data, you can leverage manual locking to control access to a different shared resource, such as a stateful API. For example, if you write a cloud deployment toolkit, you can ensure that only one user is attempting to modify a deployment at any given time.</p>
|
693
|
-
|
694
|
-
|
695
|
-
<footer class=" footline" >
|
725
|
+
<footer class="footline">
|
696
726
|
|
697
727
|
</footer>
|
698
728
|
|
699
|
-
|
700
729
|
|
701
730
|
</div>
|
702
731
|
|
@@ -1124,20 +1153,19 @@
|
|
1124
1153
|
<div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
|
1125
1154
|
<div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
|
1126
1155
|
</div>
|
1127
|
-
<script src="/rbcli/js/clipboard.min.js?
|
1128
|
-
<script src="/rbcli/js/perfect-scrollbar.min.js?
|
1129
|
-
<script src="/rbcli/js/perfect-scrollbar.jquery.min.js?
|
1130
|
-
<script src="/rbcli/js/jquery.sticky.js?
|
1131
|
-
<script src="/rbcli/js/featherlight.min.js?
|
1132
|
-
<script src="/rbcli/js/
|
1133
|
-
<script src="/rbcli/js/highlight.pack.js?1561087612"></script>
|
1156
|
+
<script src="/rbcli/js/clipboard.min.js?1596148729"></script>
|
1157
|
+
<script src="/rbcli/js/perfect-scrollbar.min.js?1596148729"></script>
|
1158
|
+
<script src="/rbcli/js/perfect-scrollbar.jquery.min.js?1596148729"></script>
|
1159
|
+
<script src="/rbcli/js/jquery.sticky.js?1596148729"></script>
|
1160
|
+
<script src="/rbcli/js/featherlight.min.js?1596148729"></script>
|
1161
|
+
<script src="/rbcli/js/highlight.pack.js?1596148729"></script>
|
1134
1162
|
<script>hljs.initHighlightingOnLoad();</script>
|
1135
|
-
<script src="/rbcli/js/modernizr.custom-3.6.0.js?
|
1136
|
-
<script src="/rbcli/js/learn.js?
|
1137
|
-
<script src="/rbcli/js/hugo-learn.js?
|
1163
|
+
<script src="/rbcli/js/modernizr.custom-3.6.0.js?1596148729"></script>
|
1164
|
+
<script src="/rbcli/js/learn.js?1596148729"></script>
|
1165
|
+
<script src="/rbcli/js/hugo-learn.js?1596148729"></script>
|
1138
1166
|
|
1139
|
-
<link href="/rbcli/mermaid/mermaid.css?
|
1140
|
-
<script src="/rbcli/mermaid/mermaid.js?
|
1167
|
+
<link href="/rbcli/mermaid/mermaid.css?1596148729" rel="stylesheet" />
|
1168
|
+
<script src="/rbcli/mermaid/mermaid.js?1596148729"></script>
|
1141
1169
|
<script>
|
1142
1170
|
mermaid.initialize({ startOnLoad: true });
|
1143
1171
|
</script>
|
@@ -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>Execution Hooks :: 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> > Execution Hooks
|
621
667
|
|
622
|
-
|
668
|
+
|
623
669
|
|
624
|
-
|
670
|
+
|
625
671
|
|
626
672
|
|
627
673
|
|
@@ -631,15 +677,12 @@
|
|
631
677
|
<div class="progress">
|
632
678
|
<div class="wrapper">
|
633
679
|
<nav id="TableOfContents">
|
634
|
-
<ul>
|
635
|
-
<li>
|
636
|
-
<
|
637
|
-
<li><a href="#the-
|
638
|
-
<li><a href="#the-
|
639
|
-
|
640
|
-
<li><a href="#the-first-run-hook">The First-Run Hook</a></li>
|
641
|
-
</ul></li>
|
642
|
-
</ul>
|
680
|
+
<ul>
|
681
|
+
<li><a href="#the-defailt-action-hook">The Defailt Action Hook</a></li>
|
682
|
+
<li><a href="#the-pre-execution-hook">The Pre-Execution Hook</a></li>
|
683
|
+
<li><a href="#the-post-execution-hook">The Post-Execution Hook</a></li>
|
684
|
+
<li><a href="#the-first-run-hook">The First-Run Hook</a></li>
|
685
|
+
</ul>
|
643
686
|
</nav>
|
644
687
|
</div>
|
645
688
|
</div>
|
@@ -663,71 +706,42 @@
|
|
663
706
|
|
664
707
|
|
665
708
|
|
666
|
-
|
667
|
-
|
668
|
-
|
669
709
|
<p>RBCli provides you with hooks that can be used to have code execute at certain places in the execution chain. These hooks are optional, and do not have to be defined for your application to run.</p>
|
670
|
-
|
671
710
|
<p>All hooks will be created in the <code>hooks/</code> folder in your project.</p>
|
672
|
-
|
673
711
|
<h2 id="the-defailt-action-hook">The Defailt Action Hook</h2>
|
674
|
-
|
675
712
|
<p>The Default hook is called when a user calls your application without providing a command. If the hook is not provided, the application will automatically display the help text (the same as running it with <code>-h</code>).</p>
|
676
|
-
|
677
713
|
<p>To create it in your project, run:</p>
|
678
|
-
|
679
|
-
<
|
680
|
-
# or
|
714
|
+
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">rbcli hook --default
|
715
|
+
<span style="color:#75715e"># or</span>
|
681
716
|
rbcli hook -d
|
682
|
-
</code></pre>
|
683
|
-
|
684
|
-
<p>You will then find the hook under <code>hooks/default_action.rb</code>.</p>
|
685
|
-
|
717
|
+
</code></pre></div><p>You will then find the hook under <code>hooks/default_action.rb</code>.</p>
|
686
718
|
<h2 id="the-pre-execution-hook">The Pre-Execution Hook</h2>
|
687
|
-
|
688
719
|
<p>The Pre-Execution hook is called after the global command line options are parsed and before a command is executed.</p>
|
689
|
-
|
690
720
|
<p>To create it in your project, run:</p>
|
691
|
-
|
692
|
-
<
|
693
|
-
# or
|
721
|
+
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">rbcli hook --pre
|
722
|
+
<span style="color:#75715e"># or</span>
|
694
723
|
rbcli hook -p
|
695
|
-
</code></pre>
|
696
|
-
|
697
|
-
<p>You will then find the hook under <code>hooks/pre_execution.rb</code>.</p>
|
698
|
-
|
724
|
+
</code></pre></div><p>You will then find the hook under <code>hooks/pre_execution.rb</code>.</p>
|
699
725
|
<h2 id="the-post-execution-hook">The Post-Execution Hook</h2>
|
700
|
-
|
701
726
|
<p>The Pre-Execution hook is called after a command is executed.</p>
|
702
|
-
|
703
727
|
<p>To create it in your project, run:</p>
|
704
|
-
|
705
|
-
<
|
706
|
-
# or
|
728
|
+
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">rbcli hook --post
|
729
|
+
<span style="color:#75715e"># or</span>
|
707
730
|
rbcli hook -o
|
708
|
-
</code></pre>
|
709
|
-
|
710
|
-
<p>You will then find the hook under <code>hooks/post_execution.rb</code>.</p>
|
711
|
-
|
731
|
+
</code></pre></div><p>You will then find the hook under <code>hooks/post_execution.rb</code>.</p>
|
712
732
|
<h2 id="the-first-run-hook">The First-Run Hook</h2>
|
713
|
-
|
714
733
|
<p>The First-Run hook is called the first time a user executes your application. Using the first-run hook requires enabling <a href="/rbcli/advanced/state_storage/">Local State Storage</a> for persistence.</p>
|
715
|
-
|
716
734
|
<p>To create it in your project, run:</p>
|
717
|
-
|
718
|
-
<
|
719
|
-
# or
|
735
|
+
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">rbcli hook --firstrun
|
736
|
+
<span style="color:#75715e"># or</span>
|
720
737
|
rbcli hook -f
|
721
|
-
</code></pre>
|
738
|
+
</code></pre></div><p>You will then find the hook under <code>hooks/first_run.rb</code>.</p>
|
722
739
|
|
723
|
-
<p>You will then find the hook under <code>hooks/first_run.rb</code>.</p>
|
724
740
|
|
725
|
-
|
726
|
-
<footer class=" footline" >
|
741
|
+
<footer class="footline">
|
727
742
|
|
728
743
|
</footer>
|
729
744
|
|
730
|
-
|
731
745
|
|
732
746
|
</div>
|
733
747
|
|
@@ -1155,20 +1169,19 @@ rbcli hook -f
|
|
1155
1169
|
<div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
|
1156
1170
|
<div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
|
1157
1171
|
</div>
|
1158
|
-
<script src="/rbcli/js/clipboard.min.js?
|
1159
|
-
<script src="/rbcli/js/perfect-scrollbar.min.js?
|
1160
|
-
<script src="/rbcli/js/perfect-scrollbar.jquery.min.js?
|
1161
|
-
<script src="/rbcli/js/jquery.sticky.js?
|
1162
|
-
<script src="/rbcli/js/featherlight.min.js?
|
1163
|
-
<script src="/rbcli/js/
|
1164
|
-
<script src="/rbcli/js/highlight.pack.js?1561087612"></script>
|
1172
|
+
<script src="/rbcli/js/clipboard.min.js?1596148729"></script>
|
1173
|
+
<script src="/rbcli/js/perfect-scrollbar.min.js?1596148729"></script>
|
1174
|
+
<script src="/rbcli/js/perfect-scrollbar.jquery.min.js?1596148729"></script>
|
1175
|
+
<script src="/rbcli/js/jquery.sticky.js?1596148729"></script>
|
1176
|
+
<script src="/rbcli/js/featherlight.min.js?1596148729"></script>
|
1177
|
+
<script src="/rbcli/js/highlight.pack.js?1596148729"></script>
|
1165
1178
|
<script>hljs.initHighlightingOnLoad();</script>
|
1166
|
-
<script src="/rbcli/js/modernizr.custom-3.6.0.js?
|
1167
|
-
<script src="/rbcli/js/learn.js?
|
1168
|
-
<script src="/rbcli/js/hugo-learn.js?
|
1179
|
+
<script src="/rbcli/js/modernizr.custom-3.6.0.js?1596148729"></script>
|
1180
|
+
<script src="/rbcli/js/learn.js?1596148729"></script>
|
1181
|
+
<script src="/rbcli/js/hugo-learn.js?1596148729"></script>
|
1169
1182
|
|
1170
|
-
<link href="/rbcli/mermaid/mermaid.css?
|
1171
|
-
<script src="/rbcli/mermaid/mermaid.js?
|
1183
|
+
<link href="/rbcli/mermaid/mermaid.css?1596148729" rel="stylesheet" />
|
1184
|
+
<script src="/rbcli/mermaid/mermaid.js?1596148729"></script>
|
1172
1185
|
<script>
|
1173
1186
|
mermaid.initialize({ startOnLoad: true });
|
1174
1187
|
</script>
|