rbcli 0.2.10 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (444) hide show
  1. checksums.yaml +4 -4
  2. data/.rakeTasks +7 -0
  3. data/.rbenv-gemsets +1 -0
  4. data/CHANGELOG.md +46 -0
  5. data/Gemfile.lock +66 -48
  6. data/README.md +4 -4
  7. data/docs/404.html +54 -670
  8. data/docs/advanced/automatic_updates/index.html +998 -651
  9. data/docs/advanced/command_types/index.html +1022 -742
  10. data/docs/advanced/distributed_state_locking/index.html +998 -635
  11. data/docs/advanced/hooks/index.html +1011 -691
  12. data/docs/advanced/index.html +1140 -0
  13. data/docs/advanced/index.xml +113 -0
  14. data/docs/advanced/interactive_commands/index.html +1001 -653
  15. data/docs/advanced/logging/index.html +1006 -655
  16. data/docs/advanced/remote_execution/index.html +1010 -666
  17. data/docs/advanced/state_storage/index.html +1009 -721
  18. data/docs/advanced/user_config_files/index.html +981 -626
  19. data/docs/categories/index.html +1146 -0
  20. data/docs/categories/index.xml +10 -0
  21. data/docs/css/atom-one-dark-reasonable.css +77 -0
  22. data/docs/css/auto-complete.css +47 -0
  23. data/docs/css/featherlight.min.css +8 -0
  24. data/docs/css/fontawesome-all.min.css +1 -0
  25. data/docs/css/hugo-theme.css +254 -0
  26. data/docs/css/hybrid.css +102 -0
  27. data/docs/css/nucleus.css +615 -0
  28. data/docs/css/perfect-scrollbar.min.css +2 -0
  29. data/docs/css/tags.css +49 -0
  30. data/docs/css/theme-blue.css +111 -0
  31. data/docs/css/theme-green.css +111 -0
  32. data/docs/css/theme-red.css +111 -0
  33. data/docs/css/theme.css +1136 -0
  34. data/docs/development/changelog/index.html +1389 -0
  35. data/docs/development/code_of_conduct/index.html +973 -670
  36. data/docs/development/contributing/index.html +989 -583
  37. data/docs/development/index.html +1140 -0
  38. data/docs/development/index.xml +50 -0
  39. data/docs/development/license/index.html +973 -559
  40. data/docs/fonts/Inconsolata.eot +0 -0
  41. data/docs/fonts/Inconsolata.svg +1 -0
  42. data/docs/fonts/Inconsolata.ttf +0 -0
  43. data/docs/fonts/Inconsolata.woff +0 -0
  44. data/docs/fonts/Novecentosanswide-Normal-webfont.eot +0 -0
  45. data/docs/fonts/Novecentosanswide-Normal-webfont.svg +1 -0
  46. data/docs/fonts/Novecentosanswide-Normal-webfont.ttf +0 -0
  47. data/docs/fonts/Novecentosanswide-Normal-webfont.woff +0 -0
  48. data/docs/fonts/Novecentosanswide-Normal-webfont.woff2 +0 -0
  49. data/docs/fonts/Novecentosanswide-UltraLight-webfont.eot +0 -0
  50. data/docs/fonts/Novecentosanswide-UltraLight-webfont.svg +1 -0
  51. data/docs/fonts/Novecentosanswide-UltraLight-webfont.ttf +0 -0
  52. data/docs/fonts/Novecentosanswide-UltraLight-webfont.woff +0 -0
  53. data/docs/fonts/Novecentosanswide-UltraLight-webfont.woff2 +0 -0
  54. data/docs/fonts/Work_Sans_200.eot +0 -0
  55. data/docs/fonts/Work_Sans_200.svg +1 -0
  56. data/docs/fonts/Work_Sans_200.ttf +0 -0
  57. data/docs/fonts/Work_Sans_200.woff +0 -0
  58. data/docs/fonts/Work_Sans_200.woff2 +0 -0
  59. data/docs/fonts/Work_Sans_300.eot +0 -0
  60. data/docs/fonts/Work_Sans_300.svg +1 -0
  61. data/docs/fonts/Work_Sans_300.ttf +0 -0
  62. data/docs/fonts/Work_Sans_300.woff +0 -0
  63. data/docs/fonts/Work_Sans_300.woff2 +0 -0
  64. data/docs/fonts/Work_Sans_500.eot +0 -0
  65. data/docs/fonts/Work_Sans_500.svg +1 -0
  66. data/docs/fonts/Work_Sans_500.ttf +0 -0
  67. data/docs/fonts/Work_Sans_500.woff +0 -0
  68. data/docs/fonts/Work_Sans_500.woff2 +0 -0
  69. data/docs/images/clippy.svg +1 -0
  70. data/docs/images/favicon.png +0 -0
  71. data/docs/images/gopher-404.jpg +0 -0
  72. data/docs/imported/changelog/index.html +1208 -1020
  73. data/docs/imported/index.html +1191 -0
  74. data/docs/imported/index.xml +23 -0
  75. data/docs/index.html +925 -558
  76. data/docs/index.json +183 -0
  77. data/docs/index.xml +208 -0
  78. data/docs/js/auto-complete.js +3 -0
  79. data/docs/js/clipboard.min.js +7 -0
  80. data/docs/js/featherlight.min.js +9 -0
  81. data/docs/js/highlight.pack.js +6 -0
  82. data/docs/js/html5shiv-printshiv.min.js +4 -0
  83. data/docs/js/hugo-learn.js +94 -0
  84. data/docs/js/jquery-3.3.1.min.js +2 -0
  85. data/docs/js/jquery.sticky.js +288 -0
  86. data/docs/js/learn.js +459 -0
  87. data/docs/js/lunr.min.js +6 -0
  88. data/docs/js/modernizr.custom-3.6.0.js +3 -0
  89. data/docs/js/perfect-scrollbar.jquery.min.js +2 -0
  90. data/docs/js/perfect-scrollbar.min.js +2 -0
  91. data/docs/js/search.js +93 -0
  92. data/docs/mermaid/mermaid.css +277 -0
  93. data/docs/mermaid/mermaid.dark.css +278 -0
  94. data/docs/mermaid/mermaid.forest.css +356 -0
  95. data/docs/mermaid/mermaid.js +8 -0
  96. data/docs/quick_reference/index.html +1246 -0
  97. data/docs/quick_reference/index.xml +11 -0
  98. data/docs/sitemap.xml +82 -108
  99. data/docs/tags/index.html +1146 -0
  100. data/docs/tags/index.xml +10 -0
  101. data/docs/tutorial/10-getting_started/index.html +994 -662
  102. data/docs/tutorial/20-project_layout/index.html +1013 -722
  103. data/docs/tutorial/30-your_first_command/index.html +1055 -734
  104. data/docs/tutorial/40-options_parameters_and_arguments/index.html +1139 -881
  105. data/docs/tutorial/50-publishing/index.html +984 -671
  106. data/docs/tutorial/index.html +1140 -0
  107. data/docs/tutorial/index.xml +67 -0
  108. data/docs/webfonts/fa-brands-400.eot +0 -0
  109. data/docs/webfonts/fa-brands-400.svg +1 -0
  110. data/docs/webfonts/fa-brands-400.ttf +0 -0
  111. data/docs/webfonts/fa-brands-400.woff +0 -0
  112. data/docs/webfonts/fa-brands-400.woff2 +0 -0
  113. data/docs/webfonts/fa-regular-400.eot +0 -0
  114. data/docs/webfonts/fa-regular-400.svg +1 -0
  115. data/docs/webfonts/fa-regular-400.ttf +0 -0
  116. data/docs/webfonts/fa-regular-400.woff +0 -0
  117. data/docs/webfonts/fa-regular-400.woff2 +0 -0
  118. data/docs/webfonts/fa-solid-900.eot +0 -0
  119. data/docs/webfonts/fa-solid-900.svg +1 -0
  120. data/docs/webfonts/fa-solid-900.ttf +0 -0
  121. data/docs/webfonts/fa-solid-900.woff +0 -0
  122. data/docs/webfonts/fa-solid-900.woff2 +0 -0
  123. data/docs/whoami/index.html +965 -555
  124. data/docs/whoami/index.xml +11 -0
  125. data/docs-src/archetypes/default.md +6 -0
  126. data/docs-src/config.toml +37 -0
  127. data/docs-src/{docs/index.md → content/_index.md} +4 -4
  128. data/docs-src/content/advanced/_index.md +11 -0
  129. data/docs-src/{docs → content}/advanced/automatic_updates.md +6 -2
  130. data/docs-src/{docs → content}/advanced/command_types.md +8 -4
  131. data/docs-src/{docs → content}/advanced/distributed_state_locking.md +6 -2
  132. data/docs-src/{docs → content}/advanced/hooks.md +6 -2
  133. data/docs-src/{docs → content}/advanced/interactive_commands.md +5 -1
  134. data/docs-src/{docs → content}/advanced/logging.md +6 -2
  135. data/docs-src/{docs → content}/advanced/remote_execution.md +5 -1
  136. data/docs-src/{docs → content}/advanced/state_storage.md +6 -3
  137. data/docs-src/{docs → content}/advanced/user_config_files.md +5 -1
  138. data/docs-src/content/development/_index.md +11 -0
  139. data/docs-src/{docs/imported → content/development}/changelog.md +82 -6
  140. data/docs-src/{docs → content}/development/code_of_conduct.md +8 -1
  141. data/docs-src/{docs → content}/development/contributing.md +16 -1
  142. data/docs-src/{docs → content}/development/license.md +9 -2
  143. data/docs-src/{docs/imported/quick_reference.md → content/quick_reference/_index.md} +10 -3
  144. data/docs-src/{docs → content}/tutorial/10-getting_started.md +7 -1
  145. data/docs-src/{docs → content}/tutorial/20-project_layout.md +10 -2
  146. data/docs-src/{docs → content}/tutorial/30-your_first_command.md +10 -4
  147. data/docs-src/{docs → content}/tutorial/40-options_parameters_and_arguments.md +9 -3
  148. data/docs-src/{docs → content}/tutorial/50-publishing.md +9 -3
  149. data/docs-src/content/tutorial/_index.md +11 -0
  150. data/docs-src/{docs/whoami.md → content/whoami/_index.md} +11 -5
  151. data/docs-src/layouts/partials/logo.html +3 -0
  152. data/docs-src/makesite.sh +33 -7
  153. data/docs-src/mkdocs-archived.tar.gz +0 -0
  154. data/docs-src/runsite.sh +6 -1
  155. data/docs-src/themes/hugo-theme-learn/.editorconfig +16 -0
  156. data/docs-src/themes/hugo-theme-learn/.gitignore +3 -0
  157. data/docs-src/themes/hugo-theme-learn/.grenrc.yml +25 -0
  158. data/docs-src/themes/hugo-theme-learn/CHANGELOG.md +226 -0
  159. data/docs-src/themes/hugo-theme-learn/LICENSE.md +22 -0
  160. data/docs-src/themes/hugo-theme-learn/README.md +97 -0
  161. data/docs-src/themes/hugo-theme-learn/archetypes/chapter.md +13 -0
  162. data/docs-src/themes/hugo-theme-learn/archetypes/default.md +7 -0
  163. data/docs-src/themes/hugo-theme-learn/exampleSite/LICENSE.md +20 -0
  164. data/docs-src/themes/hugo-theme-learn/exampleSite/config.toml +102 -0
  165. data/docs-src/themes/hugo-theme-learn/exampleSite/content/_index.en.md +41 -0
  166. data/docs-src/themes/hugo-theme-learn/exampleSite/content/_index.fr.md +43 -0
  167. data/docs-src/themes/hugo-theme-learn/exampleSite/content/basics/_index.en.md +12 -0
  168. data/docs-src/themes/hugo-theme-learn/exampleSite/content/basics/_index.fr.md +12 -0
  169. data/docs-src/themes/hugo-theme-learn/exampleSite/content/basics/_index.zh.md +12 -0
  170. data/docs-src/themes/hugo-theme-learn/exampleSite/content/basics/configuration/_index.en.md +60 -0
  171. data/docs-src/themes/hugo-theme-learn/exampleSite/content/basics/configuration/_index.fr.md +56 -0
  172. data/docs-src/themes/hugo-theme-learn/exampleSite/content/basics/installation/_index.en.md +102 -0
  173. data/docs-src/themes/hugo-theme-learn/exampleSite/content/basics/installation/_index.fr.md +100 -0
  174. data/docs-src/themes/hugo-theme-learn/exampleSite/content/basics/installation/images/chapter.png +0 -0
  175. data/docs-src/themes/hugo-theme-learn/exampleSite/content/basics/requirements/_index.en.md +11 -0
  176. data/docs-src/themes/hugo-theme-learn/exampleSite/content/basics/requirements/_index.fr.md +11 -0
  177. data/docs-src/themes/hugo-theme-learn/exampleSite/content/basics/requirements/images/magic.gif +0 -0
  178. data/docs-src/themes/hugo-theme-learn/exampleSite/content/basics/style-customization/_index.en.md +194 -0
  179. data/docs-src/themes/hugo-theme-learn/exampleSite/content/basics/style-customization/_index.fr.md +194 -0
  180. data/docs-src/themes/hugo-theme-learn/exampleSite/content/basics/style-customization/images/blue-variant.png +0 -0
  181. data/docs-src/themes/hugo-theme-learn/exampleSite/content/basics/style-customization/images/green-variant.png +0 -0
  182. data/docs-src/themes/hugo-theme-learn/exampleSite/content/basics/style-customization/images/red-variant.png +0 -0
  183. data/docs-src/themes/hugo-theme-learn/exampleSite/content/cont/_index.en.md +12 -0
  184. data/docs-src/themes/hugo-theme-learn/exampleSite/content/cont/_index.fr.md +12 -0
  185. data/docs-src/themes/hugo-theme-learn/exampleSite/content/cont/archetypes.en.md +57 -0
  186. data/docs-src/themes/hugo-theme-learn/exampleSite/content/cont/archetypes.fr.md +57 -0
  187. data/docs-src/themes/hugo-theme-learn/exampleSite/content/cont/i18n/_index.en.md +78 -0
  188. data/docs-src/themes/hugo-theme-learn/exampleSite/content/cont/i18n/_index.fr.md +78 -0
  189. data/docs-src/themes/hugo-theme-learn/exampleSite/content/cont/i18n/images/i18n-menu.gif +0 -0
  190. data/docs-src/themes/hugo-theme-learn/exampleSite/content/cont/icons.en.md +41 -0
  191. data/docs-src/themes/hugo-theme-learn/exampleSite/content/cont/markdown.en.md +692 -0
  192. data/docs-src/themes/hugo-theme-learn/exampleSite/content/cont/markdown.fr.md +666 -0
  193. data/docs-src/themes/hugo-theme-learn/exampleSite/content/cont/menushortcuts.en.md +109 -0
  194. data/docs-src/themes/hugo-theme-learn/exampleSite/content/cont/menushortcuts.fr.md +109 -0
  195. data/docs-src/themes/hugo-theme-learn/exampleSite/content/cont/pages/_index.en.md +166 -0
  196. data/docs-src/themes/hugo-theme-learn/exampleSite/content/cont/pages/_index.fr.md +146 -0
  197. data/docs-src/themes/hugo-theme-learn/exampleSite/content/cont/pages/images/frontmatter-icon.png +0 -0
  198. data/docs-src/themes/hugo-theme-learn/exampleSite/content/cont/pages/images/pages-chapter.png +0 -0
  199. data/docs-src/themes/hugo-theme-learn/exampleSite/content/cont/pages/images/pages-default.png +0 -0
  200. data/docs-src/themes/hugo-theme-learn/exampleSite/content/cont/syntaxhighlight.en.md +89 -0
  201. data/docs-src/themes/hugo-theme-learn/exampleSite/content/cont/tags.en.md +39 -0
  202. data/docs-src/themes/hugo-theme-learn/exampleSite/content/cont/tags.fr.md +40 -0
  203. data/docs-src/themes/hugo-theme-learn/exampleSite/content/credits.en.md +28 -0
  204. data/docs-src/themes/hugo-theme-learn/exampleSite/content/credits.fr.md +28 -0
  205. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/_index.en.md +16 -0
  206. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/_index.fr.md +16 -0
  207. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.en.files/BachGavotteShort.mp3 +0 -0
  208. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.en.files/Carroll_AliceAuPaysDesMerveilles.pdf +0 -0
  209. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.en.files/adivorciarsetoca00cape.pdf +0 -0
  210. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.en.files/hugo.png +0 -0
  211. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.en.files/movieselectricsheep-flock-244-32500-2.mp4 +0 -0
  212. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.en.md +85 -0
  213. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.files/BachGavotteShort.mp3 +0 -0
  214. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.files/Carroll_AliceAuPaysDesMerveilles.pdf +0 -0
  215. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.files/adivorciarsetoca00cape.pdf +0 -0
  216. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.files/hugo.png +0 -0
  217. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.files/movieselectricsheep-flock-244-32500-2.mp4 +0 -0
  218. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/attachments.fr.md +85 -0
  219. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/button.en.md +16 -0
  220. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/button.fr.md +16 -0
  221. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/_index.en.md +45 -0
  222. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/_index.fr.md +45 -0
  223. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/children-1/_index.en.md +6 -0
  224. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/children-1/_index.fr.md +6 -0
  225. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/children-1/children-1-1/_index.en.md +6 -0
  226. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/children-1/children-1-1/_index.fr.md +6 -0
  227. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/children-1/children-1-1/children-1-1-1/_index.en.md +6 -0
  228. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/children-1/children-1-1/children-1-1-1/_index.fr.md +6 -0
  229. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/children-1/children-1-1/children-1-1-1/children-1-1-1-1/_index.en.md +6 -0
  230. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/children-1/children-1-1/children-1-1-1/children-1-1-1-1/_index.fr.md +6 -0
  231. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/children-1/children-1-1/children-1-1-1/children-1-1-1-1/children-1-1-1-1-1/_index.en.md +6 -0
  232. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/children-1/children-1-1/children-1-1-1/children-1-1-1-1/children-1-1-1-1-1/_index.fr.md +6 -0
  233. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/children-2/_index.en.md +11 -0
  234. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/children-2/_index.fr.md +11 -0
  235. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/children-2/test3.en.md +6 -0
  236. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/children-2/test3.fr.md +6 -0
  237. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/children-3/_index.en.md +6 -0
  238. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/children-3/_index.fr.md +6 -0
  239. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/children-4/_index.en.md +7 -0
  240. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/children-4/_index.fr.md +7 -0
  241. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/test.en.md +6 -0
  242. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/children/test.fr.md +6 -0
  243. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/expand.en.md +45 -0
  244. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/expand.fr.md +45 -0
  245. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/mermaid.en.md +283 -0
  246. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/mermaid.fr.md +283 -0
  247. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/notice.en.md +62 -0
  248. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/notice.fr.md +62 -0
  249. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/siteparam.en.md +23 -0
  250. data/docs-src/themes/hugo-theme-learn/exampleSite/content/shortcodes/siteparam.fr.md +23 -0
  251. data/docs-src/themes/hugo-theme-learn/exampleSite/content/showcase.en.md +13 -0
  252. data/docs-src/themes/hugo-theme-learn/exampleSite/content/showcase.fr.md +14 -0
  253. data/docs-src/themes/hugo-theme-learn/exampleSite/layouts/partials/custom-footer.html +10 -0
  254. data/docs-src/themes/hugo-theme-learn/exampleSite/layouts/partials/logo.html +39 -0
  255. data/docs-src/themes/hugo-theme-learn/exampleSite/layouts/partials/menu-footer.html +14 -0
  256. data/docs-src/themes/hugo-theme-learn/exampleSite/layouts/shortcodes/ghcontributors.html +31 -0
  257. data/docs-src/themes/hugo-theme-learn/exampleSite/static/css/theme-mine.css +104 -0
  258. data/docs-src/themes/hugo-theme-learn/exampleSite/static/fonts/monogramos-webfont.eot +0 -0
  259. data/docs-src/themes/hugo-theme-learn/exampleSite/static/fonts/monogramos-webfont.svg +1 -0
  260. data/docs-src/themes/hugo-theme-learn/exampleSite/static/fonts/monogramos-webfont.ttf +0 -0
  261. data/docs-src/themes/hugo-theme-learn/exampleSite/static/fonts/monogramos-webfont.woff +0 -0
  262. data/docs-src/themes/hugo-theme-learn/exampleSite/static/fonts/monogramos-webfont.woff2 +0 -0
  263. data/docs-src/themes/hugo-theme-learn/exampleSite/static/images/showcase/inteliver_docs.png +0 -0
  264. data/docs-src/themes/hugo-theme-learn/exampleSite/static/images/showcase/tat.png +0 -0
  265. data/docs-src/themes/hugo-theme-learn/exampleSite/static/images/showcase/tshark_dev.png +0 -0
  266. data/docs-src/themes/hugo-theme-learn/i18n/ar.toml +26 -0
  267. data/docs-src/themes/hugo-theme-learn/i18n/de.toml +26 -0
  268. data/docs-src/themes/hugo-theme-learn/i18n/en.toml +26 -0
  269. data/docs-src/themes/hugo-theme-learn/i18n/es.toml +26 -0
  270. data/docs-src/themes/hugo-theme-learn/i18n/fr.toml +26 -0
  271. data/docs-src/themes/hugo-theme-learn/i18n/hi.toml +26 -0
  272. data/docs-src/themes/hugo-theme-learn/i18n/id.toml +26 -0
  273. data/docs-src/themes/hugo-theme-learn/i18n/ja.toml +26 -0
  274. data/docs-src/themes/hugo-theme-learn/i18n/nl.toml +26 -0
  275. data/docs-src/themes/hugo-theme-learn/i18n/pt.toml +26 -0
  276. data/docs-src/themes/hugo-theme-learn/i18n/ru.toml +26 -0
  277. data/docs-src/themes/hugo-theme-learn/i18n/tr.toml +26 -0
  278. data/docs-src/themes/hugo-theme-learn/i18n/zh-cn.toml +26 -0
  279. data/docs-src/themes/hugo-theme-learn/images/screenshot.png +0 -0
  280. data/docs-src/themes/hugo-theme-learn/images/tn.png +0 -0
  281. data/docs-src/themes/hugo-theme-learn/layouts/404.html +56 -0
  282. data/docs-src/themes/hugo-theme-learn/layouts/_default/list.html +22 -0
  283. data/docs-src/themes/hugo-theme-learn/layouts/_default/single.html +12 -0
  284. data/docs-src/themes/hugo-theme-learn/layouts/index.html +31 -0
  285. data/docs-src/themes/hugo-theme-learn/layouts/index.json +12 -0
  286. data/docs-src/themes/hugo-theme-learn/layouts/partials/custom-comments.html +3 -0
  287. data/docs-src/themes/hugo-theme-learn/layouts/partials/custom-footer.html +5 -0
  288. data/docs-src/themes/hugo-theme-learn/layouts/partials/custom-header.html +5 -0
  289. data/docs-src/themes/hugo-theme-learn/layouts/partials/favicon.html +1 -0
  290. data/docs-src/themes/hugo-theme-learn/layouts/partials/footer.html +77 -0
  291. data/docs-src/themes/hugo-theme-learn/layouts/partials/header.html +111 -0
  292. data/docs-src/themes/hugo-theme-learn/layouts/partials/logo.html +19 -0
  293. data/docs-src/themes/hugo-theme-learn/layouts/partials/menu-footer.html +1 -0
  294. data/docs-src/themes/hugo-theme-learn/layouts/partials/menu.html +151 -0
  295. data/docs-src/themes/hugo-theme-learn/layouts/partials/meta.html +2 -0
  296. data/docs-src/themes/hugo-theme-learn/layouts/partials/search.html +16 -0
  297. data/docs-src/themes/hugo-theme-learn/layouts/partials/tags.html +7 -0
  298. data/docs-src/themes/hugo-theme-learn/layouts/partials/toc.html +5 -0
  299. data/docs-src/themes/hugo-theme-learn/layouts/shortcodes/attachments.html +36 -0
  300. data/docs-src/themes/hugo-theme-learn/layouts/shortcodes/button.html +14 -0
  301. data/docs-src/themes/hugo-theme-learn/layouts/shortcodes/children.html +101 -0
  302. data/docs-src/themes/hugo-theme-learn/layouts/shortcodes/expand.html +17 -0
  303. data/docs-src/themes/hugo-theme-learn/layouts/shortcodes/mermaid.html +2 -0
  304. data/docs-src/themes/hugo-theme-learn/layouts/shortcodes/notice.html +2 -0
  305. data/docs-src/themes/hugo-theme-learn/layouts/shortcodes/ref.html +14 -0
  306. data/docs-src/themes/hugo-theme-learn/layouts/shortcodes/relref.html +14 -0
  307. data/docs-src/themes/hugo-theme-learn/layouts/shortcodes/siteparam.html +7 -0
  308. data/docs-src/themes/hugo-theme-learn/netlify.toml +23 -0
  309. data/docs-src/themes/hugo-theme-learn/static/css/atom-one-dark-reasonable.css +77 -0
  310. data/docs-src/themes/hugo-theme-learn/static/css/auto-complete.css +47 -0
  311. data/docs-src/themes/hugo-theme-learn/static/css/featherlight.min.css +8 -0
  312. data/docs-src/themes/hugo-theme-learn/static/css/fontawesome-all.min.css +1 -0
  313. data/docs-src/themes/hugo-theme-learn/static/css/hugo-theme.css +254 -0
  314. data/docs-src/themes/hugo-theme-learn/static/css/hybrid.css +102 -0
  315. data/docs-src/themes/hugo-theme-learn/static/css/nucleus.css +615 -0
  316. data/docs-src/themes/hugo-theme-learn/static/css/perfect-scrollbar.min.css +2 -0
  317. data/docs-src/themes/hugo-theme-learn/static/css/tags.css +49 -0
  318. data/docs-src/themes/hugo-theme-learn/static/css/theme-blue.css +111 -0
  319. data/docs-src/themes/hugo-theme-learn/static/css/theme-green.css +111 -0
  320. data/docs-src/themes/hugo-theme-learn/static/css/theme-red.css +111 -0
  321. data/docs-src/themes/hugo-theme-learn/static/css/theme.css +1136 -0
  322. data/docs-src/themes/hugo-theme-learn/static/fonts/Inconsolata.eot +0 -0
  323. data/docs-src/themes/hugo-theme-learn/static/fonts/Inconsolata.svg +1 -0
  324. data/docs-src/themes/hugo-theme-learn/static/fonts/Inconsolata.ttf +0 -0
  325. data/docs-src/themes/hugo-theme-learn/static/fonts/Inconsolata.woff +0 -0
  326. data/docs-src/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.eot +0 -0
  327. data/docs-src/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.svg +1 -0
  328. data/docs-src/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.ttf +0 -0
  329. data/docs-src/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.woff +0 -0
  330. data/docs-src/themes/hugo-theme-learn/static/fonts/Novecentosanswide-Normal-webfont.woff2 +0 -0
  331. data/docs-src/themes/hugo-theme-learn/static/fonts/Novecentosanswide-UltraLight-webfont.eot +0 -0
  332. data/docs-src/themes/hugo-theme-learn/static/fonts/Novecentosanswide-UltraLight-webfont.svg +1 -0
  333. data/docs-src/themes/hugo-theme-learn/static/fonts/Novecentosanswide-UltraLight-webfont.ttf +0 -0
  334. data/docs-src/themes/hugo-theme-learn/static/fonts/Novecentosanswide-UltraLight-webfont.woff +0 -0
  335. data/docs-src/themes/hugo-theme-learn/static/fonts/Novecentosanswide-UltraLight-webfont.woff2 +0 -0
  336. data/docs-src/themes/hugo-theme-learn/static/fonts/Work_Sans_200.eot +0 -0
  337. data/docs-src/themes/hugo-theme-learn/static/fonts/Work_Sans_200.svg +1 -0
  338. data/docs-src/themes/hugo-theme-learn/static/fonts/Work_Sans_200.ttf +0 -0
  339. data/docs-src/themes/hugo-theme-learn/static/fonts/Work_Sans_200.woff +0 -0
  340. data/docs-src/themes/hugo-theme-learn/static/fonts/Work_Sans_200.woff2 +0 -0
  341. data/docs-src/themes/hugo-theme-learn/static/fonts/Work_Sans_300.eot +0 -0
  342. data/docs-src/themes/hugo-theme-learn/static/fonts/Work_Sans_300.svg +1 -0
  343. data/docs-src/themes/hugo-theme-learn/static/fonts/Work_Sans_300.ttf +0 -0
  344. data/docs-src/themes/hugo-theme-learn/static/fonts/Work_Sans_300.woff +0 -0
  345. data/docs-src/themes/hugo-theme-learn/static/fonts/Work_Sans_300.woff2 +0 -0
  346. data/docs-src/themes/hugo-theme-learn/static/fonts/Work_Sans_500.eot +0 -0
  347. data/docs-src/themes/hugo-theme-learn/static/fonts/Work_Sans_500.svg +1 -0
  348. data/docs-src/themes/hugo-theme-learn/static/fonts/Work_Sans_500.ttf +0 -0
  349. data/docs-src/themes/hugo-theme-learn/static/fonts/Work_Sans_500.woff +0 -0
  350. data/docs-src/themes/hugo-theme-learn/static/fonts/Work_Sans_500.woff2 +0 -0
  351. data/docs-src/themes/hugo-theme-learn/static/images/clippy.svg +1 -0
  352. data/docs-src/themes/hugo-theme-learn/static/images/favicon.png +0 -0
  353. data/docs-src/themes/hugo-theme-learn/static/images/gopher-404.jpg +0 -0
  354. data/docs-src/themes/hugo-theme-learn/static/js/auto-complete.js +3 -0
  355. data/docs-src/themes/hugo-theme-learn/static/js/clipboard.min.js +7 -0
  356. data/docs-src/themes/hugo-theme-learn/static/js/featherlight.min.js +9 -0
  357. data/docs-src/themes/hugo-theme-learn/static/js/highlight.pack.js +6 -0
  358. data/docs-src/themes/hugo-theme-learn/static/js/hugo-learn.js +94 -0
  359. data/docs-src/themes/hugo-theme-learn/static/js/jquery-3.3.1.min.js +2 -0
  360. data/docs-src/themes/hugo-theme-learn/static/js/jquery.sticky.js +288 -0
  361. data/docs-src/themes/hugo-theme-learn/static/js/learn.js +459 -0
  362. data/docs-src/themes/hugo-theme-learn/static/js/lunr.min.js +6 -0
  363. data/docs-src/themes/hugo-theme-learn/static/js/modernizr.custom-3.6.0.js +3 -0
  364. data/docs-src/themes/hugo-theme-learn/static/js/perfect-scrollbar.jquery.min.js +2 -0
  365. data/docs-src/themes/hugo-theme-learn/static/js/perfect-scrollbar.min.js +2 -0
  366. data/docs-src/themes/hugo-theme-learn/static/js/search.js +93 -0
  367. data/docs-src/themes/hugo-theme-learn/static/mermaid/mermaid.css +277 -0
  368. data/docs-src/themes/hugo-theme-learn/static/mermaid/mermaid.dark.css +278 -0
  369. data/docs-src/themes/hugo-theme-learn/static/mermaid/mermaid.forest.css +356 -0
  370. data/docs-src/themes/hugo-theme-learn/static/mermaid/mermaid.js +8 -0
  371. data/docs-src/themes/hugo-theme-learn/static/webfonts/fa-brands-400.eot +0 -0
  372. data/docs-src/themes/hugo-theme-learn/static/webfonts/fa-brands-400.svg +1 -0
  373. data/docs-src/themes/hugo-theme-learn/static/webfonts/fa-brands-400.ttf +0 -0
  374. data/docs-src/themes/hugo-theme-learn/static/webfonts/fa-brands-400.woff +0 -0
  375. data/docs-src/themes/hugo-theme-learn/static/webfonts/fa-brands-400.woff2 +0 -0
  376. data/docs-src/themes/hugo-theme-learn/static/webfonts/fa-regular-400.eot +0 -0
  377. data/docs-src/themes/hugo-theme-learn/static/webfonts/fa-regular-400.svg +1 -0
  378. data/docs-src/themes/hugo-theme-learn/static/webfonts/fa-regular-400.ttf +0 -0
  379. data/docs-src/themes/hugo-theme-learn/static/webfonts/fa-regular-400.woff +0 -0
  380. data/docs-src/themes/hugo-theme-learn/static/webfonts/fa-regular-400.woff2 +0 -0
  381. data/docs-src/themes/hugo-theme-learn/static/webfonts/fa-solid-900.eot +0 -0
  382. data/docs-src/themes/hugo-theme-learn/static/webfonts/fa-solid-900.svg +1 -0
  383. data/docs-src/themes/hugo-theme-learn/static/webfonts/fa-solid-900.ttf +0 -0
  384. data/docs-src/themes/hugo-theme-learn/static/webfonts/fa-solid-900.woff +0 -0
  385. data/docs-src/themes/hugo-theme-learn/static/webfonts/fa-solid-900.woff2 +0 -0
  386. data/docs-src/themes/hugo-theme-learn/theme.toml +21 -0
  387. data/docs-src/themes/hugo-theme-learn/wercker.yml +16 -0
  388. data/exe/rbcli +1 -0
  389. data/lib/rbcli/configuration/configurate_blocks/me.rb +5 -5
  390. data/lib/rbcli/engine/command.rb +3 -2
  391. data/lib/rbcli/util/deprecation_warning.rb +21 -4
  392. data/lib/rbcli/util/msg.rb +0 -1
  393. data/lib/rbcli/version.rb +1 -1
  394. data/lib/rbcli-tool/project.rb +6 -2
  395. data/rbcli.gemspec +12 -13
  396. data/skeletons/project/.rakeTasks +7 -0
  397. data/skeletons/project/Gemfile +1 -1
  398. data/skeletons/project/application/commands/scripts/script.sh +6 -1
  399. data/skeletons/project/config/general.rb +1 -1
  400. data/skeletons/project/exe/executable +1 -3
  401. data/skeletons/project/lib/lib.erb +9 -0
  402. data/skeletons/project/spec/spec_helper.rb +7 -7
  403. data/skeletons/project/spec/untitled_spec.rb +6 -6
  404. data/skeletons/project/untitled.gemspec +30 -30
  405. metadata +384 -98
  406. data/docs/assets/fonts/font-awesome.css +0 -4
  407. data/docs/assets/fonts/material-icons.css +0 -13
  408. data/docs/assets/fonts/specimen/FontAwesome.ttf +0 -0
  409. data/docs/assets/fonts/specimen/FontAwesome.woff +0 -0
  410. data/docs/assets/fonts/specimen/FontAwesome.woff2 +0 -0
  411. data/docs/assets/fonts/specimen/MaterialIcons-Regular.ttf +0 -0
  412. data/docs/assets/fonts/specimen/MaterialIcons-Regular.woff +0 -0
  413. data/docs/assets/fonts/specimen/MaterialIcons-Regular.woff2 +0 -0
  414. data/docs/assets/images/favicon.png +0 -0
  415. data/docs/assets/images/icons/bitbucket.1b09e088.svg +0 -20
  416. data/docs/assets/images/icons/github.f0b8504a.svg +0 -18
  417. data/docs/assets/images/icons/gitlab.6dd19c00.svg +0 -38
  418. data/docs/assets/javascripts/application.583bbe55.js +0 -1
  419. data/docs/assets/javascripts/lunr/lunr.da.js +0 -1
  420. data/docs/assets/javascripts/lunr/lunr.de.js +0 -1
  421. data/docs/assets/javascripts/lunr/lunr.du.js +0 -1
  422. data/docs/assets/javascripts/lunr/lunr.es.js +0 -1
  423. data/docs/assets/javascripts/lunr/lunr.fi.js +0 -1
  424. data/docs/assets/javascripts/lunr/lunr.fr.js +0 -1
  425. data/docs/assets/javascripts/lunr/lunr.hu.js +0 -1
  426. data/docs/assets/javascripts/lunr/lunr.it.js +0 -1
  427. data/docs/assets/javascripts/lunr/lunr.jp.js +0 -1
  428. data/docs/assets/javascripts/lunr/lunr.multi.js +0 -1
  429. data/docs/assets/javascripts/lunr/lunr.no.js +0 -1
  430. data/docs/assets/javascripts/lunr/lunr.pt.js +0 -1
  431. data/docs/assets/javascripts/lunr/lunr.ro.js +0 -1
  432. data/docs/assets/javascripts/lunr/lunr.ru.js +0 -1
  433. data/docs/assets/javascripts/lunr/lunr.stemmer.support.js +0 -1
  434. data/docs/assets/javascripts/lunr/lunr.sv.js +0 -1
  435. data/docs/assets/javascripts/lunr/lunr.tr.js +0 -1
  436. data/docs/assets/javascripts/lunr/tinyseg.js +0 -1
  437. data/docs/assets/javascripts/modernizr.1aa3b519.js +0 -1
  438. data/docs/assets/stylesheets/application-palette.22915126.css +0 -1176
  439. data/docs/assets/stylesheets/application.451f80e5.css +0 -2552
  440. data/docs/imported/quick_reference/index.html +0 -1120
  441. data/docs/search/search_index.json +0 -1
  442. data/docs/sitemap.xml.gz +0 -0
  443. data/docs-src/mkdocs.yml +0 -79
  444. data/skeletons/project/lib/.keep +0 -0
data/docs/index.html CHANGED
@@ -1,663 +1,658 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en" class="js csstransforms3d">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <meta name="generator" content="Hugo 0.88.1" />
7
+ <meta name="description" content="">
1
8
 
2
9
 
10
+ <link rel="icon" href="/rbcli/images/favicon.png" type="image/png">
3
11
 
12
+ <title> :: RBCli Documentation</title>
4
13
 
5
- <!DOCTYPE html>
6
- <html lang="en" class="no-js">
7
- <head>
8
-
9
- <meta charset="utf-8">
10
- <meta name="viewport" content="width=device-width,initial-scale=1">
11
- <meta http-equiv="x-ua-compatible" content="ie=edge">
12
-
13
- <meta name="description" content="Description">
14
-
15
-
16
-
17
- <meta name="author" content="Andrew Khoury">
18
-
19
-
20
- <meta name="lang:clipboard.copy" content="Copy to clipboard">
21
-
22
- <meta name="lang:clipboard.copied" content="Copied to clipboard">
23
-
24
- <meta name="lang:search.language" content="en">
25
-
26
- <meta name="lang:search.pipeline.stopwords" content="True">
27
-
28
- <meta name="lang:search.pipeline.trimmer" content="True">
29
-
30
- <meta name="lang:search.result.none" content="No matching documents">
31
-
32
- <meta name="lang:search.result.one" content="1 matching document">
33
-
34
- <meta name="lang:search.result.other" content="# matching documents">
35
-
36
- <meta name="lang:search.tokenizer" content="[\s\-]+">
37
-
38
- <link rel="shortcut icon" href="assets/images/favicon.png">
39
- <meta name="generator" content="mkdocs-1.0.3, mkdocs-material-3.0.4">
40
-
41
-
42
-
43
- <title>RBCli Documentation</title>
44
-
45
14
 
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">
46
24
 
47
- <link rel="stylesheet" href="assets/stylesheets/application.451f80e5.css">
48
-
49
-
50
-
51
-
52
- <script src="assets/javascripts/modernizr.1aa3b519.js"></script>
25
+ <link href="/rbcli/css/theme-blue.css?1634703589" rel="stylesheet">
53
26
 
54
27
 
28
+
29
+ <script src="/rbcli/js/jquery-3.3.1.min.js?1634703589"></script>
30
+
31
+ <style>
32
+ :root #header + #content > #left > #rlblock_left{
33
+ display:none !important;
34
+ }
55
35
 
56
- <link href="https://fonts.gstatic.com" rel="preconnect" crossorigin>
57
- <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono">
58
- <style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style>
59
-
36
+ </style>
60
37
 
61
- <link rel="stylesheet" href="assets/fonts/material-icons.css">
38
+ </head>
39
+ <body class="" data-url="/rbcli/">
40
+ <nav id="sidebar" class="">
41
+
42
+
43
+
44
+ <div id="header-wrapper">
45
+ <div id="header">
46
+ <a id="logo" href="https://akhoury6.github.io/rbcli/" style="font-size: 40px">
47
+ <span class="fas fa-terminal"></span>&nbsp;𝚁𝙱𝙲𝚕𝚒
48
+ </a>
49
+
50
+ </div>
62
51
 
52
+ <div class="searchbox">
53
+ <label for="search-by"><i class="fas fa-search"></i></label>
54
+ <input data-search-input id="search-by" type="search" placeholder="Search...">
55
+ <span data-search-clear=""><i class="fas fa-times"></i></span>
56
+ </div>
57
+
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
+ <script type="text/javascript">
63
61
 
64
- </head>
65
-
66
- <body dir="ltr">
67
-
68
- <svg class="md-svg">
69
- <defs>
70
-
71
-
72
- <svg xmlns="http://www.w3.org/2000/svg" width="416" height="448"
73
- viewBox="0 0 416 448" id="__github">
74
- <path fill="currentColor" d="M160 304q0 10-3.125 20.5t-10.75 19-18.125
75
- 8.5-18.125-8.5-10.75-19-3.125-20.5 3.125-20.5 10.75-19 18.125-8.5
76
- 18.125 8.5 10.75 19 3.125 20.5zM320 304q0 10-3.125 20.5t-10.75
77
- 19-18.125 8.5-18.125-8.5-10.75-19-3.125-20.5 3.125-20.5 10.75-19
78
- 18.125-8.5 18.125 8.5 10.75 19 3.125 20.5zM360
79
- 304q0-30-17.25-51t-46.75-21q-10.25 0-48.75 5.25-17.75 2.75-39.25
80
- 2.75t-39.25-2.75q-38-5.25-48.75-5.25-29.5 0-46.75 21t-17.25 51q0 22 8
81
- 38.375t20.25 25.75 30.5 15 35 7.375 37.25 1.75h42q20.5 0
82
- 37.25-1.75t35-7.375 30.5-15 20.25-25.75 8-38.375zM416 260q0 51.75-15.25
83
- 82.75-9.5 19.25-26.375 33.25t-35.25 21.5-42.5 11.875-42.875 5.5-41.75
84
- 1.125q-19.5 0-35.5-0.75t-36.875-3.125-38.125-7.5-34.25-12.875-30.25-20.25-21.5-28.75q-15.5-30.75-15.5-82.75
85
- 0-59.25 34-99-6.75-20.5-6.75-42.5 0-29 12.75-54.5 27 0 47.5 9.875t47.25
86
- 30.875q36.75-8.75 77.25-8.75 37 0 70 8 26.25-20.5
87
- 46.75-30.25t47.25-9.75q12.75 25.5 12.75 54.5 0 21.75-6.75 42 34 40 34
88
- 99.5z" />
89
- </svg>
90
-
91
- </defs>
92
- </svg>
93
- <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
94
- <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
95
- <label class="md-overlay" data-md-component="overlay" for="__drawer"></label>
96
-
97
- <a href="#this-is-rbcli" tabindex="1" class="md-skip">
98
- Skip to content
99
- </a>
62
+ var baseurl = "https:\/\/akhoury6.github.io\/rbcli\/";
100
63
 
64
+ </script>
65
+ <script type="text/javascript" src="/rbcli/js/search.js?1634703589"></script>
66
+
101
67
 
102
- <header class="md-header" data-md-component="header">
103
- <nav class="md-header-nav md-grid">
104
- <div class="md-flex">
105
- <div class="md-flex__cell md-flex__cell--shrink">
106
- <a href="." title="RBCli Documentation" class="md-header-nav__button md-logo">
107
-
108
- <i class="md-icon">devices</i>
109
-
110
- </a>
111
- </div>
112
- <div class="md-flex__cell md-flex__cell--shrink">
113
- <label class="md-icon md-icon--menu md-header-nav__button" for="__drawer"></label>
114
- </div>
115
- <div class="md-flex__cell md-flex__cell--stretch">
116
- <div class="md-flex__ellipsis md-header-nav__title" data-md-component="title">
117
-
118
-
119
- <span class="md-header-nav__topic">
120
- RBCli Documentation
121
- </span>
122
- <span class="md-header-nav__topic">
123
- Home
124
- </span>
125
-
126
-
127
- </div>
128
- </div>
129
- <div class="md-flex__cell md-flex__cell--shrink">
130
-
131
-
132
- <label class="md-icon md-icon--search md-header-nav__button" for="__search"></label>
133
-
134
- <div class="md-search" data-md-component="search" role="dialog">
135
- <label class="md-search__overlay" for="__search"></label>
136
- <div class="md-search__inner" role="search">
137
- <form class="md-search__form" name="search">
138
- <input type="text" class="md-search__input" name="query" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="query" data-md-state="active">
139
- <label class="md-icon md-search__icon" for="__search"></label>
140
- <button type="reset" class="md-icon md-search__icon" data-md-component="reset" tabindex="-1">
141
- &#xE5CD;
142
- </button>
143
- </form>
144
- <div class="md-search__output">
145
- <div class="md-search__scrollwrap" data-md-scrollfix>
146
- <div class="md-search-result" data-md-component="result">
147
- <div class="md-search-result__meta">
148
- Type to start searching
149
- </div>
150
- <ol class="md-search-result__list"></ol>
151
- </div>
152
- </div>
153
- </div>
154
68
  </div>
155
- </div>
156
-
157
-
158
- </div>
159
-
160
- <div class="md-flex__cell md-flex__cell--shrink">
161
- <div class="md-header-nav__source">
162
-
163
69
 
70
+ <div class="highlightable">
71
+ <ul class="topics">
164
72
 
165
-
73
+
74
+
75
+
166
76
 
167
77
 
168
- <a href="https://github.com/akhoury6/rbcli/" title="Go to repository" class="md-source" data-md-source="github">
169
-
170
- <div class="md-source__icon">
171
- <svg viewBox="0 0 24 24" width="24" height="24">
172
- <use xlink:href="#__github" width="24" height="24"></use>
173
- </svg>
174
- </div>
175
-
176
- <div class="md-source__repository">
177
- GitHub
178
- </div>
179
- </a>
180
78
 
181
- </div>
182
- </div>
183
-
184
- </div>
185
- </nav>
186
- </header>
79
+
80
+
81
+
187
82
 
188
- <div class="md-container">
189
-
83
+ <li data-nav-id="/rbcli/quick_reference/" title="Quick Reference" class="dd-item
190
84
 
191
-
192
-
193
85
 
194
-
195
- <nav class="md-tabs" data-md-component="tabs">
196
- <div class="md-tabs__inner md-grid">
197
- <ul class="md-tabs__list">
198
-
199
86
 
200
- <li class="md-tabs__item">
201
-
202
- <a href="." title="Home" class="md-tabs__link md-tabs__link--active">
203
- Home
87
+ ">
88
+ <a href="/rbcli/quick_reference/">
89
+ Quick Reference
90
+
204
91
  </a>
205
-
206
- </li>
207
-
208
-
209
-
210
92
 
211
-
93
+
94
+ </li>
212
95
 
96
+
97
+
98
+
99
+
100
+
101
+
102
+
103
+
104
+
213
105
 
214
- <li class="md-tabs__item">
215
-
216
- <a href="tutorial/10-getting_started/" title="Tutorial" class="md-tabs__link">
106
+
107
+ <li data-nav-id="/rbcli/tutorial/" title="Tutorial" class="dd-item
108
+
109
+
110
+
111
+ ">
112
+ <a href="/rbcli/tutorial/">
217
113
  Tutorial
218
- </a>
114
+
115
+ </a>
219
116
 
220
- </li>
221
-
222
-
223
117
 
118
+ <ul>
119
+
120
+
121
+
122
+
224
123
 
124
+
125
+
126
+
127
+
128
+
129
+
130
+
131
+
225
132
 
226
-
227
- <li class="md-tabs__item">
228
-
229
- <a href="advanced/command_types/" title="Advanced Features" class="md-tabs__link">
230
- Advanced Features
133
+
134
+ <li data-nav-id="/rbcli/tutorial/10-getting_started/" title="Getting Started" class="dd-item ">
135
+ <a href="/rbcli/tutorial/10-getting_started/">
136
+ <b>1. </b>Getting Started
137
+
231
138
  </a>
232
-
233
139
  </li>
140
+
234
141
 
142
+
235
143
 
236
-
237
-
238
-
144
+
145
+
146
+
147
+
148
+
149
+
150
+
151
+
152
+
239
153
 
240
- <li class="md-tabs__item">
241
-
242
- <a href="development/contributing/" title="Development" class="md-tabs__link">
243
- Development
154
+
155
+ <li data-nav-id="/rbcli/tutorial/20-project_layout/" title="The Project Layout" class="dd-item ">
156
+ <a href="/rbcli/tutorial/20-project_layout/">
157
+ <b>2. </b>The Project Layout
158
+
244
159
  </a>
245
-
246
160
  </li>
161
+
247
162
 
163
+
248
164
 
249
-
250
-
251
-
252
- </ul>
253
- </div>
254
- </nav>
255
-
256
- <main class="md-main">
257
- <div class="md-main__inner md-grid" data-md-component="container">
165
+
258
166
 
259
167
 
260
- <div class="md-sidebar md-sidebar--primary" data-md-component="navigation">
261
- <div class="md-sidebar__scrollwrap">
262
- <div class="md-sidebar__inner">
263
- <nav class="md-nav md-nav--primary" data-md-level="0">
264
- <label class="md-nav__title md-nav__title--site" for="__drawer">
265
- <a href="." title="RBCli Documentation" class="md-nav__button md-logo">
266
-
267
- <i class="md-icon">devices</i>
268
-
269
- </a>
270
- RBCli Documentation
271
- </label>
272
-
273
- <div class="md-nav__source">
274
-
275
-
168
+
276
169
 
277
-
278
170
 
279
171
 
280
- <a href="https://github.com/akhoury6/rbcli/" title="Go to repository" class="md-source" data-md-source="github">
281
-
282
- <div class="md-source__icon">
283
- <svg viewBox="0 0 24 24" width="24" height="24">
284
- <use xlink:href="#__github" width="24" height="24"></use>
285
- </svg>
286
- </div>
287
-
288
- <div class="md-source__repository">
289
- GitHub
290
- </div>
291
- </a>
292
172
 
293
- </div>
173
+
294
174
 
295
- <ul class="md-nav__list" data-md-scrollfix>
296
175
 
297
-
298
-
299
-
300
-
176
+ <li data-nav-id="/rbcli/tutorial/30-your_first_command/" title="Your First Command" class="dd-item ">
177
+ <a href="/rbcli/tutorial/30-your_first_command/">
178
+ <b>3. </b>Your First Command
179
+
180
+ </a>
181
+ </li>
182
+
301
183
 
184
+
185
+
186
+
187
+
188
+
189
+
302
190
 
303
191
 
304
- <li class="md-nav__item md-nav__item--active">
305
-
306
- <input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="__toc">
307
-
308
-
309
-
310
-
311
- <a href="." title="Home" class="md-nav__link md-nav__link--active">
312
- Home
313
- </a>
314
-
315
- </li>
316
192
 
193
+
194
+
195
+
317
196
 
318
-
319
-
320
-
197
+ <li data-nav-id="/rbcli/tutorial/40-options_parameters_and_arguments/" title="Options, Parameters, and Arguments" class="dd-item ">
198
+ <a href="/rbcli/tutorial/40-options_parameters_and_arguments/">
199
+ <b>4. </b>Options, Parameters, and Arguments
200
+
201
+ </a>
202
+ </li>
203
+
204
+
205
+
321
206
 
207
+
208
+
209
+
210
+
322
211
 
323
- <li class="md-nav__item">
324
- <a href="imported/quick_reference/" title="Quick Reference" class="md-nav__link">
325
- Quick Reference
326
- </a>
327
- </li>
328
212
 
329
-
330
-
331
-
332
-
333
213
 
334
214
 
335
- <li class="md-nav__item md-nav__item--nested">
336
-
337
- <input class="md-toggle md-nav__toggle" data-md-toggle="nav-3" type="checkbox" id="nav-3">
215
+
216
+
338
217
 
339
- <label class="md-nav__link" for="nav-3">
340
- Tutorial
341
- </label>
342
- <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
343
- <label class="md-nav__title" for="nav-3">
344
- Tutorial
345
- </label>
346
- <ul class="md-nav__list" data-md-scrollfix>
347
-
218
+ <li data-nav-id="/rbcli/tutorial/50-publishing/" title="Publishing Your Application" class="dd-item ">
219
+ <a href="/rbcli/tutorial/50-publishing/">
220
+ <b>5. </b>Publishing Your Application
348
221
 
222
+ </a>
223
+ </li>
224
+
225
+
226
+
227
+
228
+
349
229
 
230
+
231
+ </ul>
232
+
233
+ </li>
234
+
235
+
236
+
350
237
 
351
238
 
352
239
 
353
240
 
354
- <li class="md-nav__item">
355
- <a href="tutorial/10-getting_started/" title="Getting Started" class="md-nav__link">
356
- Getting Started
357
- </a>
358
- </li>
359
241
 
242
+
243
+
244
+
245
+
246
+ <li data-nav-id="/rbcli/advanced/" title="Advanced" class="dd-item
247
+
360
248
 
249
+
250
+ ">
251
+ <a href="/rbcli/advanced/">
252
+ Advanced
361
253
 
254
+ </a>
255
+
256
+
257
+ <ul>
362
258
 
363
259
 
364
-
365
-
366
- <li class="md-nav__item">
367
- <a href="tutorial/20-project_layout/" title="The Project Layout" class="md-nav__link">
368
- The Project Layout
369
- </a>
370
- </li>
371
-
372
-
373
260
 
374
261
 
262
+
375
263
 
264
+
265
+
266
+
376
267
 
377
268
 
378
- <li class="md-nav__item">
379
- <a href="tutorial/30-your_first_command/" title="Your First Command" class="md-nav__link">
380
- Your First Command
381
- </a>
382
- </li>
383
269
 
270
+
271
+
272
+
273
+ <li data-nav-id="/rbcli/advanced/automatic_updates/" title="Automatic Updates" class="dd-item ">
274
+ <a href="/rbcli/advanced/automatic_updates/">
275
+ Automatic Updates
384
276
 
277
+ </a>
278
+ </li>
279
+
280
+
281
+
282
+
283
+
385
284
 
386
-
387
-
285
+
286
+
388
287
 
389
288
 
390
- <li class="md-nav__item">
391
- <a href="tutorial/40-options_parameters_and_arguments/" title="Options, Parameters, and Arguments" class="md-nav__link">
392
- Options, Parameters, and Arguments
393
- </a>
394
- </li>
395
289
 
396
-
397
-
398
-
399
-
400
290
 
291
+
292
+
293
+
294
+ <li data-nav-id="/rbcli/advanced/command_types/" title="Command Types" class="dd-item ">
295
+ <a href="/rbcli/advanced/command_types/">
296
+ Command Types
297
+
298
+ </a>
299
+ </li>
300
+
301
+
302
+
401
303
 
402
- <li class="md-nav__item">
403
- <a href="tutorial/50-publishing/" title="Publishing and Distribution" class="md-nav__link">
404
- Publishing and Distribution
405
- </a>
406
- </li>
304
+
305
+
306
+
307
+
407
308
 
408
-
409
- </ul>
410
- </nav>
411
- </li>
412
309
 
413
-
414
-
415
-
416
-
417
310
 
418
311
 
419
- <li class="md-nav__item md-nav__item--nested">
420
-
421
- <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4" type="checkbox" id="nav-4">
312
+
313
+
422
314
 
423
- <label class="md-nav__link" for="nav-4">
424
- Advanced Features
425
- </label>
426
- <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
427
- <label class="md-nav__title" for="nav-4">
428
- Advanced Features
429
- </label>
430
- <ul class="md-nav__list" data-md-scrollfix>
315
+ <li data-nav-id="/rbcli/advanced/distributed_state_locking/" title="Distributed State and Locking" class="dd-item ">
316
+ <a href="/rbcli/advanced/distributed_state_locking/">
317
+ Distributed State and Locking
431
318
 
432
-
433
-
434
-
319
+ </a>
320
+ </li>
321
+
322
+
323
+
324
+
325
+
435
326
 
327
+
328
+
436
329
 
437
330
 
438
- <li class="md-nav__item">
439
- <a href="advanced/command_types/" title="Command Types" class="md-nav__link">
440
- Command Types
441
- </a>
442
- </li>
443
331
 
332
+
333
+
334
+
335
+
336
+ <li data-nav-id="/rbcli/advanced/hooks/" title="Execution Hooks" class="dd-item ">
337
+ <a href="/rbcli/advanced/hooks/">
338
+ Execution Hooks
444
339
 
340
+ </a>
341
+ </li>
342
+
343
+
344
+
345
+
346
+
445
347
 
446
-
447
-
348
+
349
+
448
350
 
449
351
 
450
- <li class="md-nav__item">
451
- <a href="advanced/user_config_files/" title="User Config Files" class="md-nav__link">
452
- User Config Files
453
- </a>
454
- </li>
455
352
 
353
+
354
+
355
+
356
+
357
+ <li data-nav-id="/rbcli/advanced/interactive_commands/" title="Interactive Commands" class="dd-item ">
358
+ <a href="/rbcli/advanced/interactive_commands/">
359
+ Interactive Commands
456
360
 
361
+ </a>
362
+ </li>
363
+
364
+
365
+
366
+
367
+
457
368
 
458
-
459
-
369
+
370
+
460
371
 
461
372
 
462
- <li class="md-nav__item">
463
- <a href="advanced/hooks/" title="Hooks" class="md-nav__link">
464
- Hooks
465
- </a>
466
- </li>
467
373
 
374
+
375
+
376
+
377
+
378
+ <li data-nav-id="/rbcli/advanced/logging/" title="Logging" class="dd-item ">
379
+ <a href="/rbcli/advanced/logging/">
380
+ Logging
468
381
 
382
+ </a>
383
+ </li>
384
+
385
+
386
+
387
+
388
+
469
389
 
470
-
471
-
390
+
391
+
472
392
 
473
393
 
474
- <li class="md-nav__item">
475
- <a href="advanced/logging/" title="Logging" class="md-nav__link">
476
- Logging
477
- </a>
478
- </li>
479
394
 
395
+
396
+
397
+
398
+
399
+ <li data-nav-id="/rbcli/advanced/remote_execution/" title="Remote Execution" class="dd-item ">
400
+ <a href="/rbcli/advanced/remote_execution/">
401
+ Remote Execution
480
402
 
403
+ </a>
404
+ </li>
405
+
406
+
407
+
408
+
409
+
481
410
 
482
-
483
-
411
+
412
+
484
413
 
485
414
 
486
- <li class="md-nav__item">
487
- <a href="advanced/automatic_updates/" title="Automatic Updates" class="md-nav__link">
488
- Automatic Updates
489
- </a>
490
- </li>
491
415
 
416
+
417
+
418
+
419
+
420
+ <li data-nav-id="/rbcli/advanced/state_storage/" title="State Storage" class="dd-item ">
421
+ <a href="/rbcli/advanced/state_storage/">
422
+ State Storage
492
423
 
424
+ </a>
425
+ </li>
426
+
427
+
428
+
429
+
430
+
493
431
 
494
-
495
-
432
+
433
+
496
434
 
497
435
 
498
- <li class="md-nav__item">
499
- <a href="advanced/state_storage/" title="State Storage" class="md-nav__link">
500
- State Storage
501
- </a>
502
- </li>
503
436
 
437
+
438
+
439
+
440
+
441
+ <li data-nav-id="/rbcli/advanced/user_config_files/" title="User Configuration Files" class="dd-item ">
442
+ <a href="/rbcli/advanced/user_config_files/">
443
+ User Configuration Files
504
444
 
445
+ </a>
446
+ </li>
447
+
448
+
449
+
450
+
451
+
505
452
 
453
+
454
+ </ul>
455
+
456
+ </li>
457
+
458
+
459
+
506
460
 
507
461
 
508
462
 
509
463
 
510
- <li class="md-nav__item">
511
- <a href="advanced/distributed_state_locking/" title="Distributed State Locking" class="md-nav__link">
512
- Distributed State Locking
513
- </a>
514
- </li>
515
464
 
465
+
466
+
467
+
468
+
469
+ <li data-nav-id="/rbcli/development/" title="Development" class="dd-item
470
+
471
+
516
472
 
473
+ ">
474
+ <a href="/rbcli/development/">
475
+ Development
517
476
 
477
+ </a>
478
+
479
+
480
+ <ul>
518
481
 
519
482
 
520
-
521
-
522
- <li class="md-nav__item">
523
- <a href="advanced/remote_execution/" title="Remote Execution" class="md-nav__link">
524
- Remote Execution
525
- </a>
526
- </li>
527
-
528
-
529
483
 
530
484
 
485
+
531
486
 
487
+
488
+
532
489
 
533
490
 
534
- <li class="md-nav__item">
535
- <a href="advanced/interactive_commands/" title="Interactive Commands" class="md-nav__link">
536
- Interactive Commands
537
- </a>
538
- </li>
539
-
540
-
541
- </ul>
542
- </nav>
543
- </li>
544
-
545
-
546
-
547
-
548
-
549
491
 
550
492
 
551
- <li class="md-nav__item md-nav__item--nested">
552
-
553
- <input class="md-toggle md-nav__toggle" data-md-toggle="nav-5" type="checkbox" id="nav-5">
493
+
494
+
554
495
 
555
- <label class="md-nav__link" for="nav-5">
556
- Development
557
- </label>
558
- <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
559
- <label class="md-nav__title" for="nav-5">
560
- Development
561
- </label>
562
- <ul class="md-nav__list" data-md-scrollfix>
496
+ <li data-nav-id="/rbcli/development/contributing/" title="Contribution Guide" class="dd-item ">
497
+ <a href="/rbcli/development/contributing/">
498
+ Contribution Guide
563
499
 
564
-
565
-
566
-
500
+ </a>
501
+ </li>
502
+
503
+
504
+
505
+
506
+
567
507
 
508
+
509
+
568
510
 
569
511
 
570
- <li class="md-nav__item">
571
- <a href="development/contributing/" title="Contribution Guide" class="md-nav__link">
572
- Contribution Guide
573
- </a>
574
- </li>
575
512
 
513
+
514
+
515
+
516
+
517
+ <li data-nav-id="/rbcli/development/license/" title="License Info" class="dd-item ">
518
+ <a href="/rbcli/development/license/">
519
+ License Info
576
520
 
521
+ </a>
522
+ </li>
523
+
524
+
525
+
526
+
527
+
577
528
 
578
-
579
-
529
+
530
+
580
531
 
581
532
 
582
- <li class="md-nav__item">
583
- <a href="development/license/" title="License Info" class="md-nav__link">
584
- License Info
585
- </a>
586
- </li>
587
533
 
534
+
535
+
536
+
537
+
538
+ <li data-nav-id="/rbcli/development/code_of_conduct/" title="Code of Conduct" class="dd-item ">
539
+ <a href="/rbcli/development/code_of_conduct/">
540
+ Code of Conduct
588
541
 
542
+ </a>
543
+ </li>
544
+
545
+
546
+
547
+
548
+
589
549
 
590
-
591
-
550
+
551
+
592
552
 
593
553
 
594
- <li class="md-nav__item">
595
- <a href="development/code_of_conduct/" title="Code of Conduct" class="md-nav__link">
596
- Code of Conduct
597
- </a>
598
- </li>
599
554
 
555
+
556
+
557
+
558
+
559
+ <li data-nav-id="/rbcli/development/changelog/" title="Changelog" class="dd-item ">
560
+ <a href="/rbcli/development/changelog/">
561
+ Changelog
600
562
 
563
+ </a>
564
+ </li>
565
+
566
+
567
+
568
+
569
+
601
570
 
571
+
572
+ </ul>
573
+
574
+ </li>
575
+
576
+
577
+
602
578
 
603
579
 
604
580
 
605
581
 
606
- <li class="md-nav__item">
607
- <a href="imported/changelog/" title="Changelog" class="md-nav__link">
608
- Changelog
609
- </a>
610
- </li>
611
582
 
612
-
613
- </ul>
614
- </nav>
615
- </li>
616
583
 
584
+
585
+
617
586
 
587
+ <li data-nav-id="/rbcli/whoami/" title="My Letter To You" class="dd-item
588
+
589
+
590
+
591
+ ">
592
+ <a href="/rbcli/whoami/">
593
+ My Letter To You
594
+
595
+ </a>
618
596
 
619
-
620
-
621
-
597
+
598
+ </li>
599
+
600
+
622
601
 
623
- <li class="md-nav__item">
624
- <a href="whoami/" title="whoami" class="md-nav__link">
625
- whoami
626
- </a>
627
- </li>
602
+
603
+
604
+ </ul>
628
605
 
629
606
 
630
- </ul>
631
- </nav>
632
- </div>
633
- </div>
634
- </div>
635
-
636
-
637
- <div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
638
- <div class="md-sidebar__scrollwrap">
639
- <div class="md-sidebar__inner">
640
-
641
- <nav class="md-nav md-nav--secondary">
642
-
643
-
644
607
 
645
-
646
-
647
- </nav>
648
- </div>
649
- </div>
650
- </div>
651
-
608
+ <section id="shortcuts">
609
+ <h3>More</h3>
610
+ <ul>
652
611
 
653
- <div class="md-content">
654
- <article class="md-content__inner md-typeset">
612
+ <li>
613
+ <a class="padding" href="https://github.com/akhoury6/rbcli"><i class='fab fa-github'></i> Github repo</a>
614
+ </li>
615
+
616
+ <li>
617
+ <a class="padding" href="https://rubygems.org/gems/rbcli"><i class='far fa-gem'></i> Rubygems</a>
618
+ </li>
619
+
620
+ </ul>
621
+ </section>
622
+
623
+
624
+
625
+ <section id="footer">
626
+ <p>Built with <a href="https://github.com/matcornic/hugo-theme-learn"><i class="fas fa-heart"></i></a> from <a href="https://getgrav.org">Grav</a> and <a href="https://gohugo.io/">Hugo</a></p>
627
+
628
+ </section>
629
+ </div>
630
+ </nav>
631
+
632
+
633
+
634
+
635
+ <section id="body">
636
+ <div id="overlay"></div>
637
+ <div class="padding highlightable">
655
638
 
656
-
657
-
658
- <h1 id="this-is-rbcli">This is RBCli</h1>
659
- <p>As technologists today, we work with the command line a lot. We script a lot. We write tools to share with each other to make our lives easier. We even write applications to make up for missing features in the 3rd party software that we buy. Unfortunately, when writing CLI tools, this process has typically been very painful. We've been working with low-level frameworks for decades; frameworks like <code>getopt</code> (1980) and <code>curses</code> (1977). They fit their purpose well; they were both computationally lightweight for the computers of the day, and they gave engineers full control and flexibility when it came to how things were built. Over the years, we've used them to settle on several design patterns that we know work well. Patterns as to what a CLI command looks like, what a config file looks like, what remote execution looks like, and even how to use locks (mutexes, semaphores, etc) to control application flow and data atomicity. Yet we're stuck writing the same low-level code anytime we want to write our tooling. Not anymore.</p>
660
- <p>Enter RBCli. RBCli is a framework to quickly develop advanced command-line tools in Ruby. It has been written from the ground up with the needs of the modern technologist in mind, designed to make advanced CLI tool development as painless as possible. In RBCli, low-level code has been wrapped and/or replaced with higher-level methods. Much of the functionality has even been reduced to single methods: for example, it takes just one declaration to define, load, and generate a user's config file at the appropriate times. Many other features are automated and require no work by the engineer. These make RBCli a fundamental re-thining of how we develop CLI tools, enabling the rapid development of applications for everyone from hobbyists to enterprises.</p>
639
+ <div id="head-tags">
640
+
641
+ </div>
642
+
643
+ <div id="body-inner">
644
+
645
+
646
+
647
+
648
+ <span id="sidebar-toggle-span">
649
+ <a href="#" id="sidebar-toggle" data-sidebar-toggle=""><i class="fas fa-bars"></i> navigation</a>
650
+ </span>
651
+
652
+
653
+ <h1 id="this-is-rbcli">This is RBCli</h1>
654
+ <p>As technologists today, we work with the command line a lot. We script a lot. We write tools to share with each other to make our lives easier. We even write applications to make up for missing features in the 3rd party software that we buy. Unfortunately, when writing CLI tools, this process has typically been very painful. We&rsquo;ve been working with low-level frameworks for decades; frameworks like <code>getopt</code> (1980) and <code>curses</code> (1977). They fit their purpose well; they were both computationally lightweight for the computers of the day, and they gave engineers full control and flexibility when it came to how things were built. Over the years, we&rsquo;ve used them to settle on several design patterns that we know work well. Patterns as to what a CLI command looks like, what a config file looks like, what remote execution looks like, and even how to use locks (mutexes, semaphores, etc) to control application flow and data atomicity. Yet we&rsquo;re stuck writing the same low-level code anytime we want to write our tooling. Not anymore.</p>
655
+ <p>Enter RBCli. RBCli is a framework to quickly develop advanced command-line tools in Ruby. It has been written from the ground up with the needs of the modern technologist in mind, designed to make advanced CLI tool development as painless as possible. In RBCli, low-level code has been wrapped and/or replaced with higher-level methods. Much of the functionality has even been reduced to single methods: for example, it takes just one declaration to define, load, and generate a user&rsquo;s config file at the appropriate times. Many other features are automated and require no work by the engineer. These make RBCli a fundamental re-thining of how we develop CLI tools, enabling the rapid development of applications for everyone from hobbyists to enterprises.</p>
661
656
  <p>Some of its key features include:</p>
662
657
  <ul>
663
658
  <li>
@@ -667,7 +662,7 @@
667
662
  <p><strong>Multiple Levels of Parameters and Arguments</strong>: Forget about writing parsers for command-line options, or about having to differentiate between parameters and arguments. All of that work is taken care of.</p>
668
663
  </li>
669
664
  <li>
670
- <p><strong>Config File Generation</strong>: Easily piece together a default configuration even with declarations in different parts of the code. Then the user can generate their own configuration, and it gets stored in whatever location you'd like.</p>
665
+ <p><strong>Config File Generation</strong>: Easily piece together a default configuration even with declarations in different parts of the code. Then the user can generate their own configuration, and it gets stored in whatever location you&rsquo;d like.</p>
671
666
  </li>
672
667
  <li>
673
668
  <p><strong>Multiple Hooks and Entry Points</strong>: Define commands, pre-execution hooks, post-execution hooks, and first_run hooks to quickly and easily customize the flow of your application code.</p>
@@ -679,7 +674,7 @@
679
674
  <p><strong>Local State Storage</strong>: Easily manage a set of data that persists between runs. You get access to a hash that is automatically kept in-sync with a file on disk.</p>
680
675
  </li>
681
676
  <li>
682
- <p><strong>Remote State</strong>: It works just like Local State Storage, but store the data on a remote server! It can be used in tandem with Local State Storage or on its own. Currently supports AWS DyanmoDB. </p>
677
+ <p><strong>Remote State</strong>: It works just like Local State Storage, but store the data on a remote server! It can be used in tandem with Local State Storage or on its own. Currently supports AWS DyanmoDB.</p>
683
678
  </li>
684
679
  <li>
685
680
  <p><strong>State Locking and Sharing</strong>: Share remote state safely between users with built-in locking! When enabled, it makes sure that only one user is accessing the data at any given time.</p>
@@ -688,7 +683,7 @@
688
683
  <p><strong>Automatic Update Notifications</strong>: Just provide the gem name or git repo, and RBCli will take care of notifying users!</p>
689
684
  </li>
690
685
  <li>
691
- <p><strong>External Script Wrapping</strong>: High-level wrapping for Bash scripts, or any other applcication you'd like to wrap into a command.</p>
686
+ <p><strong>External Script Wrapping</strong>: High-level wrapping for Bash scripts, or any other applcication you&rsquo;d like to wrap into a command.</p>
692
687
  </li>
693
688
  <li>
694
689
  <p><strong>Project Structure and Generators</strong>: Create a well-defined project directory structure which organizes your code and allows you to package and distribute your application as a Gem. Generators can also help speed up the process of creating new commands, scripts, and hooks!</p>
@@ -696,76 +691,448 @@
696
691
  <li>
697
692
  <p><strong>Remote Execution</strong>: Automatically execute commands on remote machines via SSH</p>
698
693
  </li>
694
+ <li>
695
+ <p><strong>Interactive Commands</strong>: Automatically prompt users for paramter values if not given on the command line. This pattern allows for easy user interaction while still allowing scripting without the use of <em>expect</em>.</p>
696
+ </li>
699
697
  </ul>
700
- <p>If you're just getting started with RBCli, take a look at the <a href="tutorial/10-getting_started/">Tutorial</a>. Or take a look at the <a href="advanced/user_config_files/">Advanced</a> menu above to look through RBCli's additional featureset.</p>
701
-
702
-
703
-
704
-
705
-
706
-
707
-
708
-
709
-
710
- </article>
711
- </div>
712
- </div>
713
- </main>
714
-
715
-
716
- <footer class="md-footer">
698
+ <p>If you&rsquo;re just getting started with RBCli, take a look at the <a href="/rbcli/tutorial/">Tutorial</a>. Or take a look at the <a href="/rbcli/advanced/">Advanced</a> menu to look through RBCli&rsquo;s additional featureset.</p>
699
+
717
700
 
718
- <div class="md-footer-nav">
719
- <nav class="md-footer-nav__inner md-grid">
720
701
 
702
+ </div>
721
703
 
722
- <a href="imported/quick_reference/" title="Quick Reference" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
723
- <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
724
- <span class="md-flex__ellipsis">
725
- <span class="md-footer-nav__direction">
726
- Next
727
- </span>
728
- Quick Reference
729
- </span>
730
- </div>
731
- <div class="md-flex__cell md-flex__cell--shrink">
732
- <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i>
733
- </div>
734
- </a>
704
+
705
+ </div>
706
+
707
+ <div id="navigation">
735
708
 
736
- </nav>
737
- </div>
738
-
739
- <div class="md-footer-meta md-typeset">
740
- <div class="md-footer-meta__inner md-grid">
741
- <div class="md-footer-copyright">
742
709
 
743
- <div class="md-footer-copyright__highlight">
744
- Copyright © 2018 Andrew Khoury
745
- </div>
746
710
 
747
- powered by
748
- <a href="https://www.mkdocs.org">MkDocs</a>
749
- and
750
- <a href="https://squidfunk.github.io/mkdocs-material/">
751
- Material for MkDocs</a>
752
- </div>
753
-
754
711
 
755
-
756
- </div>
757
- </div>
758
- </footer>
759
-
760
- </div>
761
-
762
- <script src="assets/javascripts/application.583bbe55.js"></script>
763
-
764
- <script>app.initialize({version:"1.0.3",url:{base:"."}})</script>
765
-
766
-
767
-
768
-
769
-
770
- </body>
771
- </html>
712
+
713
+
714
+
715
+
716
+
717
+
718
+
719
+
720
+
721
+
722
+
723
+
724
+
725
+
726
+
727
+
728
+
729
+
730
+
731
+
732
+
733
+
734
+
735
+
736
+
737
+
738
+
739
+
740
+
741
+
742
+
743
+
744
+
745
+
746
+
747
+
748
+
749
+
750
+
751
+
752
+
753
+
754
+
755
+
756
+
757
+
758
+
759
+
760
+
761
+
762
+
763
+
764
+
765
+
766
+
767
+
768
+
769
+
770
+
771
+
772
+
773
+
774
+
775
+
776
+
777
+
778
+
779
+
780
+
781
+
782
+
783
+
784
+
785
+
786
+
787
+
788
+
789
+
790
+
791
+
792
+
793
+
794
+
795
+
796
+
797
+
798
+
799
+
800
+
801
+
802
+
803
+
804
+
805
+
806
+
807
+
808
+
809
+
810
+
811
+
812
+
813
+
814
+
815
+
816
+
817
+
818
+
819
+
820
+
821
+
822
+
823
+
824
+
825
+
826
+
827
+
828
+
829
+
830
+
831
+
832
+
833
+
834
+
835
+
836
+
837
+
838
+
839
+
840
+
841
+
842
+
843
+
844
+
845
+
846
+
847
+
848
+
849
+
850
+
851
+
852
+
853
+
854
+
855
+
856
+
857
+
858
+
859
+
860
+
861
+
862
+
863
+
864
+
865
+
866
+
867
+
868
+
869
+
870
+
871
+
872
+
873
+
874
+
875
+
876
+
877
+
878
+
879
+
880
+
881
+
882
+
883
+
884
+
885
+
886
+
887
+
888
+
889
+
890
+
891
+
892
+
893
+
894
+
895
+
896
+
897
+
898
+
899
+
900
+
901
+
902
+
903
+
904
+
905
+
906
+
907
+
908
+
909
+
910
+
911
+
912
+
913
+
914
+
915
+
916
+
917
+
918
+
919
+
920
+
921
+
922
+
923
+
924
+
925
+
926
+
927
+
928
+
929
+
930
+
931
+
932
+
933
+
934
+
935
+
936
+
937
+
938
+
939
+
940
+
941
+
942
+
943
+
944
+
945
+
946
+
947
+
948
+
949
+
950
+
951
+
952
+
953
+
954
+
955
+
956
+
957
+
958
+
959
+
960
+
961
+
962
+
963
+
964
+
965
+
966
+
967
+
968
+
969
+
970
+
971
+
972
+
973
+
974
+
975
+
976
+
977
+
978
+
979
+
980
+
981
+
982
+
983
+
984
+
985
+
986
+
987
+
988
+
989
+
990
+
991
+
992
+
993
+
994
+
995
+
996
+
997
+
998
+
999
+
1000
+
1001
+
1002
+
1003
+
1004
+
1005
+
1006
+
1007
+
1008
+
1009
+
1010
+
1011
+
1012
+
1013
+
1014
+
1015
+
1016
+
1017
+
1018
+
1019
+
1020
+
1021
+
1022
+
1023
+
1024
+
1025
+
1026
+
1027
+
1028
+
1029
+
1030
+
1031
+
1032
+
1033
+
1034
+
1035
+
1036
+
1037
+
1038
+
1039
+
1040
+
1041
+
1042
+
1043
+
1044
+
1045
+
1046
+
1047
+
1048
+
1049
+
1050
+
1051
+
1052
+
1053
+
1054
+
1055
+
1056
+
1057
+
1058
+
1059
+
1060
+
1061
+
1062
+
1063
+
1064
+
1065
+
1066
+
1067
+
1068
+
1069
+
1070
+
1071
+
1072
+
1073
+
1074
+
1075
+
1076
+
1077
+
1078
+
1079
+
1080
+
1081
+
1082
+
1083
+
1084
+
1085
+
1086
+
1087
+
1088
+
1089
+
1090
+
1091
+
1092
+
1093
+
1094
+
1095
+
1096
+
1097
+
1098
+
1099
+
1100
+
1101
+
1102
+
1103
+
1104
+
1105
+
1106
+
1107
+
1108
+ <a class="nav nav-next" href="/rbcli/quick_reference/" title="Quick Reference" style="margin-right: 0px;"><i class="fa fa-chevron-right"></i></a>
1109
+
1110
+
1111
+ </div>
1112
+
1113
+ </section>
1114
+
1115
+ <div style="left: -1000px; overflow: scroll; position: absolute; top: -1000px; border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;">
1116
+ <div style="border: none; box-sizing: content-box; height: 200px; margin: 0px; padding: 0px; width: 200px;"></div>
1117
+ </div>
1118
+ <script src="/rbcli/js/clipboard.min.js?1634703589"></script>
1119
+ <script src="/rbcli/js/perfect-scrollbar.min.js?1634703589"></script>
1120
+ <script src="/rbcli/js/perfect-scrollbar.jquery.min.js?1634703589"></script>
1121
+ <script src="/rbcli/js/jquery.sticky.js?1634703589"></script>
1122
+ <script src="/rbcli/js/featherlight.min.js?1634703589"></script>
1123
+ <script src="/rbcli/js/highlight.pack.js?1634703589"></script>
1124
+ <script>hljs.initHighlightingOnLoad();</script>
1125
+ <script src="/rbcli/js/modernizr.custom-3.6.0.js?1634703589"></script>
1126
+ <script src="/rbcli/js/learn.js?1634703589"></script>
1127
+ <script src="/rbcli/js/hugo-learn.js?1634703589"></script>
1128
+
1129
+ <link href="/rbcli/mermaid/mermaid.css?1634703589" rel="stylesheet" />
1130
+ <script src="/rbcli/mermaid/mermaid.js?1634703589"></script>
1131
+ <script>
1132
+ mermaid.initialize({ startOnLoad: true });
1133
+ </script>
1134
+
1135
+
1136
+ </body>
1137
+ </html>
1138
+