rbcli 0.3.0 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +17 -0
  3. data/Gemfile.lock +55 -51
  4. data/README.md +2 -2
  5. data/docs/404.html +8 -8
  6. data/docs/advanced/automatic_updates/index.html +28 -28
  7. data/docs/advanced/command_types/index.html +35 -35
  8. data/docs/advanced/distributed_state_locking/index.html +28 -28
  9. data/docs/advanced/hooks/index.html +30 -30
  10. data/docs/advanced/index.html +26 -26
  11. data/docs/advanced/index.xml +2 -6
  12. data/docs/advanced/interactive_commands/index.html +29 -29
  13. data/docs/advanced/logging/index.html +32 -32
  14. data/docs/advanced/remote_execution/index.html +31 -31
  15. data/docs/advanced/state_storage/index.html +30 -30
  16. data/docs/advanced/user_config_files/index.html +28 -28
  17. data/docs/categories/index.html +26 -26
  18. data/docs/categories/index.xml +2 -6
  19. data/docs/development/changelog/index.html +53 -40
  20. data/docs/development/code_of_conduct/index.html +27 -27
  21. data/docs/development/contributing/index.html +32 -32
  22. data/docs/development/index.html +26 -26
  23. data/docs/development/index.xml +3 -7
  24. data/docs/development/license/index.html +26 -26
  25. data/docs/index.html +26 -26
  26. data/docs/index.json +3 -3
  27. data/docs/index.xml +3 -7
  28. data/docs/quick_reference/index.html +39 -39
  29. data/docs/quick_reference/index.xml +2 -6
  30. data/docs/sitemap.xml +26 -78
  31. data/docs/tags/index.html +26 -26
  32. data/docs/tags/index.xml +2 -6
  33. data/docs/tutorial/10-getting_started/index.html +29 -29
  34. data/docs/tutorial/20-project_layout/index.html +29 -29
  35. data/docs/tutorial/30-your_first_command/index.html +32 -32
  36. data/docs/tutorial/40-options_parameters_and_arguments/index.html +41 -41
  37. data/docs/tutorial/50-publishing/index.html +27 -27
  38. data/docs/tutorial/index.html +26 -26
  39. data/docs/tutorial/index.xml +2 -6
  40. data/docs/whoami/index.html +26 -26
  41. data/docs/whoami/index.xml +2 -6
  42. data/docs-src/content/development/changelog.md +9 -0
  43. data/docs-src/content/quick_reference/_index.md +2 -2
  44. data/exe/rbcli +1 -1
  45. data/lib/rbcli/configuration/configurate.rb +1 -1
  46. data/lib/rbcli/engine/command.rb +2 -1
  47. data/lib/rbcli/engine/load_project.rb +1 -1
  48. data/lib/rbcli/features/userconfig.rb +3 -3
  49. data/lib/rbcli/state_storage/localstate.rb +1 -1
  50. data/lib/rbcli/version.rb +1 -1
  51. data/lib/rbcli-tool/generators.rb +3 -3
  52. data/lib/rbcli-tool/mdless_fix.rb +1 -1
  53. data/lib/rbcli-tool/project.rb +3 -3
  54. data/lib/rbcli-tool/util.rb +2 -2
  55. data/rbcli.gemspec +11 -13
  56. data/skeletons/project/application/commands/scripts/script.sh +6 -1
  57. data/skeletons/project/untitled.gemspec +3 -3
  58. metadata +32 -32
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 558f89fc85c5ce81beadc393101cee8e2af7cefb082bb0af255a60d33a58dd3e
4
- data.tar.gz: 8d19d26b6ee7612cef2d5f2e4e8f8d47b509dc759fc759091606b7d71bd56f66
3
+ metadata.gz: 4e63232bea903fe35c860d5eef3b5f19424820b09957d18bb95638b2b5eef778
4
+ data.tar.gz: f37cdad7606d66c155d6ae919b28848d5befd8189d3bb35c0172845aa1682d51
5
5
  SHA512:
6
- metadata.gz: 4ab7a72246f3567a2661860e0e76340336cdb53842e340cd5bfd5571d6f30a5a1fad684882a7d0a53c0629c7a1c811aff6387a84d2420fa874b6e9eac8efd9e6
7
- data.tar.gz: 765ada196994fe2bea223598ca9b84ef38aeee567937c29b003c5118102aaf7227f04e14b8fc2c406c037440eba1c292f284474836b02161ec776aef456bde32
6
+ metadata.gz: 40558b218de343ed24b9779f27bea6e7f664ebe9188e51f017717aa20742ec485feca02c5d3ba4ab49fa1b1de6614a593faaa95a76c47dce8a605bf7ff0cd999
7
+ data.tar.gz: ba19e64a351e1960343c50210d6e3190ff9fcfe2e5f9e49fbeab23e008de14d1d423a8b2f02c389a970bb83678248660b708acc548bb15c7d0c8b05fa41e55cd
data/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.3.2 (October 28, 2023)
4
+
5
+ ### Bugfixes
6
+
7
+ * Replaced several calls to the deprecated `.exists?` method with `.exist?` for compatibility with Ruby 3.2.0
8
+ * Updated dependencies to latest versions
9
+ * Standardized on version locking to the latest Major version of dependencies rather than the latest Minor ones
10
+
11
+ ## 0.3.1 (October 19, 2021)
12
+
13
+ ### Bugfixes
14
+
15
+ * Fixed prompt for option value to ignore nil defaults instead of displaying an empty string
16
+ * Skeleton script command `script.sh` updated to function correctly when development mode is enabled
17
+ * Updated Github Pages links to point to `github.io` instead of `github.com` which are being deprecated
18
+ * Updated dependencies, closing the security hole of the gem `addressable <= 1.7.0`
19
+
3
20
  ## 0.3 (July 31, 2020)
4
21
 
5
22
  ### Improvements
data/Gemfile.lock CHANGED
@@ -1,74 +1,78 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rbcli (0.3.0)
5
- aws-sdk-dynamodb (~> 1.51)
6
- colorize (~> 0.8)
7
- deep_merge (~> 1.2)
8
- macaddr (~> 1.7)
9
- mdless (~> 1.0)
10
- net-scp (~> 3.0)
11
- net-ssh (~> 6.1)
12
- octokit (~> 4.18)
13
- rufus-scheduler (~> 3.6)
4
+ rbcli (0.3.2)
5
+ aws-sdk-dynamodb (~> 1)
6
+ colorize (~> 1)
7
+ deep_merge (~> 1)
8
+ macaddr (~> 1)
9
+ mdless (~> 1)
10
+ net-scp (~> 4)
11
+ net-ssh (~> 7)
12
+ octokit (~> 7)
13
+ rufus-scheduler (~> 3)
14
14
 
15
15
  GEM
16
16
  remote: https://rubygems.org/
17
17
  specs:
18
- addressable (2.7.0)
19
- public_suffix (>= 2.0.2, < 5.0)
20
- aws-eventstream (1.1.0)
21
- aws-partitions (1.348.0)
22
- aws-sdk-core (3.104.3)
18
+ addressable (2.8.5)
19
+ public_suffix (>= 2.0.2, < 6.0)
20
+ aws-eventstream (1.2.0)
21
+ aws-partitions (1.843.0)
22
+ aws-sdk-core (3.185.1)
23
23
  aws-eventstream (~> 1, >= 1.0.2)
24
- aws-partitions (~> 1, >= 1.239.0)
24
+ aws-partitions (~> 1, >= 1.651.0)
25
+ aws-sigv4 (~> 1.5)
26
+ jmespath (~> 1, >= 1.6.1)
27
+ aws-sdk-dynamodb (1.96.0)
28
+ aws-sdk-core (~> 3, >= 3.184.0)
25
29
  aws-sigv4 (~> 1.1)
26
- jmespath (~> 1.0)
27
- aws-sdk-dynamodb (1.51.0)
28
- aws-sdk-core (~> 3, >= 3.99.0)
29
- aws-sigv4 (~> 1.1)
30
- aws-sigv4 (1.2.1)
30
+ aws-sigv4 (1.6.1)
31
31
  aws-eventstream (~> 1, >= 1.0.2)
32
- colorize (0.8.1)
33
- deep_merge (1.2.1)
34
- et-orbi (1.2.4)
32
+ base64 (0.1.1)
33
+ colorize (1.1.0)
34
+ concurrent-ruby (1.2.2)
35
+ deep_merge (1.2.2)
36
+ et-orbi (1.2.7)
35
37
  tzinfo
36
- faraday (1.0.1)
37
- multipart-post (>= 1.2, < 3)
38
- fugit (1.3.6)
39
- et-orbi (~> 1.1, >= 1.1.8)
40
- raabro (~> 1.3)
41
- jmespath (1.4.0)
38
+ faraday (2.7.11)
39
+ base64
40
+ faraday-net_http (>= 2.0, < 3.1)
41
+ ruby2_keywords (>= 0.0.4)
42
+ faraday-net_http (3.0.2)
43
+ fugit (1.9.0)
44
+ et-orbi (~> 1, >= 1.2.7)
45
+ raabro (~> 1.4)
46
+ jmespath (1.6.2)
42
47
  macaddr (1.7.2)
43
48
  systemu (~> 2.6.5)
44
- mdless (1.0.14)
45
- multipart-post (2.1.1)
46
- net-scp (3.0.0)
47
- net-ssh (>= 2.6.5, < 7.0.0)
48
- net-ssh (6.1.0)
49
- octokit (4.18.0)
50
- faraday (>= 0.9)
51
- sawyer (~> 0.8.0, >= 0.5.3)
52
- public_suffix (4.0.5)
53
- raabro (1.3.1)
54
- rake (13.0.1)
55
- rufus-scheduler (3.6.0)
49
+ mdless (1.0.37)
50
+ net-scp (4.0.0)
51
+ net-ssh (>= 2.6.5, < 8.0.0)
52
+ net-ssh (7.2.0)
53
+ octokit (7.2.0)
54
+ faraday (>= 1, < 3)
55
+ sawyer (~> 0.9)
56
+ public_suffix (5.0.3)
57
+ raabro (1.4.0)
58
+ rake (13.0.6)
59
+ ruby2_keywords (0.0.5)
60
+ rufus-scheduler (3.9.1)
56
61
  fugit (~> 1.1, >= 1.1.6)
57
- sawyer (0.8.2)
62
+ sawyer (0.9.2)
58
63
  addressable (>= 2.3.5)
59
- faraday (> 0.8, < 2.0)
64
+ faraday (>= 0.17.3, < 3)
60
65
  systemu (2.6.5)
61
- thread_safe (0.3.6)
62
- tzinfo (1.2.7)
63
- thread_safe (~> 0.1)
66
+ tzinfo (2.0.6)
67
+ concurrent-ruby (~> 1.0)
64
68
 
65
69
  PLATFORMS
66
- ruby
70
+ x86_64-darwin-23
67
71
 
68
72
  DEPENDENCIES
69
- bundler (~> 2.1)
70
- rake (~> 13.0)
73
+ bundler (>= 2)
74
+ rake (>= 13)
71
75
  rbcli!
72
76
 
73
77
  BUNDLED WITH
74
- 2.1.4
78
+ 2.4.21
data/README.md CHANGED
@@ -216,8 +216,8 @@ The gem is available as open source under the terms of the [GPLv3][license_text]
216
216
  [You can find the Official Documentation for RBCli Here.][documentation_home]
217
217
 
218
218
 
219
- [documentation_home]: https://akhoury6.github.com/rbcli
220
- [documentation_development]: https://akhoury6.github.com/rbcli/development/contributing/
219
+ [documentation_home]: https://akhoury6.github.io/rbcli
220
+ [documentation_development]: https://akhoury6.github.io/rbcli/development/contributing/
221
221
  [documentation_whoami]: https://akhoury6.github.io/rbcli/whoami/
222
222
  [license_text]: https://github.com/akhoury6/rbcli/blob/master/LICENSE.txt
223
223
  [changelog]: https://github.com/akhoury6/rbcli/blob/master/CHANGELOG.md
data/docs/404.html CHANGED
@@ -9,15 +9,15 @@
9
9
  <title>404 Page not found</title>
10
10
 
11
11
 
12
- <link href="/rbcli/css/nucleus.css?1596148729" rel="stylesheet">
13
- <link href="/rbcli/css/fontawesome-all.min.css?1596148729" rel="stylesheet">
14
- <link href="/rbcli/css/hybrid.css?1596148729" rel="stylesheet">
15
- <link href="/rbcli/css/featherlight.min.css?1596148729" rel="stylesheet">
16
- <link href="/rbcli/css/perfect-scrollbar.min.css?1596148729" rel="stylesheet">
17
- <link href="/rbcli/css/theme.css?1596148729" rel="stylesheet">
18
- <link href="/rbcli/css/hugo-theme.css?1596148729" rel="stylesheet">
12
+ <link href="/rbcli/css/nucleus.css?1634703589" rel="stylesheet">
13
+ <link href="/rbcli/css/fontawesome-all.min.css?1634703589" rel="stylesheet">
14
+ <link href="/rbcli/css/hybrid.css?1634703589" rel="stylesheet">
15
+ <link href="/rbcli/css/featherlight.min.css?1634703589" rel="stylesheet">
16
+ <link href="/rbcli/css/perfect-scrollbar.min.css?1634703589" rel="stylesheet">
17
+ <link href="/rbcli/css/theme.css?1634703589" rel="stylesheet">
18
+ <link href="/rbcli/css/hugo-theme.css?1634703589" rel="stylesheet">
19
19
 
20
- <link href="/rbcli/css/theme-blue.css?1596148729" rel="stylesheet">
20
+ <link href="/rbcli/css/theme-blue.css?1634703589" rel="stylesheet">
21
21
 
22
22
  <style>
23
23
  :root #header + #content > #left > #rlblock_left {
@@ -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.74.3" />
6
+ <meta name="generator" content="Hugo 0.88.1" />
7
7
  <meta name="description" content="">
8
8
 
9
9
 
@@ -12,21 +12,21 @@
12
12
  <title>Automatic Updates :: RBCli Documentation</title>
13
13
 
14
14
 
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">
15
+ <link href="/rbcli/css/nucleus.css?1634703589" rel="stylesheet">
16
+ <link href="/rbcli/css/fontawesome-all.min.css?1634703589" rel="stylesheet">
17
+ <link href="/rbcli/css/hybrid.css?1634703589" rel="stylesheet">
18
+ <link href="/rbcli/css/featherlight.min.css?1634703589" rel="stylesheet">
19
+ <link href="/rbcli/css/perfect-scrollbar.min.css?1634703589" rel="stylesheet">
20
+ <link href="/rbcli/css/auto-complete.css?1634703589" rel="stylesheet">
21
+ <link href="/rbcli/css/atom-one-dark-reasonable.css?1634703589" rel="stylesheet">
22
+ <link href="/rbcli/css/theme.css?1634703589" rel="stylesheet">
23
+ <link href="/rbcli/css/hugo-theme.css?1634703589" rel="stylesheet">
24
24
 
25
- <link href="/rbcli/css/theme-blue.css?1596148729" rel="stylesheet">
25
+ <link href="/rbcli/css/theme-blue.css?1634703589" rel="stylesheet">
26
26
 
27
27
 
28
28
 
29
- <script src="/rbcli/js/jquery-3.3.1.min.js?1596148729"></script>
29
+ <script src="/rbcli/js/jquery-3.3.1.min.js?1634703589"></script>
30
30
 
31
31
  <style>
32
32
  :root #header + #content > #left > #rlblock_left{
@@ -55,14 +55,14 @@
55
55
  <span data-search-clear=""><i class="fas fa-times"></i></span>
56
56
  </div>
57
57
 
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>
58
+ <script type="text/javascript" src="/rbcli/js/lunr.min.js?1634703589"></script>
59
+ <script type="text/javascript" src="/rbcli/js/auto-complete.js?1634703589"></script>
60
60
  <script type="text/javascript">
61
61
 
62
62
  var baseurl = "https:\/\/akhoury6.github.io\/rbcli\/";
63
63
 
64
64
  </script>
65
- <script type="text/javascript" src="/rbcli/js/search.js?1596148729"></script>
65
+ <script type="text/javascript" src="/rbcli/js/search.js?1634703589"></script>
66
66
 
67
67
 
68
68
  </div>
@@ -709,7 +709,7 @@
709
709
  <h2 id="github-update-check">GitHub Update Check</h2>
710
710
  <p>The GitHub update check works best when paired with GitHub&rsquo;s best practices on releases, where new releases are tagged on master with the format <strong>vX.X.X</strong>. See <a href="https://help.github.com/articles/creating-releases/">Github&rsquo;s release documentation</a> to learn more.</p>
711
711
  <p>RBCli will check your github repo&rsquo;s tags and compare that version number with one specified in your application at <code>config/version.rb</code>.</p>
712
- <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">autoupdate <span style="color:#e6db74">github_repo</span>: <span style="color:#e6db74">&#39;&lt;your_user&gt;/&lt;your_repo&gt;&#39;</span>, <span style="color:#e6db74">access_token</span>: <span style="color:#66d9ef">nil</span>, <span style="color:#e6db74">enterprise_hostname</span>: <span style="color:#66d9ef">nil</span>, <span style="color:#e6db74">force_update</span>: <span style="color:#66d9ef">false</span>, <span style="color:#e6db74">message</span>: <span style="color:#66d9ef">nil</span>
712
+ <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-ruby" data-lang="ruby">autoupdate <span style="color:#e6db74">github_repo</span>: <span style="color:#e6db74">&#39;&lt;your_user&gt;/&lt;your_repo&gt;&#39;</span>, <span style="color:#e6db74">access_token</span>: <span style="color:#66d9ef">nil</span>, <span style="color:#e6db74">enterprise_hostname</span>: <span style="color:#66d9ef">nil</span>, <span style="color:#e6db74">force_update</span>: <span style="color:#66d9ef">false</span>, <span style="color:#e6db74">message</span>: <span style="color:#66d9ef">nil</span>
713
713
  </code></pre></div><p>The <code>github_repo</code> should point to the repo using the <code>user/repo</code> syntax.</p>
714
714
  <p>The <code>access_token</code> can be overridden by the user via their config file, so it can be left as <code>nil</code> if you enable <a href="/rbcli/advanced/user_config_files/">Userspace Configuration</a>. The token is not needed at all if using a public repo. For instructions on generating a new access token, see <a href="https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/">here</a>.</p>
715
715
  <p>The <code>enterprise_hostname</code> setting allows you to point RBCli at a local GitHub Enterprise server.</p>
@@ -717,7 +717,7 @@
717
717
  <p>The <code>message</code> parameter allows setting a custom message that will be displayed when an update is available. Leaving it as <code>nil</code> will use the default message provided by RBCli.</p>
718
718
  <h2 id="rubygemsorg-update-check">Rubygems.org Update Check</h2>
719
719
  <p>The Rubygems update check will check if there is a new published version of the gem on Rubygems.org. The latest published version is compared to the version number you configured RBCli with.</p>
720
- <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">autoupdate <span style="color:#e6db74">gem</span>: <span style="color:#e6db74">&#39;&lt;your_gem&gt;&#39;</span>, <span style="color:#e6db74">force_update</span>: <span style="color:#66d9ef">false</span>, <span style="color:#e6db74">message</span>: <span style="color:#66d9ef">nil</span>
720
+ <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-ruby" data-lang="ruby">autoupdate <span style="color:#e6db74">gem</span>: <span style="color:#e6db74">&#39;&lt;your_gem&gt;&#39;</span>, <span style="color:#e6db74">force_update</span>: <span style="color:#66d9ef">false</span>, <span style="color:#e6db74">message</span>: <span style="color:#66d9ef">nil</span>
721
721
  </code></pre></div><p>The <code>gem</code> parameter should simply state the name of the gem.</p>
722
722
  <p>Setting <code>force_update: true</code> will halt execution if an update is available, forcing the user to update.</p>
723
723
  <p>The <code>message</code> parameter allows setting a custom message that will be displayed when an update is available. Leaving it as <code>nil</code> will use the default message provided by RBCli.</p>
@@ -1151,19 +1151,19 @@
1151
1151
  <div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
1152
1152
  <div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
1153
1153
  </div>
1154
- <script src="/rbcli/js/clipboard.min.js?1596148729"></script>
1155
- <script src="/rbcli/js/perfect-scrollbar.min.js?1596148729"></script>
1156
- <script src="/rbcli/js/perfect-scrollbar.jquery.min.js?1596148729"></script>
1157
- <script src="/rbcli/js/jquery.sticky.js?1596148729"></script>
1158
- <script src="/rbcli/js/featherlight.min.js?1596148729"></script>
1159
- <script src="/rbcli/js/highlight.pack.js?1596148729"></script>
1154
+ <script src="/rbcli/js/clipboard.min.js?1634703589"></script>
1155
+ <script src="/rbcli/js/perfect-scrollbar.min.js?1634703589"></script>
1156
+ <script src="/rbcli/js/perfect-scrollbar.jquery.min.js?1634703589"></script>
1157
+ <script src="/rbcli/js/jquery.sticky.js?1634703589"></script>
1158
+ <script src="/rbcli/js/featherlight.min.js?1634703589"></script>
1159
+ <script src="/rbcli/js/highlight.pack.js?1634703589"></script>
1160
1160
  <script>hljs.initHighlightingOnLoad();</script>
1161
- <script src="/rbcli/js/modernizr.custom-3.6.0.js?1596148729"></script>
1162
- <script src="/rbcli/js/learn.js?1596148729"></script>
1163
- <script src="/rbcli/js/hugo-learn.js?1596148729"></script>
1161
+ <script src="/rbcli/js/modernizr.custom-3.6.0.js?1634703589"></script>
1162
+ <script src="/rbcli/js/learn.js?1634703589"></script>
1163
+ <script src="/rbcli/js/hugo-learn.js?1634703589"></script>
1164
1164
 
1165
- <link href="/rbcli/mermaid/mermaid.css?1596148729" rel="stylesheet" />
1166
- <script src="/rbcli/mermaid/mermaid.js?1596148729"></script>
1165
+ <link href="/rbcli/mermaid/mermaid.css?1634703589" rel="stylesheet" />
1166
+ <script src="/rbcli/mermaid/mermaid.js?1634703589"></script>
1167
1167
  <script>
1168
1168
  mermaid.initialize({ startOnLoad: true });
1169
1169
  </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.74.3" />
6
+ <meta name="generator" content="Hugo 0.88.1" />
7
7
  <meta name="description" content="">
8
8
 
9
9
 
@@ -12,21 +12,21 @@
12
12
  <title>Command Types :: RBCli Documentation</title>
13
13
 
14
14
 
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">
15
+ <link href="/rbcli/css/nucleus.css?1634703589" rel="stylesheet">
16
+ <link href="/rbcli/css/fontawesome-all.min.css?1634703589" rel="stylesheet">
17
+ <link href="/rbcli/css/hybrid.css?1634703589" rel="stylesheet">
18
+ <link href="/rbcli/css/featherlight.min.css?1634703589" rel="stylesheet">
19
+ <link href="/rbcli/css/perfect-scrollbar.min.css?1634703589" rel="stylesheet">
20
+ <link href="/rbcli/css/auto-complete.css?1634703589" rel="stylesheet">
21
+ <link href="/rbcli/css/atom-one-dark-reasonable.css?1634703589" rel="stylesheet">
22
+ <link href="/rbcli/css/theme.css?1634703589" rel="stylesheet">
23
+ <link href="/rbcli/css/hugo-theme.css?1634703589" rel="stylesheet">
24
24
 
25
- <link href="/rbcli/css/theme-blue.css?1596148729" rel="stylesheet">
25
+ <link href="/rbcli/css/theme-blue.css?1634703589" rel="stylesheet">
26
26
 
27
27
 
28
28
 
29
- <script src="/rbcli/js/jquery-3.3.1.min.js?1596148729"></script>
29
+ <script src="/rbcli/js/jquery-3.3.1.min.js?1634703589"></script>
30
30
 
31
31
  <style>
32
32
  :root #header + #content > #left > #rlblock_left{
@@ -55,14 +55,14 @@
55
55
  <span data-search-clear=""><i class="fas fa-times"></i></span>
56
56
  </div>
57
57
 
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>
58
+ <script type="text/javascript" src="/rbcli/js/lunr.min.js?1634703589"></script>
59
+ <script type="text/javascript" src="/rbcli/js/auto-complete.js?1634703589"></script>
60
60
  <script type="text/javascript">
61
61
 
62
62
  var baseurl = "https:\/\/akhoury6.github.io\/rbcli\/";
63
63
 
64
64
  </script>
65
- <script type="text/javascript" src="/rbcli/js/search.js?1596148729"></script>
65
+ <script type="text/javascript" src="/rbcli/js/search.js?1634703589"></script>
66
66
 
67
67
 
68
68
  </div>
@@ -720,7 +720,7 @@
720
720
  <p>This document is provided to be a reference. If you would like an in-depth tutorial, please see <a href="/rbcli/tutorial/30-your_first_command/">Your First Command</a>.</p>
721
721
  <h2 id="general-command-structure">General Command Structure</h2>
722
722
  <p>Commands in RBCli are created by subclassing <code>Rbcli::Command</code>. All commands share a certain common structure:</p>
723
- <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">class</span> <span style="color:#a6e22e">List</span> <span style="color:#f92672">&lt;</span> <span style="color:#66d9ef">Rbcli</span><span style="color:#f92672">::</span><span style="color:#66d9ef">Command</span> <span style="color:#75715e"># Declare a new command by subclassing Rbcli::Command</span>
723
+ <div class="highlight"><pre tabindex="0" 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">class</span> <span style="color:#a6e22e">List</span> <span style="color:#f92672">&lt;</span> <span style="color:#66d9ef">Rbcli</span><span style="color:#f92672">::</span><span style="color:#66d9ef">Command</span> <span style="color:#75715e"># Declare a new command by subclassing Rbcli::Command</span>
724
724
  description <span style="color:#e6db74">&#39;TODO: Description goes here&#39;</span> <span style="color:#75715e"># (Required) Short description for the global help</span>
725
725
  usage <span style="color:#e6db74">&lt;&lt;-EOF
726
726
  </span><span style="color:#e6db74"></span><span style="color:#e6db74">TODO</span>: <span style="color:#66d9ef">Usage</span> text goes here
@@ -754,11 +754,11 @@
754
754
  </ul>
755
755
  <h2 id="standard-commands">Standard Commands</h2>
756
756
  <p>Standard commands are written as ruby code. To create a standard command called <code>list</code>, run:</p>
757
- <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 command --name<span style="color:#f92672">=</span>list
757
+ <div class="highlight"><pre tabindex="0" 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 command --name<span style="color:#f92672">=</span>list
758
758
  <span style="color:#75715e">#or</span>
759
759
  rbcli command -n list
760
760
  </code></pre></div><p>A standard command can be identified by the presence of an <code>action</code> block in the definition:</p>
761
- <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">class</span> <span style="color:#a6e22e">List</span> <span style="color:#f92672">&lt;</span> <span style="color:#66d9ef">Rbcli</span><span style="color:#f92672">::</span><span style="color:#66d9ef">Command</span>
761
+ <div class="highlight"><pre tabindex="0" 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">class</span> <span style="color:#a6e22e">List</span> <span style="color:#f92672">&lt;</span> <span style="color:#66d9ef">Rbcli</span><span style="color:#f92672">::</span><span style="color:#66d9ef">Command</span>
762
762
  action <span style="color:#66d9ef">do</span> <span style="color:#f92672">|</span>params, args, global_opts, config<span style="color:#f92672">|</span>
763
763
  <span style="color:#75715e"># Code goes here</span>
764
764
  <span style="color:#66d9ef">end</span>
@@ -766,17 +766,17 @@ rbcli command -n list
766
766
  </code></pre></div><p>Your application&rsquo;s <strong>parameters</strong>, <strong>arguments</strong>, <strong>options</strong>, and <strong>config</strong> are available in the variables passed into the block. For more information on these, see <a href="/rbcli/tutorial/40-options_parameters_and_arguments/">Options, Parameters, and Arguments</a>.</p>
767
767
  <h2 id="scripted-commands">Scripted Commands</h2>
768
768
  <p>Scripted commands are part Ruby, part Bash scripting. They are a good choice to use if you feel something might be easier or more performant to script with Bash, or if you already have a Bash script you&rsquo;d like to use in your project. You can create one with:</p>
769
- <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 script -n list
769
+ <div class="highlight"><pre tabindex="0" 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 script -n list
770
770
  </code></pre></div><p>This will create two files in your RBCli project: a Ruby file with the common command declaration (see <a href="#general-command-structure">General Command Structure</a>), and a bash script in the folder <code>application/commands/scripts/</code>.</p>
771
771
  <p>You can tell a command is a script by the line:</p>
772
- <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">class</span> <span style="color:#a6e22e">List</span> <span style="color:#f92672">&lt;</span> <span style="color:#66d9ef">Rbcli</span><span style="color:#f92672">::</span><span style="color:#66d9ef">Command</span>
772
+ <div class="highlight"><pre tabindex="0" 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">class</span> <span style="color:#a6e22e">List</span> <span style="color:#f92672">&lt;</span> <span style="color:#66d9ef">Rbcli</span><span style="color:#f92672">::</span><span style="color:#66d9ef">Command</span>
773
773
  script
774
774
  <span style="color:#66d9ef">end</span>
775
775
  </code></pre></div><p>RBCli will pass along your applications config and CLI parameters through JSON environment variables. To make things easy, a Bash library is provided that makes retrieving and parsing these variables easy. It is already imported when you generate the command, with the line:</p>
776
- <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">source <span style="color:#66d9ef">$(</span>echo <span style="color:#66d9ef">$(</span>cd <span style="color:#e6db74">&#34;</span><span style="color:#66d9ef">$(</span>dirname <span style="color:#66d9ef">$(</span>gem which rbcli<span style="color:#66d9ef">))</span><span style="color:#e6db74">/../lib-sh&#34;</span> <span style="color:#f92672">&amp;&amp;</span> pwd<span style="color:#66d9ef">)</span>/lib-rbcli.sh<span style="color:#66d9ef">)</span>
776
+ <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">source <span style="color:#66d9ef">$(</span>echo <span style="color:#66d9ef">$(</span>cd <span style="color:#e6db74">&#34;</span><span style="color:#66d9ef">$(</span>dirname <span style="color:#66d9ef">$(</span>gem which rbcli<span style="color:#66d9ef">))</span><span style="color:#e6db74">/../lib-sh&#34;</span> <span style="color:#f92672">&amp;&amp;</span> pwd<span style="color:#66d9ef">)</span>/lib-rbcli.sh<span style="color:#66d9ef">)</span>
777
777
  </code></pre></div><p>This will find the library which is stored on the system as part of the RBCli gem.</p>
778
778
  <p>You can then retrieve the values present in your variables like such:</p>
779
- <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 params
779
+ <div class="highlight"><pre tabindex="0" 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 params
780
780
  rbcli args
781
781
  rbcli global_opts
782
782
  rbcli config
@@ -792,13 +792,13 @@ echo <span style="color:#e6db74">&#34;First Argument (if passed): </span><span s
792
792
  <p>RBCli provides this feature through the <code>extern</code> keyword. It provides two modes &ndash; <strong>direct path</strong> and <strong>variable path</strong> &ndash; which work similarly.</p>
793
793
  <h3 id="direct-path-mode">Direct Path Mode</h3>
794
794
  <p>Direct path mode is the simpler mode of the two External Command modes. It allows you to provide a specific command with environment variables set, though it does not allow using RBCli parameters, arguments, options, and config.</p>
795
- <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">class</span> <span style="color:#a6e22e">List</span> <span style="color:#f92672">&lt;</span> <span style="color:#66d9ef">Rbcli</span><span style="color:#f92672">::</span><span style="color:#66d9ef">Command</span>
795
+ <div class="highlight"><pre tabindex="0" 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">class</span> <span style="color:#a6e22e">List</span> <span style="color:#f92672">&lt;</span> <span style="color:#66d9ef">Rbcli</span><span style="color:#f92672">::</span><span style="color:#66d9ef">Command</span>
796
796
  extern <span style="color:#e6db74">path</span>: <span style="color:#e6db74">&#39;path/to/application&#39;</span>, <span style="color:#e6db74">envvars</span>: {<span style="color:#e6db74">MYVAR</span>: <span style="color:#e6db74">&#39;some_value&#39;</span>} <span style="color:#75715e"># (Required) Runs a given application, with optional environment variables, when the user runs the command.</span>
797
797
  <span style="color:#66d9ef">end</span>
798
798
  </code></pre></div><p>Here, we supply a string to run the command. We can optioanlly provide environment variables which will be set for the external application.</p>
799
799
  <h3 id="variable-path-mode">Variable Path Mode</h3>
800
800
  <p>Variable Path mode works the same as Direct Path Mode, only instead of providing a string we provide a block that returns a string (which will be the command executed). This allows us to generate different commands based on the CLI parameters that the user passed, or pass configuration as CLI parameters to the external application:</p>
801
- <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">class</span> <span style="color:#a6e22e">Test</span> <span style="color:#f92672">&lt;</span> <span style="color:#66d9ef">Rbcli</span><span style="color:#f92672">::</span><span style="color:#66d9ef">Command</span>
801
+ <div class="highlight"><pre tabindex="0" 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">class</span> <span style="color:#a6e22e">Test</span> <span style="color:#f92672">&lt;</span> <span style="color:#66d9ef">Rbcli</span><span style="color:#f92672">::</span><span style="color:#66d9ef">Command</span>
802
802
  extern <span style="color:#e6db74">envvars</span>: {<span style="color:#e6db74">MY_OTHER_VAR</span>: <span style="color:#e6db74">&#39;another_value&#39;</span>} <span style="color:#66d9ef">do</span> <span style="color:#f92672">|</span>params, args, global_opts, config<span style="color:#f92672">|</span> <span style="color:#75715e"># Alternate usage. Supplying a block instead of a path allows us to modify the command based on the arguments and configuration supplied by the user. This allows passing config settings as command line arguments to external applications. The block must return a string, which is the command to be executed.</span>
803
803
  cmd <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;/path/to/application&#39;</span>
804
804
  cmd <span style="color:#f92672">+=</span> <span style="color:#e6db74">&#39; --test-script foo --ignore-errors&#39;</span> <span style="color:#66d9ef">if</span> params<span style="color:#f92672">[</span><span style="color:#e6db74">:force</span><span style="color:#f92672">]</span>
@@ -1239,19 +1239,19 @@ echo <span style="color:#e6db74">&#34;First Argument (if passed): </span><span s
1239
1239
  <div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
1240
1240
  <div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
1241
1241
  </div>
1242
- <script src="/rbcli/js/clipboard.min.js?1596148729"></script>
1243
- <script src="/rbcli/js/perfect-scrollbar.min.js?1596148729"></script>
1244
- <script src="/rbcli/js/perfect-scrollbar.jquery.min.js?1596148729"></script>
1245
- <script src="/rbcli/js/jquery.sticky.js?1596148729"></script>
1246
- <script src="/rbcli/js/featherlight.min.js?1596148729"></script>
1247
- <script src="/rbcli/js/highlight.pack.js?1596148729"></script>
1242
+ <script src="/rbcli/js/clipboard.min.js?1634703589"></script>
1243
+ <script src="/rbcli/js/perfect-scrollbar.min.js?1634703589"></script>
1244
+ <script src="/rbcli/js/perfect-scrollbar.jquery.min.js?1634703589"></script>
1245
+ <script src="/rbcli/js/jquery.sticky.js?1634703589"></script>
1246
+ <script src="/rbcli/js/featherlight.min.js?1634703589"></script>
1247
+ <script src="/rbcli/js/highlight.pack.js?1634703589"></script>
1248
1248
  <script>hljs.initHighlightingOnLoad();</script>
1249
- <script src="/rbcli/js/modernizr.custom-3.6.0.js?1596148729"></script>
1250
- <script src="/rbcli/js/learn.js?1596148729"></script>
1251
- <script src="/rbcli/js/hugo-learn.js?1596148729"></script>
1249
+ <script src="/rbcli/js/modernizr.custom-3.6.0.js?1634703589"></script>
1250
+ <script src="/rbcli/js/learn.js?1634703589"></script>
1251
+ <script src="/rbcli/js/hugo-learn.js?1634703589"></script>
1252
1252
 
1253
- <link href="/rbcli/mermaid/mermaid.css?1596148729" rel="stylesheet" />
1254
- <script src="/rbcli/mermaid/mermaid.js?1596148729"></script>
1253
+ <link href="/rbcli/mermaid/mermaid.css?1634703589" rel="stylesheet" />
1254
+ <script src="/rbcli/mermaid/mermaid.js?1634703589"></script>
1255
1255
  <script>
1256
1256
  mermaid.initialize({ startOnLoad: true });
1257
1257
  </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.74.3" />
6
+ <meta name="generator" content="Hugo 0.88.1" />
7
7
  <meta name="description" content="">
8
8
 
9
9
 
@@ -12,21 +12,21 @@
12
12
  <title>Distributed State and Locking :: RBCli Documentation</title>
13
13
 
14
14
 
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">
15
+ <link href="/rbcli/css/nucleus.css?1634703589" rel="stylesheet">
16
+ <link href="/rbcli/css/fontawesome-all.min.css?1634703589" rel="stylesheet">
17
+ <link href="/rbcli/css/hybrid.css?1634703589" rel="stylesheet">
18
+ <link href="/rbcli/css/featherlight.min.css?1634703589" rel="stylesheet">
19
+ <link href="/rbcli/css/perfect-scrollbar.min.css?1634703589" rel="stylesheet">
20
+ <link href="/rbcli/css/auto-complete.css?1634703589" rel="stylesheet">
21
+ <link href="/rbcli/css/atom-one-dark-reasonable.css?1634703589" rel="stylesheet">
22
+ <link href="/rbcli/css/theme.css?1634703589" rel="stylesheet">
23
+ <link href="/rbcli/css/hugo-theme.css?1634703589" rel="stylesheet">
24
24
 
25
- <link href="/rbcli/css/theme-blue.css?1596148729" rel="stylesheet">
25
+ <link href="/rbcli/css/theme-blue.css?1634703589" rel="stylesheet">
26
26
 
27
27
 
28
28
 
29
- <script src="/rbcli/js/jquery-3.3.1.min.js?1596148729"></script>
29
+ <script src="/rbcli/js/jquery-3.3.1.min.js?1634703589"></script>
30
30
 
31
31
  <style>
32
32
  :root #header + #content > #left > #rlblock_left{
@@ -55,14 +55,14 @@
55
55
  <span data-search-clear=""><i class="fas fa-times"></i></span>
56
56
  </div>
57
57
 
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>
58
+ <script type="text/javascript" src="/rbcli/js/lunr.min.js?1634703589"></script>
59
+ <script type="text/javascript" src="/rbcli/js/auto-complete.js?1634703589"></script>
60
60
  <script type="text/javascript">
61
61
 
62
62
  var baseurl = "https:\/\/akhoury6.github.io\/rbcli\/";
63
63
 
64
64
  </script>
65
- <script type="text/javascript" src="/rbcli/js/search.js?1596148729"></script>
65
+ <script type="text/javascript" src="/rbcli/js/search.js?1634703589"></script>
66
66
 
67
67
 
68
68
  </div>
@@ -716,9 +716,9 @@
716
716
  </ol>
717
717
  <h2 id="manual-locking">Manual Locking</h2>
718
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
719
+ <div class="highlight"><pre tabindex="0" 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
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
721
+ <div class="highlight"><pre tabindex="0" 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
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>
723
723
 
724
724
 
@@ -1153,19 +1153,19 @@
1153
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;">
1154
1154
  <div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
1155
1155
  </div>
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>
1156
+ <script src="/rbcli/js/clipboard.min.js?1634703589"></script>
1157
+ <script src="/rbcli/js/perfect-scrollbar.min.js?1634703589"></script>
1158
+ <script src="/rbcli/js/perfect-scrollbar.jquery.min.js?1634703589"></script>
1159
+ <script src="/rbcli/js/jquery.sticky.js?1634703589"></script>
1160
+ <script src="/rbcli/js/featherlight.min.js?1634703589"></script>
1161
+ <script src="/rbcli/js/highlight.pack.js?1634703589"></script>
1162
1162
  <script>hljs.initHighlightingOnLoad();</script>
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>
1163
+ <script src="/rbcli/js/modernizr.custom-3.6.0.js?1634703589"></script>
1164
+ <script src="/rbcli/js/learn.js?1634703589"></script>
1165
+ <script src="/rbcli/js/hugo-learn.js?1634703589"></script>
1166
1166
 
1167
- <link href="/rbcli/mermaid/mermaid.css?1596148729" rel="stylesheet" />
1168
- <script src="/rbcli/mermaid/mermaid.js?1596148729"></script>
1167
+ <link href="/rbcli/mermaid/mermaid.css?1634703589" rel="stylesheet" />
1168
+ <script src="/rbcli/mermaid/mermaid.js?1634703589"></script>
1169
1169
  <script>
1170
1170
  mermaid.initialize({ startOnLoad: true });
1171
1171
  </script>