brut 0.17.0 → 0.18.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1103) hide show
  1. checksums.yaml +4 -4
  2. data/exe/brut +34 -0
  3. data/lib/brut/cli/apps/build_assets.rb +78 -48
  4. data/lib/brut/cli/apps/db.rb +168 -202
  5. data/lib/brut/cli/apps/deploy.rb +291 -0
  6. data/lib/brut/cli/apps/heroku_container_based_deploy.rb +6 -0
  7. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/add_segment.rb +5 -5
  8. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/add_segment_options.rb +1 -1
  9. data/lib/brut/cli/apps/new/app.rb +240 -0
  10. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/app_id.rb +1 -1
  11. data/lib/brut/cli/apps/new/app_name.rb +29 -0
  12. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/base.rb +9 -6
  13. data/lib/brut/cli/apps/new/erb_binding_delegate.rb +23 -0
  14. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/internet_identifier.rb +5 -5
  15. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/invalid_identifier.rb +1 -1
  16. data/{mkbrut/lib/mkbrut/app.rb → lib/brut/cli/apps/new/old_app.rb} +8 -11
  17. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/ops/add_css_import.rb +1 -1
  18. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/ops/add_i18n_message.rb +1 -1
  19. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/ops/add_method.rb +1 -1
  20. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/ops/append_to_file.rb +1 -1
  21. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/ops/base_op.rb +3 -3
  22. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/ops/copy_file.rb +1 -1
  23. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/ops/insert_code_in_method.rb +1 -1
  24. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/ops/insert_into_file.rb +1 -1
  25. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/ops/insert_route.rb +1 -1
  26. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/ops/mkdir.rb +1 -1
  27. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/ops/prism_parsing_op.rb +1 -1
  28. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/ops/render_template.rb +1 -1
  29. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/ops/skip_file.rb +1 -1
  30. data/lib/brut/cli/apps/new/ops.rb +17 -0
  31. data/lib/brut/cli/apps/new/organization.rb +5 -0
  32. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/prefix.rb +1 -1
  33. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/segments/bare_bones.rb +12 -11
  34. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/segments/demo.rb +16 -15
  35. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/segments/heroku.rb +9 -5
  36. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/segments/sidekiq.rb +44 -21
  37. data/lib/brut/cli/apps/new/segments.rb +8 -0
  38. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/versions.rb +3 -3
  39. data/lib/brut/cli/apps/new.rb +26 -0
  40. data/lib/brut/cli/apps/scaffold.rb +150 -141
  41. data/lib/brut/cli/apps/test.rb +92 -68
  42. data/lib/brut/cli/commands/base_command.rb +174 -0
  43. data/lib/brut/cli/commands/compound_command.rb +29 -0
  44. data/lib/brut/cli/commands/execution_context.rb +32 -0
  45. data/lib/brut/cli/commands/help.rb +26 -0
  46. data/lib/brut/cli/commands/output_error.rb +13 -0
  47. data/lib/brut/cli/commands/raise_error.rb +11 -0
  48. data/lib/brut/cli/commands.rb +8 -0
  49. data/lib/brut/cli/execute_result.rb +39 -0
  50. data/lib/brut/cli/executor.rb +9 -4
  51. data/lib/brut/cli/output.rb +13 -0
  52. data/lib/brut/cli/parsed_command_line.rb +143 -0
  53. data/lib/brut/cli/runner.rb +124 -0
  54. data/lib/brut/cli.rb +7 -29
  55. data/lib/brut/framework/container.rb +1 -1
  56. data/lib/brut/framework/mcp.rb +59 -13
  57. data/lib/brut/framework/project_environment.rb +3 -1
  58. data/lib/brut/junk_drawer.rb +3 -1
  59. data/lib/brut/spec_support/cli_command_support.rb +45 -0
  60. data/lib/brut/spec_support/e2e_test_server.rb +3 -0
  61. data/lib/brut/spec_support/general_support.rb +1 -1
  62. data/lib/brut/spec_support/matchers/have_executed.rb +35 -0
  63. data/lib/brut/spec_support/rspec_setup.rb +4 -8
  64. data/lib/brut/spec_support.rb +1 -0
  65. data/lib/brut/tui/markup_string.rb +2 -0
  66. data/lib/brut/tui/script/events/command_std_out.rb +3 -2
  67. data/lib/brut/tui/script/exec_step.rb +11 -4
  68. data/lib/brut/tui/script/puts_subscriber.rb +4 -4
  69. data/lib/brut/tui/script.rb +7 -3
  70. data/lib/brut/tui/terminal_theme.rb +15 -11
  71. data/lib/brut/version.rb +1 -1
  72. data/templates/Base/.env.development.local +2 -0
  73. data/templates/Base/bin/ci +42 -0
  74. data/{mkbrut/templates → templates}/Base/bin/release +2 -2
  75. data/templates/Base/bin/setup +174 -0
  76. data/{mkbrut/templates → templates}/Base/bin/watch-and-build-assets +1 -1
  77. data/{mkbrut/templates → templates}/Base/dx/docker-compose.env.erb +1 -1
  78. data/{mkbrut/templates → templates}/segments/Demo/app/src/front_end/css/fonts.css +1 -1
  79. data/{mkbrut/templates → templates}/segments/Heroku/deploy/Dockerfile +2 -2
  80. data/templates/segments/Heroku/deploy/docker_config.rb +30 -0
  81. metadata +190 -1055
  82. data/.gitignore +0 -61
  83. data/.projections.json +0 -10
  84. data/CHANGELOG.md +0 -172
  85. data/CODE_OF_CONDUCT.txt +0 -99
  86. data/Dockerfile.dx +0 -82
  87. data/Gemfile +0 -6
  88. data/Gemfile.lock +0 -246
  89. data/LICENSE.txt +0 -370
  90. data/README.md +0 -90
  91. data/Rakefile +0 -25
  92. data/assets/Logo-Square.pxd +0 -0
  93. data/assets/LogoPylon.pxd +0 -0
  94. data/assets/LogoStop.pxd +0 -0
  95. data/assets/LogoTall.pxd +0 -0
  96. data/assets/MetroIcon.graffle +0 -0
  97. data/assets/MetroLogo.graffle +0 -0
  98. data/assets/SocialImage.png +0 -0
  99. data/assets/SocialImage.pxd +0 -0
  100. data/assets/YouTubeThumb.pxd +0 -0
  101. data/bin/bin_kit.rb +0 -51
  102. data/bin/build +0 -86
  103. data/bin/ci +0 -40
  104. data/bin/dev +0 -20
  105. data/bin/docs +0 -86
  106. data/bin/generate-and-run-rubocop +0 -52
  107. data/bin/new-version +0 -8
  108. data/bin/publish +0 -61
  109. data/bin/rake +0 -27
  110. data/bin/rspec +0 -27
  111. data/bin/rubocop +0 -27
  112. data/bin/setup +0 -252
  113. data/bin/test +0 -18
  114. data/brut-css/.nvim.lua +0 -1
  115. data/brut-css/README.md +0 -28
  116. data/brut-css/bin/build +0 -50
  117. data/brut-css/bin/ci +0 -19
  118. data/brut-css/bin/dev +0 -1
  119. data/brut-css/bin/docs +0 -34
  120. data/brut-css/bin/publish +0 -21
  121. data/brut-css/bin/setup +0 -6
  122. data/brut-css/config/media-queries-all.css +0 -15
  123. data/brut-css/config/media-queries-minimal.css +0 -5
  124. data/brut-css/config/postcss.config.cjs +0 -7
  125. data/brut-css/config/pseudo-classes-all.css +0 -9
  126. data/brut-css/dx +0 -1
  127. data/brut-css/package-lock.json +0 -3165
  128. data/brut-css/package.json +0 -36
  129. data/brut-css/src/css/appearance.css +0 -145
  130. data/brut-css/src/css/border.css +0 -522
  131. data/brut-css/src/css/colors.css +0 -3502
  132. data/brut-css/src/css/dimensions.css +0 -548
  133. data/brut-css/src/css/flex.css +0 -179
  134. data/brut-css/src/css/index.css +0 -13
  135. data/brut-css/src/css/layout.css +0 -120
  136. data/brut-css/src/css/list.css +0 -41
  137. data/brut-css/src/css/positioning.css +0 -354
  138. data/brut-css/src/css/properties/colors.css +0 -455
  139. data/brut-css/src/css/properties/index.css +0 -3
  140. data/brut-css/src/css/properties/spacing.css +0 -140
  141. data/brut-css/src/css/properties/typography.css +0 -224
  142. data/brut-css/src/css/reset.css +0 -107
  143. data/brut-css/src/css/spacing.css +0 -585
  144. data/brut-css/src/css/typography.css +0 -519
  145. data/brut-css/src/css/utils.css +0 -104
  146. data/brut-css/src/docs/1_getting-started/1_overview.md +0 -46
  147. data/brut-css/src/docs/1_getting-started/2_installation.md +0 -25
  148. data/brut-css/src/docs/1_getting-started/3_core-concepts.md +0 -75
  149. data/brut-css/src/docs/1_getting-started/4_simple-example.md +0 -132
  150. data/brut-css/src/docs/1_getting-started/page.html.ejs +0 -10
  151. data/brut-css/src/docs/2_properties/page.html.ejs +0 -71
  152. data/brut-css/src/docs/3_classes/color-demo.html.ejs +0 -31
  153. data/brut-css/src/docs/3_classes/page.html.ejs +0 -87
  154. data/brut-css/src/docs/4_customization/1_design-system.md +0 -36
  155. data/brut-css/src/docs/4_customization/2_breakpoints.md +0 -75
  156. data/brut-css/src/docs/4_customization/3_pseudo-classes.md +0 -74
  157. data/brut-css/src/docs/4_customization/4_advanced-configuration.md +0 -40
  158. data/brut-css/src/docs/4_customization/page.html.ejs +0 -10
  159. data/brut-css/src/docs/docs.css +0 -98
  160. data/brut-css/src/docs/includes/body-and-header.html.ejs +0 -30
  161. data/brut-css/src/docs/includes/footer-and-rest.html.ejs +0 -9
  162. data/brut-css/src/docs/includes/head.html.ejs +0 -5
  163. data/brut-css/src/docs/includes/nav.html.ejs +0 -10
  164. data/brut-css/src/docs/index.html.ejs +0 -32
  165. data/brut-css/src/docs/prism-twilight.min.css +0 -1
  166. data/brut-css/src/js/Logger.js +0 -71
  167. data/brut-css/src/js/build.js +0 -111
  168. data/brut-css/src/js/cli/CLIArgError.js +0 -7
  169. data/brut-css/src/js/cli/Debug.js +0 -27
  170. data/brut-css/src/js/cli/DocsDir.js +0 -16
  171. data/brut-css/src/js/cli/DocsTemplateSourceDir.js +0 -16
  172. data/brut-css/src/js/cli/InputFile.js +0 -31
  173. data/brut-css/src/js/cli/MediaQueryConfigFile.js +0 -10
  174. data/brut-css/src/js/cli/OutputFile.js +0 -22
  175. data/brut-css/src/js/cli/ParsedArg.js +0 -17
  176. data/brut-css/src/js/cli/PathToBrutCSSRoot.js +0 -19
  177. data/brut-css/src/js/cli/PseudoClassConfigFile.js +0 -11
  178. data/brut-css/src/js/cli.js +0 -108
  179. data/brut-css/src/js/docGenerator.js +0 -467
  180. data/brut-css/src/js/mediaQueryConfigParser.js +0 -98
  181. data/brut-css/src/js/post-css-plugins/addMediaQueriesPlugin.js +0 -49
  182. data/brut-css/src/js/post-css-plugins/addPseudoClassesPlugin.js +0 -42
  183. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/Category.js +0 -9
  184. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/DocState.js +0 -185
  185. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/Documentable.js +0 -8
  186. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/Group.js +0 -7
  187. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/ParsedComment.js +0 -73
  188. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/Property.js +0 -9
  189. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/PropertyCategory.js +0 -4
  190. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/PropertyGroup.js +0 -8
  191. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/Rule.js +0 -12
  192. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/RuleCategory.js +0 -4
  193. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/RuleGroup.js +0 -8
  194. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/SeeRef.js +0 -5
  195. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/SeeURL.js +0 -9
  196. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin.js +0 -49
  197. data/brut-css/src/js/post-css-plugins/generateRootCustomPropertiesPlugin.js +0 -45
  198. data/brut-css/src/js/pseudoClassConfigParser.js +0 -145
  199. data/brut-js/.projections.json +0 -10
  200. data/brut-js/README.md +0 -118
  201. data/brut-js/bin/build +0 -19
  202. data/brut-js/bin/ci +0 -5
  203. data/brut-js/bin/docs +0 -25
  204. data/brut-js/bin/publish +0 -21
  205. data/brut-js/bin/setup +0 -6
  206. data/brut-js/docs/README.md +0 -8
  207. data/brut-js/docs/jsdoc-plugins/customElementTag.js +0 -8
  208. data/brut-js/docs/jsdoc-theme/publish.js +0 -692
  209. data/brut-js/docs/jsdoc-theme/static/scripts/linenumber.js +0 -25
  210. data/brut-js/docs/jsdoc-theme/static/scripts/prettify/Apache-License-2.0.txt +0 -202
  211. data/brut-js/docs/jsdoc-theme/static/scripts/prettify/lang-css.js +0 -2
  212. data/brut-js/docs/jsdoc-theme/static/scripts/prettify/prettify.js +0 -28
  213. data/brut-js/docs/jsdoc-theme/static/styles/jsdoc-default.css +0 -327
  214. data/brut-js/docs/jsdoc-theme/static/styles/prettify-jsdoc.css +0 -111
  215. data/brut-js/docs/jsdoc-theme/static/styles/prettify-tomorrow.css +0 -132
  216. data/brut-js/docs/jsdoc-theme/tmpl/augments.tmpl +0 -10
  217. data/brut-js/docs/jsdoc-theme/tmpl/container.tmpl +0 -199
  218. data/brut-js/docs/jsdoc-theme/tmpl/details.tmpl +0 -143
  219. data/brut-js/docs/jsdoc-theme/tmpl/example.tmpl +0 -2
  220. data/brut-js/docs/jsdoc-theme/tmpl/examples.tmpl +0 -13
  221. data/brut-js/docs/jsdoc-theme/tmpl/exceptions.tmpl +0 -32
  222. data/brut-js/docs/jsdoc-theme/tmpl/layout.tmpl +0 -38
  223. data/brut-js/docs/jsdoc-theme/tmpl/mainpage.tmpl +0 -14
  224. data/brut-js/docs/jsdoc-theme/tmpl/members.tmpl +0 -38
  225. data/brut-js/docs/jsdoc-theme/tmpl/method.tmpl +0 -131
  226. data/brut-js/docs/jsdoc-theme/tmpl/modifies.tmpl +0 -14
  227. data/brut-js/docs/jsdoc-theme/tmpl/params.tmpl +0 -131
  228. data/brut-js/docs/jsdoc-theme/tmpl/properties.tmpl +0 -108
  229. data/brut-js/docs/jsdoc-theme/tmpl/returns.tmpl +0 -19
  230. data/brut-js/docs/jsdoc-theme/tmpl/source.tmpl +0 -8
  231. data/brut-js/docs/jsdoc-theme/tmpl/tutorial.tmpl +0 -19
  232. data/brut-js/docs/jsdoc-theme/tmpl/type.tmpl +0 -7
  233. data/brut-js/docs/jsdoc.config.json +0 -23
  234. data/brut-js/docs/package-lock.json +0 -343
  235. data/brut-js/docs/package.json +0 -7
  236. data/brut-js/dx +0 -1
  237. data/brut-js/package-lock.json +0 -2210
  238. data/brut-js/package.json +0 -36
  239. data/brut-js/specs/AjaxSubmit.spec.js +0 -453
  240. data/brut-js/specs/Autosubmit.spec.js +0 -127
  241. data/brut-js/specs/ConfirmSubmit.spec.js +0 -224
  242. data/brut-js/specs/ConstraintViolationMessage.spec.js +0 -33
  243. data/brut-js/specs/ConstraintViolationMessages.spec.js +0 -32
  244. data/brut-js/specs/CopyToClipboard.spec.js +0 -35
  245. data/brut-js/specs/Form.spec.js +0 -137
  246. data/brut-js/specs/I18nTranslation.spec.js +0 -19
  247. data/brut-js/specs/LocaleDetection.spec.js +0 -22
  248. data/brut-js/specs/Message.spec.js +0 -15
  249. data/brut-js/specs/SpecHelper.js +0 -23
  250. data/brut-js/specs/Tabs.spec.js +0 -41
  251. data/brut-js/specs/Toast.spec.js +0 -34
  252. data/brut-js/specs/config/asset_metadata.json +0 -7
  253. data/brut-js/src/AjaxSubmit.js +0 -499
  254. data/brut-js/src/Autosubmit.js +0 -63
  255. data/brut-js/src/BaseCustomElement.js +0 -261
  256. data/brut-js/src/ConfirmSubmit.js +0 -137
  257. data/brut-js/src/ConfirmationDialog.js +0 -143
  258. data/brut-js/src/ConstraintViolationMessage.js +0 -140
  259. data/brut-js/src/ConstraintViolationMessages.js +0 -98
  260. data/brut-js/src/CopyToClipboard.js +0 -96
  261. data/brut-js/src/Form.js +0 -147
  262. data/brut-js/src/I18nTranslation.js +0 -64
  263. data/brut-js/src/LocaleDetection.js +0 -117
  264. data/brut-js/src/Logger.js +0 -90
  265. data/brut-js/src/Message.js +0 -62
  266. data/brut-js/src/RichString.js +0 -116
  267. data/brut-js/src/Tabs.js +0 -168
  268. data/brut-js/src/Toast.js +0 -102
  269. data/brut-js/src/Tracing.js +0 -247
  270. data/brut-js/src/appForTestingOnly.js +0 -15
  271. data/brut-js/src/index.js +0 -133
  272. data/brut-js/src/testing/AssetMetadata.js +0 -35
  273. data/brut-js/src/testing/AssetMetadataLoader.js +0 -25
  274. data/brut-js/src/testing/CustomElementTest.js +0 -235
  275. data/brut-js/src/testing/DOMCreator.js +0 -45
  276. data/brut-js/src/testing/index.js +0 -48
  277. data/brut.gemspec +0 -73
  278. data/brutrb.com/.vitepress/config.mjs +0 -164
  279. data/brutrb.com/.vitepress/plugins/jsdocLinker.js +0 -34
  280. data/brutrb.com/.vitepress/plugins/rdocLinker.js +0 -18
  281. data/brutrb.com/.vitepress/theme/custom.css +0 -14
  282. data/brutrb.com/.vitepress/theme/index.js +0 -18
  283. data/brutrb.com/.vitepress/theme/style.css +0 -139
  284. data/brutrb.com/adrs.md +0 -16
  285. data/brutrb.com/ai.md +0 -68
  286. data/brutrb.com/assets.md +0 -131
  287. data/brutrb.com/bin/build +0 -5
  288. data/brutrb.com/bin/deploy +0 -7
  289. data/brutrb.com/bin/dev +0 -5
  290. data/brutrb.com/bin/setup +0 -6
  291. data/brutrb.com/brut-js.md +0 -128
  292. data/brutrb.com/business-logic.md +0 -55
  293. data/brutrb.com/cli.md +0 -274
  294. data/brutrb.com/components.md +0 -265
  295. data/brutrb.com/configuration.md +0 -256
  296. data/brutrb.com/css.md +0 -103
  297. data/brutrb.com/custom-element-tests.md +0 -148
  298. data/brutrb.com/database-access.md +0 -201
  299. data/brutrb.com/database-schema.md +0 -320
  300. data/brutrb.com/deployment.md +0 -158
  301. data/brutrb.com/dev-environment.md +0 -186
  302. data/brutrb.com/dir-structure.md +0 -120
  303. data/brutrb.com/doc-conventions.md +0 -41
  304. data/brutrb.com/dx +0 -1
  305. data/brutrb.com/end-to-end-tests.md +0 -176
  306. data/brutrb.com/features.md +0 -373
  307. data/brutrb.com/flash-and-session.md +0 -208
  308. data/brutrb.com/form-constraints.md +0 -266
  309. data/brutrb.com/forms.md +0 -238
  310. data/brutrb.com/getting-started.md +0 -142
  311. data/brutrb.com/handlers.md +0 -177
  312. data/brutrb.com/hooks.md +0 -176
  313. data/brutrb.com/i18n.md +0 -190
  314. data/brutrb.com/images/DevEnvironment.graffle +0 -0
  315. data/brutrb.com/images/DevEnvironment.png +0 -0
  316. data/brutrb.com/images/LogoSquare.png +0 -0
  317. data/brutrb.com/images/LogoStop.png +0 -0
  318. data/brutrb.com/images/LogoTall.png +0 -0
  319. data/brutrb.com/images/Makefile +0 -10
  320. data/brutrb.com/images/OverviewMetro.graffle +0 -0
  321. data/brutrb.com/images/OverviewMetro.png +0 -0
  322. data/brutrb.com/images/dev-env-overview.dot +0 -54
  323. data/brutrb.com/images/dev-env-overview.png +0 -0
  324. data/brutrb.com/images/dev-env-protocol.dot +0 -37
  325. data/brutrb.com/images/dev-env-protocol.png +0 -0
  326. data/brutrb.com/images/overview.graffle +0 -0
  327. data/brutrb.com/images/overview.png +0 -0
  328. data/brutrb.com/images/spa.dot +0 -19
  329. data/brutrb.com/images/spa.png +0 -0
  330. data/brutrb.com/images/tutorial/02-confirmation-dialog-browser-element-styled.png +0 -0
  331. data/brutrb.com/images/tutorial/02-confirmation-dialog-browser-element.png +0 -0
  332. data/brutrb.com/images/tutorial/02-confirmation-dialog-browser.png +0 -0
  333. data/brutrb.com/images/tutorial/02-confirmation-flow.graffle +0 -0
  334. data/brutrb.com/images/tutorial/02-confirmation-flow.png +0 -0
  335. data/brutrb.com/images/tutorial/basic-form-with-violations.png +0 -0
  336. data/brutrb.com/images/tutorial/basic-form.png +0 -0
  337. data/brutrb.com/images/tutorial/initial-home-page.png +0 -0
  338. data/brutrb.com/images/tutorial/new-post-editor.png +0 -0
  339. data/brutrb.com/images/tutorial/new-post-home-page.png +0 -0
  340. data/brutrb.com/images/tutorial/styled-form-with-server-side-violations.png +0 -0
  341. data/brutrb.com/images/tutorial/styled-form-with-violations.png +0 -0
  342. data/brutrb.com/images/tutorial/styled-home-page-with-posts.png +0 -0
  343. data/brutrb.com/images/tutorial/styled-home-page.png +0 -0
  344. data/brutrb.com/images/tutorial/welcome-to-brut.png +0 -0
  345. data/brutrb.com/images/workspace-protocol.dot +0 -44
  346. data/brutrb.com/images/workspace-protocol.png +0 -0
  347. data/brutrb.com/index.md +0 -34
  348. data/brutrb.com/instrumentation.md +0 -331
  349. data/brutrb.com/javascript.md +0 -122
  350. data/brutrb.com/jobs.md +0 -114
  351. data/brutrb.com/keyword-injection.md +0 -195
  352. data/brutrb.com/layouts.md +0 -156
  353. data/brutrb.com/lsp.md +0 -23
  354. data/brutrb.com/markdown-examples.md +0 -85
  355. data/brutrb.com/middleware.md +0 -80
  356. data/brutrb.com/overview.md +0 -68
  357. data/brutrb.com/package-lock.json +0 -2451
  358. data/brutrb.com/package.json +0 -11
  359. data/brutrb.com/pages.md +0 -290
  360. data/brutrb.com/public/SocialImage.png +0 -0
  361. data/brutrb.com/public/favicon.ico +0 -0
  362. data/brutrb.com/recipes/alternate-layouts.md +0 -32
  363. data/brutrb.com/recipes/authentication.md +0 -336
  364. data/brutrb.com/recipes/custom-flash.md +0 -51
  365. data/brutrb.com/recipes/dev-env-secrets.md +0 -87
  366. data/brutrb.com/recipes/form-errors.md +0 -148
  367. data/brutrb.com/recipes/indexed-forms.md +0 -149
  368. data/brutrb.com/recipes/migrations.md +0 -210
  369. data/brutrb.com/recipes/text-field-component.md +0 -182
  370. data/brutrb.com/roadmap.md +0 -52
  371. data/brutrb.com/routes.md +0 -189
  372. data/brutrb.com/security.md +0 -102
  373. data/brutrb.com/seed-data.md +0 -63
  374. data/brutrb.com/space-time-continuum.md +0 -81
  375. data/brutrb.com/tutorial.md +0 -138
  376. data/brutrb.com/tutorials/01-intro.md +0 -1654
  377. data/brutrb.com/tutorials/02-dialog.md +0 -569
  378. data/brutrb.com/unit-tests.md +0 -148
  379. data/brutrb.com/why.md +0 -19
  380. data/docker-compose.dx.yml +0 -25
  381. data/docs/404.html +0 -26
  382. data/docs/CNAME +0 -1
  383. data/docs/SocialImage.png +0 -0
  384. data/docs/adrs.html +0 -29
  385. data/docs/ai.html +0 -29
  386. data/docs/api/Brut/BackEnd/SeedData.html +0 -493
  387. data/docs/api/Brut/BackEnd/Sidekiq/Middlewares/Server/FlushSpans.html +0 -214
  388. data/docs/api/Brut/BackEnd/Sidekiq/Middlewares/Server.html +0 -125
  389. data/docs/api/Brut/BackEnd/Sidekiq/Middlewares.html +0 -125
  390. data/docs/api/Brut/BackEnd/Sidekiq.html +0 -125
  391. data/docs/api/Brut/BackEnd/Validators/FormValidator.html +0 -414
  392. data/docs/api/Brut/BackEnd/Validators.html +0 -128
  393. data/docs/api/Brut/BackEnd.html +0 -132
  394. data/docs/api/Brut/CLI/App.html +0 -1601
  395. data/docs/api/Brut/CLI/AppRunner.html +0 -491
  396. data/docs/api/Brut/CLI/Apps/BuildAssets/All.html +0 -264
  397. data/docs/api/Brut/CLI/Apps/BuildAssets/CSS.html +0 -306
  398. data/docs/api/Brut/CLI/Apps/BuildAssets/Images.html +0 -262
  399. data/docs/api/Brut/CLI/Apps/BuildAssets/JS.html +0 -314
  400. data/docs/api/Brut/CLI/Apps/BuildAssets.html +0 -183
  401. data/docs/api/Brut/CLI/Apps/DB/Create.html +0 -365
  402. data/docs/api/Brut/CLI/Apps/DB/Drop.html +0 -357
  403. data/docs/api/Brut/CLI/Apps/DB/Migrate.html +0 -389
  404. data/docs/api/Brut/CLI/Apps/DB/NewMigration.html +0 -339
  405. data/docs/api/Brut/CLI/Apps/DB/Rebuild.html +0 -329
  406. data/docs/api/Brut/CLI/Apps/DB/Seed.html +0 -347
  407. data/docs/api/Brut/CLI/Apps/DB/Status.html +0 -383
  408. data/docs/api/Brut/CLI/Apps/DB.html +0 -183
  409. data/docs/api/Brut/CLI/Apps/DeployBase/GitChecks.html +0 -270
  410. data/docs/api/Brut/CLI/Apps/DeployBase.html +0 -257
  411. data/docs/api/Brut/CLI/Apps/HerokuContainerBasedDeploy/Deploy.html +0 -587
  412. data/docs/api/Brut/CLI/Apps/HerokuContainerBasedDeploy.html +0 -196
  413. data/docs/api/Brut/CLI/Apps/Scaffold/Action/Route.html +0 -303
  414. data/docs/api/Brut/CLI/Apps/Scaffold/Action.html +0 -508
  415. data/docs/api/Brut/CLI/Apps/Scaffold/Component.html +0 -398
  416. data/docs/api/Brut/CLI/Apps/Scaffold/CustomElementTest.html +0 -374
  417. data/docs/api/Brut/CLI/Apps/Scaffold/DbModel.html +0 -384
  418. data/docs/api/Brut/CLI/Apps/Scaffold/E2ETest.html +0 -410
  419. data/docs/api/Brut/CLI/Apps/Scaffold/Form.html +0 -262
  420. data/docs/api/Brut/CLI/Apps/Scaffold/Page/Route.html +0 -303
  421. data/docs/api/Brut/CLI/Apps/Scaffold/Page.html +0 -480
  422. data/docs/api/Brut/CLI/Apps/Scaffold/RoutesEditor.html +0 -450
  423. data/docs/api/Brut/CLI/Apps/Scaffold/Test.html +0 -380
  424. data/docs/api/Brut/CLI/Apps/Scaffold.html +0 -253
  425. data/docs/api/Brut/CLI/Apps/Test/Audit.html +0 -474
  426. data/docs/api/Brut/CLI/Apps/Test/E2e.html +0 -407
  427. data/docs/api/Brut/CLI/Apps/Test/JS.html +0 -262
  428. data/docs/api/Brut/CLI/Apps/Test/Run.html +0 -578
  429. data/docs/api/Brut/CLI/Apps/Test.html +0 -253
  430. data/docs/api/Brut/CLI/Apps.html +0 -125
  431. data/docs/api/Brut/CLI/Command.html +0 -2425
  432. data/docs/api/Brut/CLI/Error.html +0 -139
  433. data/docs/api/Brut/CLI/ExecutionResults/Result.html +0 -664
  434. data/docs/api/Brut/CLI/ExecutionResults.html +0 -675
  435. data/docs/api/Brut/CLI/Executor.html +0 -561
  436. data/docs/api/Brut/CLI/InvalidOption.html +0 -245
  437. data/docs/api/Brut/CLI/Options.html +0 -880
  438. data/docs/api/Brut/CLI/Output.html +0 -699
  439. data/docs/api/Brut/CLI/SystemExecError.html +0 -451
  440. data/docs/api/Brut/CLI.html +0 -263
  441. data/docs/api/Brut/FactoryBot.html +0 -225
  442. data/docs/api/Brut/Framework/App.html +0 -1097
  443. data/docs/api/Brut/Framework/Config.html +0 -1071
  444. data/docs/api/Brut/Framework/Container.html +0 -1464
  445. data/docs/api/Brut/Framework/Error.html +0 -140
  446. data/docs/api/Brut/Framework/Errors/AbstractMethod.html +0 -232
  447. data/docs/api/Brut/Framework/Errors/Bug.html +0 -234
  448. data/docs/api/Brut/Framework/Errors/MissingConfiguration.html +0 -257
  449. data/docs/api/Brut/Framework/Errors/MissingParameter.html +0 -273
  450. data/docs/api/Brut/Framework/Errors/NoClassForPath.html +0 -471
  451. data/docs/api/Brut/Framework/Errors/NotFound.html +0 -308
  452. data/docs/api/Brut/Framework/Errors/NotImplemented.html +0 -234
  453. data/docs/api/Brut/Framework/Errors.html +0 -351
  454. data/docs/api/Brut/Framework/FussyTypeEnforcement.html +0 -392
  455. data/docs/api/Brut/Framework/MCP.html +0 -871
  456. data/docs/api/Brut/Framework/ProjectEnvironment.html +0 -648
  457. data/docs/api/Brut/Framework.html +0 -129
  458. data/docs/api/Brut/FrontEnd/AssetPathResolver.html +0 -317
  459. data/docs/api/Brut/FrontEnd/Component/Helpers.html +0 -420
  460. data/docs/api/Brut/FrontEnd/Component.html +0 -434
  461. data/docs/api/Brut/FrontEnd/Components/ConstraintViolations.html +0 -491
  462. data/docs/api/Brut/FrontEnd/Components/FormTag.html +0 -526
  463. data/docs/api/Brut/FrontEnd/Components/I18nTranslations.html +0 -313
  464. data/docs/api/Brut/FrontEnd/Components/Input.html +0 -195
  465. data/docs/api/Brut/FrontEnd/Components/Inputs/ButtonTag.html +0 -447
  466. data/docs/api/Brut/FrontEnd/Components/Inputs/CsrfToken.html +0 -339
  467. data/docs/api/Brut/FrontEnd/Components/Inputs/InputTag.html +0 -568
  468. data/docs/api/Brut/FrontEnd/Components/Inputs/RadioButton.html +0 -419
  469. data/docs/api/Brut/FrontEnd/Components/Inputs/SelectTagWithOptions.html +0 -610
  470. data/docs/api/Brut/FrontEnd/Components/Inputs/TextareaTag.html +0 -534
  471. data/docs/api/Brut/FrontEnd/Components/Inputs.html +0 -125
  472. data/docs/api/Brut/FrontEnd/Components/LocaleDetection.html +0 -367
  473. data/docs/api/Brut/FrontEnd/Components/PageIdentifier.html +0 -355
  474. data/docs/api/Brut/FrontEnd/Components/TimeTag.html +0 -655
  475. data/docs/api/Brut/FrontEnd/Components/Traceparent.html +0 -352
  476. data/docs/api/Brut/FrontEnd/Components.html +0 -156
  477. data/docs/api/Brut/FrontEnd/CsrfProtector.html +0 -250
  478. data/docs/api/Brut/FrontEnd/Download.html +0 -467
  479. data/docs/api/Brut/FrontEnd/Flash.html +0 -1150
  480. data/docs/api/Brut/FrontEnd/Form.html +0 -1227
  481. data/docs/api/Brut/FrontEnd/Forms/Button.html +0 -331
  482. data/docs/api/Brut/FrontEnd/Forms/ButtonInputDefinition.html +0 -537
  483. data/docs/api/Brut/FrontEnd/Forms/ConstraintViolation.html +0 -590
  484. data/docs/api/Brut/FrontEnd/Forms/Input/Color.html +0 -201
  485. data/docs/api/Brut/FrontEnd/Forms/Input/TimeOfDay.html +0 -535
  486. data/docs/api/Brut/FrontEnd/Forms/Input.html +0 -1567
  487. data/docs/api/Brut/FrontEnd/Forms/InputDeclarations.html +0 -635
  488. data/docs/api/Brut/FrontEnd/Forms/InputDefinition.html +0 -1336
  489. data/docs/api/Brut/FrontEnd/Forms/RadioButtonGroupInput.html +0 -730
  490. data/docs/api/Brut/FrontEnd/Forms/RadioButtonGroupInputDefinition.html +0 -587
  491. data/docs/api/Brut/FrontEnd/Forms/SelectInput.html +0 -734
  492. data/docs/api/Brut/FrontEnd/Forms/SelectInputDefinition.html +0 -582
  493. data/docs/api/Brut/FrontEnd/Forms/ValidityState.html +0 -659
  494. data/docs/api/Brut/FrontEnd/Forms.html +0 -127
  495. data/docs/api/Brut/FrontEnd/GenericResponse.html +0 -377
  496. data/docs/api/Brut/FrontEnd/Handler.html +0 -442
  497. data/docs/api/Brut/FrontEnd/Handlers/CspReportingHandler.html +0 -318
  498. data/docs/api/Brut/FrontEnd/Handlers/InstrumentationHandler/TraceParent.html +0 -336
  499. data/docs/api/Brut/FrontEnd/Handlers/InstrumentationHandler.html +0 -399
  500. data/docs/api/Brut/FrontEnd/Handlers/LocaleDetectionHandler.html +0 -354
  501. data/docs/api/Brut/FrontEnd/Handlers/MissingHandler/Form.html +0 -151
  502. data/docs/api/Brut/FrontEnd/Handlers/MissingHandler.html +0 -315
  503. data/docs/api/Brut/FrontEnd/Handlers.html +0 -125
  504. data/docs/api/Brut/FrontEnd/HandlingResults.html +0 -339
  505. data/docs/api/Brut/FrontEnd/HttpMethod.html +0 -661
  506. data/docs/api/Brut/FrontEnd/HttpStatus.html +0 -496
  507. data/docs/api/Brut/FrontEnd/InlineSvgLocator.html +0 -284
  508. data/docs/api/Brut/FrontEnd/Layout.html +0 -486
  509. data/docs/api/Brut/FrontEnd/Middleware.html +0 -135
  510. data/docs/api/Brut/FrontEnd/Middlewares/AnnotateBrutOwnedPaths.html +0 -288
  511. data/docs/api/Brut/FrontEnd/Middlewares/Favicon.html +0 -292
  512. data/docs/api/Brut/FrontEnd/Middlewares/OpenTelemetrySpan.html +0 -324
  513. data/docs/api/Brut/FrontEnd/Middlewares/ReloadApp.html +0 -376
  514. data/docs/api/Brut/FrontEnd/Middlewares.html +0 -125
  515. data/docs/api/Brut/FrontEnd/Page.html +0 -781
  516. data/docs/api/Brut/FrontEnd/Pages/MissingPage.html +0 -797
  517. data/docs/api/Brut/FrontEnd/Pages.html +0 -125
  518. data/docs/api/Brut/FrontEnd/RequestContext.html +0 -1312
  519. data/docs/api/Brut/FrontEnd/RouteHook.html +0 -424
  520. data/docs/api/Brut/FrontEnd/RouteHooks/AgeFlash.html +0 -242
  521. data/docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineScripts.html +0 -249
  522. data/docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineStylesOrScripts/ReportOnly.html +0 -264
  523. data/docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineStylesOrScripts.html +0 -261
  524. data/docs/api/Brut/FrontEnd/RouteHooks/LocaleDetection.html +0 -284
  525. data/docs/api/Brut/FrontEnd/RouteHooks/SetupRequestContext.html +0 -252
  526. data/docs/api/Brut/FrontEnd/RouteHooks.html +0 -115
  527. data/docs/api/Brut/FrontEnd/Routing/FormHandlerRoute.html +0 -227
  528. data/docs/api/Brut/FrontEnd/Routing/FormRoute.html +0 -305
  529. data/docs/api/Brut/FrontEnd/Routing/MissingForm.html +0 -324
  530. data/docs/api/Brut/FrontEnd/Routing/MissingHandler.html +0 -319
  531. data/docs/api/Brut/FrontEnd/Routing/MissingPage.html +0 -315
  532. data/docs/api/Brut/FrontEnd/Routing/MissingPath.html +0 -315
  533. data/docs/api/Brut/FrontEnd/Routing/PageRoute.html +0 -327
  534. data/docs/api/Brut/FrontEnd/Routing/Route.html +0 -761
  535. data/docs/api/Brut/FrontEnd/Routing.html +0 -927
  536. data/docs/api/Brut/FrontEnd/Session.html +0 -1195
  537. data/docs/api/Brut/FrontEnd.html +0 -134
  538. data/docs/api/Brut/I18n/BaseMethods.html +0 -931
  539. data/docs/api/Brut/I18n/ForBackEnd.html +0 -302
  540. data/docs/api/Brut/I18n/ForCLI.html +0 -302
  541. data/docs/api/Brut/I18n/ForHTML.html +0 -296
  542. data/docs/api/Brut/I18n/HTTPAcceptLanguage/AlwaysEnglish.html +0 -316
  543. data/docs/api/Brut/I18n/HTTPAcceptLanguage.html +0 -930
  544. data/docs/api/Brut/I18n.html +0 -127
  545. data/docs/api/Brut/Instrumentation/LoggerSpanExporter.html +0 -435
  546. data/docs/api/Brut/Instrumentation/Methods/ClassMethods.html +0 -596
  547. data/docs/api/Brut/Instrumentation/Methods.html +0 -173
  548. data/docs/api/Brut/Instrumentation/OpenTelemetry/NormalizedAttributes.html +0 -286
  549. data/docs/api/Brut/Instrumentation/OpenTelemetry/Span.html +0 -302
  550. data/docs/api/Brut/Instrumentation/OpenTelemetry.html +0 -866
  551. data/docs/api/Brut/Instrumentation.html +0 -128
  552. data/docs/api/Brut/RubocopConfig.html +0 -237
  553. data/docs/api/Brut/SinatraHelpers/ClassMethods.html +0 -534
  554. data/docs/api/Brut/SinatraHelpers.html +0 -281
  555. data/docs/api/Brut/SpecSupport/ClockSupport.html +0 -383
  556. data/docs/api/Brut/SpecSupport/ComponentSupport.html +0 -496
  557. data/docs/api/Brut/SpecSupport/E2ETestServer.html +0 -503
  558. data/docs/api/Brut/SpecSupport/E2eSupport.html +0 -142
  559. data/docs/api/Brut/SpecSupport/EnhancedNode.html +0 -403
  560. data/docs/api/Brut/SpecSupport/FlashSupport.html +0 -278
  561. data/docs/api/Brut/SpecSupport/GeneralSupport/ClassMethods.html +0 -401
  562. data/docs/api/Brut/SpecSupport/GeneralSupport.html +0 -195
  563. data/docs/api/Brut/SpecSupport/HandlerSupport.html +0 -160
  564. data/docs/api/Brut/SpecSupport/Matchers/BeABug.html +0 -142
  565. data/docs/api/Brut/SpecSupport/Matchers/BePageFor.html +0 -142
  566. data/docs/api/Brut/SpecSupport/Matchers/BeRoutingFor.html +0 -155
  567. data/docs/api/Brut/SpecSupport/Matchers/HaveConstraintViolation.html +0 -583
  568. data/docs/api/Brut/SpecSupport/Matchers/HaveGenerated.html +0 -149
  569. data/docs/api/Brut/SpecSupport/Matchers/HaveHTMLAttribute.html +0 -466
  570. data/docs/api/Brut/SpecSupport/Matchers/HaveI18nString.html +0 -149
  571. data/docs/api/Brut/SpecSupport/Matchers/HaveLinkTo.html +0 -149
  572. data/docs/api/Brut/SpecSupport/Matchers/HaveRedirectedTo.html +0 -165
  573. data/docs/api/Brut/SpecSupport/Matchers/HaveReturnedHttpStatus.html +0 -158
  574. data/docs/api/Brut/SpecSupport/Matchers/HaveReturnedRackResponse.html +0 -156
  575. data/docs/api/Brut/SpecSupport/Matchers.html +0 -125
  576. data/docs/api/Brut/SpecSupport/RSpecSetup/OptionalSidekiqSupport.html +0 -335
  577. data/docs/api/Brut/SpecSupport/RSpecSetup.html +0 -637
  578. data/docs/api/Brut/SpecSupport/SessionSupport.html +0 -196
  579. data/docs/api/Brut/SpecSupport.html +0 -129
  580. data/docs/api/Brut/TUI/AnsiEscapeCode/Mod.html +0 -409
  581. data/docs/api/Brut/TUI/AnsiEscapeCode.html +0 -426
  582. data/docs/api/Brut/TUI/EventLoop/Deque.html +0 -531
  583. data/docs/api/Brut/TUI/EventLoop.html +0 -676
  584. data/docs/api/Brut/TUI/Events/BaseEvent.html +0 -449
  585. data/docs/api/Brut/TUI/Events/EventBus.html +0 -485
  586. data/docs/api/Brut/TUI/Events/EventLoopStarted.html +0 -211
  587. data/docs/api/Brut/TUI/Events/Exception.html +0 -523
  588. data/docs/api/Brut/TUI/Events/Tick.html +0 -294
  589. data/docs/api/Brut/TUI/Events.html +0 -131
  590. data/docs/api/Brut/TUI/MarkupString.html +0 -537
  591. data/docs/api/Brut/TUI/Script/BlockStep.html +0 -300
  592. data/docs/api/Brut/TUI/Script/Events/CommandExecutionFailed.html +0 -252
  593. data/docs/api/Brut/TUI/Script/Events/CommandExecutionSucceeded.html +0 -163
  594. data/docs/api/Brut/TUI/Script/Events/CommandStdErr.html +0 -163
  595. data/docs/api/Brut/TUI/Script/Events/CommandStdOut.html +0 -300
  596. data/docs/api/Brut/TUI/Script/Events/ExecutingCommand.html +0 -298
  597. data/docs/api/Brut/TUI/Script/Events/Message.html +0 -345
  598. data/docs/api/Brut/TUI/Script/Events/PhaseCompleted.html +0 -229
  599. data/docs/api/Brut/TUI/Script/Events/PhaseStarted.html +0 -350
  600. data/docs/api/Brut/TUI/Script/Events/ScriptCompleted.html +0 -282
  601. data/docs/api/Brut/TUI/Script/Events/ScriptStarted.html +0 -343
  602. data/docs/api/Brut/TUI/Script/Events/StepCompleted.html +0 -163
  603. data/docs/api/Brut/TUI/Script/Events/StepStarted.html +0 -346
  604. data/docs/api/Brut/TUI/Script/Events.html +0 -115
  605. data/docs/api/Brut/TUI/Script/ExecStep/ProcessStatusFailed.html +0 -210
  606. data/docs/api/Brut/TUI/Script/ExecStep.html +0 -493
  607. data/docs/api/Brut/TUI/Script/LoggingSubscriber.html +0 -914
  608. data/docs/api/Brut/TUI/Script/PutsSubscriber.html +0 -783
  609. data/docs/api/Brut/TUI/Script/Step.html +0 -313
  610. data/docs/api/Brut/TUI/Script.html +0 -1250
  611. data/docs/api/Brut/TUI/Terminal.html +0 -593
  612. data/docs/api/Brut/TUI/TerminalTheme.html +0 -1403
  613. data/docs/api/Brut/TUI/Themes/Dark.html +0 -706
  614. data/docs/api/Brut/TUI/Themes/Light.html +0 -804
  615. data/docs/api/Brut/TUI/Themes/None.html +0 -218
  616. data/docs/api/Brut/TUI/Themes.html +0 -115
  617. data/docs/api/Brut/TUI.html +0 -129
  618. data/docs/api/Brut.html +0 -341
  619. data/docs/api/Clock.html +0 -603
  620. data/docs/api/ModuleName.html +0 -595
  621. data/docs/api/RichString.html +0 -775
  622. data/docs/api/SemanticLogger/Appender/Async.html +0 -219
  623. data/docs/api/Sequel/Extensions/BrutInstrumentation.html +0 -119
  624. data/docs/api/Sequel/Extensions/BrutMigrations.html +0 -541
  625. data/docs/api/Sequel/Extensions.html +0 -117
  626. data/docs/api/Sequel/Plugins/CreatedAt/InstanceMethods.html +0 -105
  627. data/docs/api/Sequel/Plugins/CreatedAt.html +0 -125
  628. data/docs/api/Sequel/Plugins/ExternalId/ClassMethods.html +0 -207
  629. data/docs/api/Sequel/Plugins/ExternalId/InstanceMethods.html +0 -186
  630. data/docs/api/Sequel/Plugins/ExternalId.html +0 -218
  631. data/docs/api/Sequel/Plugins/FindBang/ClassMethods.html +0 -202
  632. data/docs/api/Sequel/Plugins/FindBang.html +0 -125
  633. data/docs/api/Sequel/Plugins.html +0 -117
  634. data/docs/api/Sequel.html +0 -117
  635. data/docs/api/SpecSupport/Matchers/BeABug.html +0 -143
  636. data/docs/api/_index.html +0 -1964
  637. data/docs/api/class_list.html +0 -54
  638. data/docs/api/css/common.css +0 -1
  639. data/docs/api/css/full_list.css +0 -59
  640. data/docs/api/css/style.css +0 -504
  641. data/docs/api/file.README.html +0 -172
  642. data/docs/api/file_list.html +0 -59
  643. data/docs/api/frames.html +0 -22
  644. data/docs/api/index.html +0 -172
  645. data/docs/api/js/app.js +0 -344
  646. data/docs/api/js/full_list.js +0 -242
  647. data/docs/api/js/jquery.js +0 -4
  648. data/docs/api/method_list.html +0 -5542
  649. data/docs/api/top-level-namespace.html +0 -112
  650. data/docs/assets/02-confirmation-dialog-browser-element-styled.3NEGM20-.png +0 -0
  651. data/docs/assets/02-confirmation-dialog-browser-element.DPsf0xUW.png +0 -0
  652. data/docs/assets/02-confirmation-dialog-browser.DH8ALFO4.png +0 -0
  653. data/docs/assets/02-confirmation-flow.D9gZ0S5U.png +0 -0
  654. data/docs/assets/DevEnvironment.DaFcVfwP.png +0 -0
  655. data/docs/assets/LogoStop.Gb3tDhL1.png +0 -0
  656. data/docs/assets/OverviewMetro.DUS-5fUZ.png +0 -0
  657. data/docs/assets/adrs.md.YglbWtQe.js +0 -1
  658. data/docs/assets/adrs.md.YglbWtQe.lean.js +0 -1
  659. data/docs/assets/ai.md.ChLnvDAX.js +0 -1
  660. data/docs/assets/ai.md.ChLnvDAX.lean.js +0 -1
  661. data/docs/assets/app.B8jAEB7R.js +0 -1
  662. data/docs/assets/assets.md.BEF6Oz6K.js +0 -19
  663. data/docs/assets/assets.md.BEF6Oz6K.lean.js +0 -1
  664. data/docs/assets/basic-form-with-violations.Cv6Y9-Q_.png +0 -0
  665. data/docs/assets/basic-form.DbHnu0oW.png +0 -0
  666. data/docs/assets/brut-js.md.BMz0X1Rz.js +0 -12
  667. data/docs/assets/brut-js.md.BMz0X1Rz.lean.js +0 -1
  668. data/docs/assets/business-logic.md.DbuaOYGU.js +0 -1
  669. data/docs/assets/business-logic.md.DbuaOYGU.lean.js +0 -1
  670. data/docs/assets/chunks/@localSearchIndexroot.DJ8mocCj.js +0 -1
  671. data/docs/assets/chunks/VPLocalSearchBox.gF-Po_fz.js +0 -8
  672. data/docs/assets/chunks/framework.C4nOkCZI.js +0 -18
  673. data/docs/assets/chunks/theme.BjPAOJkz.js +0 -2
  674. data/docs/assets/cli.md.DDMar_51.js +0 -122
  675. data/docs/assets/cli.md.DDMar_51.lean.js +0 -1
  676. data/docs/assets/components.md.Ber8UBM0.js +0 -96
  677. data/docs/assets/components.md.Ber8UBM0.lean.js +0 -1
  678. data/docs/assets/configuration.md.DrJ6YVoZ.js +0 -78
  679. data/docs/assets/configuration.md.DrJ6YVoZ.lean.js +0 -1
  680. data/docs/assets/css.md.K5rOCOQY.js +0 -21
  681. data/docs/assets/css.md.K5rOCOQY.lean.js +0 -1
  682. data/docs/assets/custom-element-tests.md.DiLe-eFw.js +0 -69
  683. data/docs/assets/custom-element-tests.md.DiLe-eFw.lean.js +0 -1
  684. data/docs/assets/database-access.md.Dc8l2Plf.js +0 -63
  685. data/docs/assets/database-access.md.Dc8l2Plf.lean.js +0 -1
  686. data/docs/assets/database-schema.md.BJ_JhXmO.js +0 -70
  687. data/docs/assets/database-schema.md.BJ_JhXmO.lean.js +0 -1
  688. data/docs/assets/deployment.md.CHTx2eTR.js +0 -55
  689. data/docs/assets/deployment.md.CHTx2eTR.lean.js +0 -1
  690. data/docs/assets/dev-env-protocol.DysDAtnz.png +0 -0
  691. data/docs/assets/dev-environment.md.B1S9p5ZK.js +0 -16
  692. data/docs/assets/dev-environment.md.B1S9p5ZK.lean.js +0 -1
  693. data/docs/assets/dir-structure.md.D1T2kGwj.js +0 -46
  694. data/docs/assets/dir-structure.md.D1T2kGwj.lean.js +0 -1
  695. data/docs/assets/doc-conventions.md.CDnWaEFg.js +0 -1
  696. data/docs/assets/doc-conventions.md.CDnWaEFg.lean.js +0 -1
  697. data/docs/assets/end-to-end-tests.md.BJJdNDYL.js +0 -28
  698. data/docs/assets/end-to-end-tests.md.BJJdNDYL.lean.js +0 -1
  699. data/docs/assets/features.md.BDWxnyNO.js +0 -154
  700. data/docs/assets/features.md.BDWxnyNO.lean.js +0 -1
  701. data/docs/assets/flash-and-session.md.CUsMxoNl.js +0 -79
  702. data/docs/assets/flash-and-session.md.CUsMxoNl.lean.js +0 -1
  703. data/docs/assets/form-constraints.md.KlfXSKm2.js +0 -90
  704. data/docs/assets/form-constraints.md.KlfXSKm2.lean.js +0 -1
  705. data/docs/assets/forms.md.RK0zkhm0.js +0 -64
  706. data/docs/assets/forms.md.RK0zkhm0.lean.js +0 -1
  707. data/docs/assets/getting-started.md.CGJ44juQ.js +0 -31
  708. data/docs/assets/getting-started.md.CGJ44juQ.lean.js +0 -1
  709. data/docs/assets/handlers.md.C5tUwmmo.js +0 -54
  710. data/docs/assets/handlers.md.C5tUwmmo.lean.js +0 -1
  711. data/docs/assets/hooks.md.CoiYCKRc.js +0 -80
  712. data/docs/assets/hooks.md.CoiYCKRc.lean.js +0 -1
  713. data/docs/assets/i18n.md.DxkCKhUw.js +0 -23
  714. data/docs/assets/i18n.md.DxkCKhUw.lean.js +0 -1
  715. data/docs/assets/index.md.DnphWyQd.js +0 -1
  716. data/docs/assets/index.md.DnphWyQd.lean.js +0 -1
  717. data/docs/assets/initial-home-page.DNIaYmgP.png +0 -0
  718. data/docs/assets/instrumentation.md.BcxjC4jd.js +0 -90
  719. data/docs/assets/instrumentation.md.BcxjC4jd.lean.js +0 -1
  720. data/docs/assets/javascript.md.D6fxhaQb.js +0 -31
  721. data/docs/assets/javascript.md.D6fxhaQb.lean.js +0 -1
  722. data/docs/assets/jobs.md.Bi3qb3v6.js +0 -25
  723. data/docs/assets/jobs.md.Bi3qb3v6.lean.js +0 -1
  724. data/docs/assets/keyword-injection.md.CqLnnzIz.js +0 -21
  725. data/docs/assets/keyword-injection.md.CqLnnzIz.lean.js +0 -1
  726. data/docs/assets/layouts.md.HEbeK7Jr.js +0 -68
  727. data/docs/assets/layouts.md.HEbeK7Jr.lean.js +0 -1
  728. data/docs/assets/lsp.md.bE9dW8n9.js +0 -1
  729. data/docs/assets/lsp.md.bE9dW8n9.lean.js +0 -1
  730. data/docs/assets/markdown-examples.md.BPmtHlc-.js +0 -33
  731. data/docs/assets/markdown-examples.md.BPmtHlc-.lean.js +0 -1
  732. data/docs/assets/middleware.md.BhOIsg59.js +0 -20
  733. data/docs/assets/middleware.md.BhOIsg59.lean.js +0 -1
  734. data/docs/assets/new-post-editor.DrHr-5oh.png +0 -0
  735. data/docs/assets/new-post-home-page.Bm34lyMg.png +0 -0
  736. data/docs/assets/overview.md.BpWAgPFH.js +0 -1
  737. data/docs/assets/overview.md.BpWAgPFH.lean.js +0 -1
  738. data/docs/assets/pages.md.B3sQXpEd.js +0 -45
  739. data/docs/assets/pages.md.B3sQXpEd.lean.js +0 -1
  740. data/docs/assets/recipes_alternate-layouts.md.C1QzVkA7.js +0 -22
  741. data/docs/assets/recipes_alternate-layouts.md.C1QzVkA7.lean.js +0 -1
  742. data/docs/assets/recipes_authentication.md.CyvoIW82.js +0 -157
  743. data/docs/assets/recipes_authentication.md.CyvoIW82.lean.js +0 -1
  744. data/docs/assets/recipes_custom-flash.md.6gFqf2uL.js +0 -26
  745. data/docs/assets/recipes_custom-flash.md.6gFqf2uL.lean.js +0 -1
  746. data/docs/assets/recipes_dev-env-secrets.md.DC_jVY9U.js +0 -12
  747. data/docs/assets/recipes_dev-env-secrets.md.DC_jVY9U.lean.js +0 -1
  748. data/docs/assets/recipes_form-errors.md.B5ptSzMO.js +0 -66
  749. data/docs/assets/recipes_form-errors.md.B5ptSzMO.lean.js +0 -1
  750. data/docs/assets/recipes_indexed-forms.md.BYYQGW2C.js +0 -74
  751. data/docs/assets/recipes_indexed-forms.md.BYYQGW2C.lean.js +0 -1
  752. data/docs/assets/recipes_migrations.md.Cid7-3cu.js +0 -97
  753. data/docs/assets/recipes_migrations.md.Cid7-3cu.lean.js +0 -1
  754. data/docs/assets/recipes_text-field-component.md.VhOsCtKI.js +0 -101
  755. data/docs/assets/recipes_text-field-component.md.VhOsCtKI.lean.js +0 -1
  756. data/docs/assets/roadmap.md.DqC1Y7Zt.js +0 -1
  757. data/docs/assets/roadmap.md.DqC1Y7Zt.lean.js +0 -1
  758. data/docs/assets/routes.md.C1dgIBtD.js +0 -21
  759. data/docs/assets/routes.md.C1dgIBtD.lean.js +0 -1
  760. data/docs/assets/security.md.Jn4SY1uK.js +0 -1
  761. data/docs/assets/security.md.Jn4SY1uK.lean.js +0 -1
  762. data/docs/assets/seed-data.md.UZW0WxYN.js +0 -14
  763. data/docs/assets/seed-data.md.UZW0WxYN.lean.js +0 -1
  764. data/docs/assets/spa.qejUdp-5.png +0 -0
  765. data/docs/assets/space-time-continuum.md.D9rYGDFH.js +0 -1
  766. data/docs/assets/space-time-continuum.md.D9rYGDFH.lean.js +0 -1
  767. data/docs/assets/style.B1z60PPQ.css +0 -1
  768. data/docs/assets/styled-form-with-server-side-violations.Bjxd8Dpv.png +0 -0
  769. data/docs/assets/styled-form-with-violations.Bv_sa9tg.png +0 -0
  770. data/docs/assets/styled-home-page-with-posts.Dd4kG89D.png +0 -0
  771. data/docs/assets/styled-home-page.BzdI7dWz.png +0 -0
  772. data/docs/assets/tutorial.md.BX6f6l00.js +0 -27
  773. data/docs/assets/tutorial.md.BX6f6l00.lean.js +0 -1
  774. data/docs/assets/tutorials_01-intro.md.CzZ3kpF_.js +0 -708
  775. data/docs/assets/tutorials_01-intro.md.CzZ3kpF_.lean.js +0 -1
  776. data/docs/assets/tutorials_02-dialog.md.DE5WfCXI.js +0 -274
  777. data/docs/assets/tutorials_02-dialog.md.DE5WfCXI.lean.js +0 -1
  778. data/docs/assets/unit-tests.md.vDsdBbO_.js +0 -13
  779. data/docs/assets/unit-tests.md.vDsdBbO_.lean.js +0 -1
  780. data/docs/assets/welcome-to-brut.VSWzl17-.png +0 -0
  781. data/docs/assets/why.md.4WpxdrQ2.js +0 -1
  782. data/docs/assets/why.md.4WpxdrQ2.lean.js +0 -1
  783. data/docs/assets/workspace-protocol.C0gXsoDb.png +0 -0
  784. data/docs/assets.html +0 -47
  785. data/docs/brut-css/brut.css +0 -1
  786. data/docs/brut-css/brut.max.css +0 -22372
  787. data/docs/brut-css/classes/appearances.html +0 -783
  788. data/docs/brut-css/classes/background-colors.html +0 -3529
  789. data/docs/brut-css/classes/border-colors.html +0 -3529
  790. data/docs/brut-css/classes/borders.html +0 -2293
  791. data/docs/brut-css/classes/dimensions.html +0 -2581
  792. data/docs/brut-css/classes/flex.html +0 -917
  793. data/docs/brut-css/classes/foreground-colors.html +0 -3261
  794. data/docs/brut-css/classes/junk-drawer.html +0 -431
  795. data/docs/brut-css/classes/layout.html +0 -668
  796. data/docs/brut-css/classes/lists.html +0 -331
  797. data/docs/brut-css/classes/positioning.html +0 -1751
  798. data/docs/brut-css/classes/spacings.html +0 -2633
  799. data/docs/brut-css/classes/typography.html +0 -2206
  800. data/docs/brut-css/customization/advanced-configuration.html +0 -204
  801. data/docs/brut-css/customization/breakpoints.html +0 -227
  802. data/docs/brut-css/customization/design-system.html +0 -197
  803. data/docs/brut-css/customization/pseudo-classes.html +0 -228
  804. data/docs/brut-css/docs.css +0 -98
  805. data/docs/brut-css/getting-started/core-concepts.html +0 -234
  806. data/docs/brut-css/getting-started/installation.html +0 -190
  807. data/docs/brut-css/getting-started/overview.html +0 -210
  808. data/docs/brut-css/getting-started/simple-example.html +0 -285
  809. data/docs/brut-css/index.html +0 -193
  810. data/docs/brut-css/prism-twilight.min.css +0 -1
  811. data/docs/brut-css/properties/colors.html +0 -1548
  812. data/docs/brut-css/properties/spacings.html +0 -614
  813. data/docs/brut-css/properties/typography.html +0 -777
  814. data/docs/brut-js/api/AjaxSubmit.html +0 -452
  815. data/docs/brut-js/api/AjaxSubmit.js.html +0 -550
  816. data/docs/brut-js/api/Autosubmit.html +0 -192
  817. data/docs/brut-js/api/Autosubmit.js.html +0 -114
  818. data/docs/brut-js/api/BaseCustomElement.html +0 -1091
  819. data/docs/brut-js/api/BaseCustomElement.js.html +0 -312
  820. data/docs/brut-js/api/BrutCustomElements.html +0 -172
  821. data/docs/brut-js/api/BufferedLogger.html +0 -173
  822. data/docs/brut-js/api/ConfirmSubmit.html +0 -286
  823. data/docs/brut-js/api/ConfirmSubmit.js.html +0 -188
  824. data/docs/brut-js/api/ConfirmationDialog.html +0 -425
  825. data/docs/brut-js/api/ConfirmationDialog.js.html +0 -194
  826. data/docs/brut-js/api/ConstraintViolationMessage.html +0 -498
  827. data/docs/brut-js/api/ConstraintViolationMessage.js.html +0 -191
  828. data/docs/brut-js/api/ConstraintViolationMessages.html +0 -590
  829. data/docs/brut-js/api/ConstraintViolationMessages.js.html +0 -149
  830. data/docs/brut-js/api/CopyToClipboard.html +0 -345
  831. data/docs/brut-js/api/CopyToClipboard.js.html +0 -147
  832. data/docs/brut-js/api/Form.html +0 -291
  833. data/docs/brut-js/api/Form.js.html +0 -198
  834. data/docs/brut-js/api/I18nTranslation.html +0 -409
  835. data/docs/brut-js/api/I18nTranslation.js.html +0 -115
  836. data/docs/brut-js/api/LocaleDetection.html +0 -312
  837. data/docs/brut-js/api/LocaleDetection.js.html +0 -168
  838. data/docs/brut-js/api/Logger.html +0 -702
  839. data/docs/brut-js/api/Logger.js.html +0 -141
  840. data/docs/brut-js/api/Message.html +0 -238
  841. data/docs/brut-js/api/Message.js.html +0 -113
  842. data/docs/brut-js/api/PrefixedLogger.html +0 -369
  843. data/docs/brut-js/api/RichString.html +0 -1049
  844. data/docs/brut-js/api/RichString.js.html +0 -167
  845. data/docs/brut-js/api/Tabs.html +0 -295
  846. data/docs/brut-js/api/Tabs.js.html +0 -219
  847. data/docs/brut-js/api/Toast.html +0 -270
  848. data/docs/brut-js/api/Toast.js.html +0 -153
  849. data/docs/brut-js/api/Tracing.html +0 -277
  850. data/docs/brut-js/api/Tracing.js.html +0 -298
  851. data/docs/brut-js/api/external-CustomElementRegistry.html +0 -140
  852. data/docs/brut-js/api/external-Performance.html +0 -138
  853. data/docs/brut-js/api/external-Promise.html +0 -138
  854. data/docs/brut-js/api/external-ValidityState.html +0 -138
  855. data/docs/brut-js/api/external-Window.html +0 -233
  856. data/docs/brut-js/api/external-fetch.html +0 -138
  857. data/docs/brut-js/api/global.html +0 -400
  858. data/docs/brut-js/api/index.html +0 -168
  859. data/docs/brut-js/api/index.js.html +0 -184
  860. data/docs/brut-js/api/module-testing.html +0 -383
  861. data/docs/brut-js/api/scripts/linenumber.js +0 -25
  862. data/docs/brut-js/api/scripts/prettify/Apache-License-2.0.txt +0 -202
  863. data/docs/brut-js/api/scripts/prettify/lang-css.js +0 -2
  864. data/docs/brut-js/api/scripts/prettify/prettify.js +0 -28
  865. data/docs/brut-js/api/styles/jsdoc-default.css +0 -327
  866. data/docs/brut-js/api/styles/prettify-jsdoc.css +0 -111
  867. data/docs/brut-js/api/styles/prettify-tomorrow.css +0 -132
  868. data/docs/brut-js/api/testing.AssetMetadata.html +0 -172
  869. data/docs/brut-js/api/testing.AssetMetadataLoader.html +0 -171
  870. data/docs/brut-js/api/testing.CustomElementTest.html +0 -679
  871. data/docs/brut-js/api/testing.DOMCreator.html +0 -171
  872. data/docs/brut-js/api/testing_AssetMetadata.js.html +0 -86
  873. data/docs/brut-js/api/testing_AssetMetadataLoader.js.html +0 -76
  874. data/docs/brut-js/api/testing_CustomElementTest.js.html +0 -286
  875. data/docs/brut-js/api/testing_DOMCreator.js.html +0 -96
  876. data/docs/brut-js/api/testing_index.js.html +0 -99
  877. data/docs/brut-js.html +0 -40
  878. data/docs/business-logic.html +0 -29
  879. data/docs/cli.html +0 -150
  880. data/docs/components.html +0 -124
  881. data/docs/configuration.html +0 -106
  882. data/docs/css.html +0 -49
  883. data/docs/custom-element-tests.html +0 -97
  884. data/docs/database-access.html +0 -91
  885. data/docs/database-schema.html +0 -98
  886. data/docs/deployment.html +0 -83
  887. data/docs/dev-environment.html +0 -44
  888. data/docs/dir-structure.html +0 -74
  889. data/docs/doc-conventions.html +0 -29
  890. data/docs/end-to-end-tests.html +0 -56
  891. data/docs/favicon.ico +0 -0
  892. data/docs/features.html +0 -182
  893. data/docs/flash-and-session.html +0 -107
  894. data/docs/form-constraints.html +0 -118
  895. data/docs/forms.html +0 -92
  896. data/docs/getting-started.html +0 -59
  897. data/docs/handlers.html +0 -82
  898. data/docs/hashmap.json +0 -1
  899. data/docs/hooks.html +0 -108
  900. data/docs/i18n.html +0 -51
  901. data/docs/index.html +0 -29
  902. data/docs/instrumentation.html +0 -118
  903. data/docs/javascript.html +0 -59
  904. data/docs/jobs.html +0 -53
  905. data/docs/keyword-injection.html +0 -49
  906. data/docs/layouts.html +0 -96
  907. data/docs/lsp.html +0 -29
  908. data/docs/markdown-examples.html +0 -61
  909. data/docs/middleware.html +0 -48
  910. data/docs/overview.html +0 -29
  911. data/docs/pages.html +0 -73
  912. data/docs/recipes/alternate-layouts.html +0 -50
  913. data/docs/recipes/authentication.html +0 -185
  914. data/docs/recipes/custom-flash.html +0 -54
  915. data/docs/recipes/dev-env-secrets.html +0 -40
  916. data/docs/recipes/form-errors.html +0 -94
  917. data/docs/recipes/indexed-forms.html +0 -102
  918. data/docs/recipes/migrations.html +0 -125
  919. data/docs/recipes/text-field-component.html +0 -129
  920. data/docs/roadmap.html +0 -29
  921. data/docs/routes.html +0 -49
  922. data/docs/security.html +0 -29
  923. data/docs/seed-data.html +0 -42
  924. data/docs/space-time-continuum.html +0 -29
  925. data/docs/tutorial.html +0 -55
  926. data/docs/tutorials/01-intro.html +0 -736
  927. data/docs/tutorials/02-dialog.html +0 -302
  928. data/docs/unit-tests.html +0 -41
  929. data/docs/vp-icons.css +0 -1
  930. data/docs/why.html +0 -29
  931. data/docs-todo.md +0 -32
  932. data/dx/bash_customizations +0 -6
  933. data/dx/build +0 -73
  934. data/dx/build.pre +0 -15
  935. data/dx/docker-compose.env +0 -22
  936. data/dx/dx.sh.lib +0 -24
  937. data/dx/exec +0 -75
  938. data/dx/setupkit.sh.lib +0 -144
  939. data/dx/show-help-in-app-container-then-wait.sh +0 -38
  940. data/lib/brut/cli/app.rb +0 -238
  941. data/lib/brut/cli/app_runner.rb +0 -252
  942. data/lib/brut/cli/command.rb +0 -258
  943. data/lib/brut/cli/execution_results.rb +0 -119
  944. data/lib/brut/front_end/layouts/_internal.html.erb +0 -68
  945. data/lib/brut/front_end/pages/_missing_page.html.erb +0 -17
  946. data/mkbrut/.gitignore +0 -16
  947. data/mkbrut/CODE_OF_CONDUCT.txt +0 -100
  948. data/mkbrut/Gemfile +0 -3
  949. data/mkbrut/Gemfile.lock +0 -20
  950. data/mkbrut/LICENSE.txt +0 -370
  951. data/mkbrut/README.md +0 -145
  952. data/mkbrut/Rakefile +0 -2
  953. data/mkbrut/bin/build +0 -36
  954. data/mkbrut/bin/ci +0 -19
  955. data/mkbrut/bin/docs +0 -19
  956. data/mkbrut/bin/publish +0 -129
  957. data/mkbrut/bin/rake +0 -16
  958. data/mkbrut/bin/setup +0 -30
  959. data/mkbrut/brut-welcome.png +0 -0
  960. data/mkbrut/deploy/.dockerignore +0 -2
  961. data/mkbrut/deploy/Dockerfile +0 -25
  962. data/mkbrut/dx +0 -1
  963. data/mkbrut/exe/mkbrut +0 -5
  964. data/mkbrut/lib/mkbrut/app_name.rb +0 -29
  965. data/mkbrut/lib/mkbrut/app_options.rb +0 -36
  966. data/mkbrut/lib/mkbrut/cli.rb +0 -189
  967. data/mkbrut/lib/mkbrut/erb_binding_delegate.rb +0 -20
  968. data/mkbrut/lib/mkbrut/ops.rb +0 -17
  969. data/mkbrut/lib/mkbrut/organization.rb +0 -5
  970. data/mkbrut/lib/mkbrut/segments.rb +0 -8
  971. data/mkbrut/lib/mkbrut/version.rb +0 -3
  972. data/mkbrut/lib/mkbrut.rb +0 -20
  973. data/mkbrut/mkbrut.gemspec +0 -34
  974. data/mkbrut/templates/Base/app/src/front_end/images/LogoPylon.png +0 -0
  975. data/mkbrut/templates/Base/bin/build-assets +0 -7
  976. data/mkbrut/templates/Base/bin/ci +0 -39
  977. data/mkbrut/templates/Base/bin/db +0 -9
  978. data/mkbrut/templates/Base/bin/scaffold +0 -9
  979. data/mkbrut/templates/Base/bin/setup +0 -287
  980. data/mkbrut/templates/Base/bin/test +0 -9
  981. data/mkbrut/templates/Base/bin/test-server +0 -29
  982. data/mkbrut/templates/Base/dx/prune +0 -19
  983. data/mkbrut/templates/Base/dx/start +0 -30
  984. data/mkbrut/templates/Base/dx/stop +0 -23
  985. data/mkbrut/templates/segments/Heroku/deploy/heroku_config.rb +0 -27
  986. data/specs/brut/front_end/forms/input.spec.rb +0 -978
  987. data/specs/brut/front_end/forms/radio_button_group_input.spec.rb +0 -54
  988. data/specs/brut/front_end/forms/select_input.spec.rb +0 -54
  989. data/specs/brut/instrumentation/methods.spec.rb +0 -399
  990. data/specs/brut/junk_drawer.spec.rb +0 -79
  991. data/specs/brut/tui/ansi_escape_code.spec.rb +0 -30
  992. data/specs/brut/tui/event_loop.spec.rb +0 -70
  993. data/specs/brut/tui/events/base_event.spec.rb +0 -26
  994. data/specs/brut/tui/events/event_bus.spec.rb +0 -141
  995. data/specs/brut/tui/events/exception.spec.rb +0 -19
  996. data/specs/brut/tui/events/test_event.rb +0 -5
  997. data/specs/spec_helper.rb +0 -31
  998. data/specs/support/matchers/have_constraint_violation.rb +0 -23
  999. data/specs/support/matchers.rb +0 -5
  1000. data/specs/support.rb +0 -3
  1001. /data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/prefixed_io.rb +0 -0
  1002. /data/{mkbrut/templates → templates}/Base/.dockerignore +0 -0
  1003. /data/{mkbrut/templates → templates}/Base/.env.development.erb +0 -0
  1004. /data/{mkbrut/templates → templates}/Base/.env.test.erb +0 -0
  1005. /data/{mkbrut/templates → templates}/Base/.gitignore +0 -0
  1006. /data/{mkbrut/templates → templates}/Base/.projections.json +0 -0
  1007. /data/{mkbrut/templates → templates}/Base/Dockerfile.dx +0 -0
  1008. /data/{mkbrut/templates → templates}/Base/Gemfile.erb +0 -0
  1009. /data/{mkbrut/templates → templates}/Base/Procfile.development +0 -0
  1010. /data/{mkbrut/templates → templates}/Base/Procfile.test +0 -0
  1011. /data/{mkbrut/templates → templates}/Base/README.md +0 -0
  1012. /data/{mkbrut/templates → templates}/Base/README.md.erb +0 -0
  1013. /data/{mkbrut/templates → templates}/Base/app/bootstrap.rb +0 -0
  1014. /data/{mkbrut/templates → templates}/Base/app/config/i18n/en/1_defaults.rb +0 -0
  1015. /data/{mkbrut/templates → templates}/Base/app/config/i18n/en/2_app.rb +0 -0
  1016. /data/{mkbrut/templates → templates}/Base/app/public/static/manifest.json.erb +0 -0
  1017. /data/{mkbrut/templates → templates}/Base/app/src/app.rb.erb +0 -0
  1018. /data/{mkbrut/templates → templates}/Base/app/src/back_end/data_models/app_data_model.rb +0 -0
  1019. /data/{mkbrut/templates → templates}/Base/app/src/back_end/data_models/db.rb +0 -0
  1020. /data/{mkbrut/templates → templates}/Base/app/src/back_end/data_models/migrations/20240101130000_citext.rb +0 -0
  1021. /data/{mkbrut/templates → templates}/Base/app/src/back_end/data_models/seed/seed_data.rb +0 -0
  1022. /data/{mkbrut/templates → templates}/Base/app/src/front_end/components/app_component.rb +0 -0
  1023. /data/{mkbrut/templates → templates}/Base/app/src/front_end/components/custom_element_registration.rb.erb +0 -0
  1024. /data/{mkbrut/templates → templates}/Base/app/src/front_end/css/index.css +0 -0
  1025. /data/{mkbrut/templates → templates}/Base/app/src/front_end/css/svgs.css +0 -0
  1026. /data/{mkbrut/templates → templates}/Base/app/src/front_end/forms/app_form.rb +0 -0
  1027. /data/{mkbrut/templates → templates}/Base/app/src/front_end/handlers/app_handler.rb +0 -0
  1028. /data/{brutrb.com → templates/Base/app/src/front_end}/images/LogoPylon.png +0 -0
  1029. /data/{mkbrut/templates → templates}/Base/app/src/front_end/images/LogoTransit.png +0 -0
  1030. /data/{mkbrut/templates → templates}/Base/app/src/front_end/images/apple-touch-icon-120x120.png +0 -0
  1031. /data/{mkbrut/templates → templates}/Base/app/src/front_end/images/apple-touch-icon-152x152.png +0 -0
  1032. /data/{mkbrut/templates → templates}/Base/app/src/front_end/images/apple-touch-icon-167x167.png +0 -0
  1033. /data/{mkbrut/templates → templates}/Base/app/src/front_end/images/apple-touch-icon-180x180.png +0 -0
  1034. /data/{mkbrut/templates → templates}/Base/app/src/front_end/images/favicon.ico +0 -0
  1035. /data/{mkbrut/templates → templates}/Base/app/src/front_end/images/icon.png +0 -0
  1036. /data/{mkbrut/templates → templates}/Base/app/src/front_end/images/mkicons.sh +0 -0
  1037. /data/{mkbrut/templates → templates}/Base/app/src/front_end/js/index.js +0 -0
  1038. /data/{mkbrut/templates → templates}/Base/app/src/front_end/layouts/blank_layout.rb +0 -0
  1039. /data/{mkbrut/templates → templates}/Base/app/src/front_end/layouts/default_layout.rb.erb +0 -0
  1040. /data/{mkbrut/templates → templates}/Base/app/src/front_end/pages/app_page.rb +0 -0
  1041. /data/{mkbrut/templates → templates}/Base/app/src/front_end/pages/home_page.rb +0 -0
  1042. /data/{mkbrut/templates → templates}/Base/app/src/front_end/support/app_session.rb +0 -0
  1043. /data/{mkbrut/templates → templates}/Base/app/src/front_end/svgs/README.md +0 -0
  1044. /data/{mkbrut/templates → templates}/Base/app/src/front_end/svgs/comment-button.svg +0 -0
  1045. /data/{mkbrut/templates → templates}/Base/bin/README.md.erb +0 -0
  1046. /data/{mkbrut/templates → templates}/Base/bin/console +0 -0
  1047. /data/{mkbrut/templates → templates}/Base/bin/dbconsole +0 -0
  1048. /data/{mkbrut/templates → templates}/Base/bin/dev +0 -0
  1049. /data/{mkbrut/templates → templates}/Base/bin/run +0 -0
  1050. /data/{mkbrut/templates → templates}/Base/bin/run.run +0 -0
  1051. /data/{mkbrut/templates → templates}/Base/bin/startup-message +0 -0
  1052. /data/{mkbrut/templates → templates}/Base/config.ru +0 -0
  1053. /data/{mkbrut/templates → templates}/Base/docker-compose.dx.yml +0 -0
  1054. /data/{mkbrut/templates → templates}/Base/dx/README.md +0 -0
  1055. /data/{mkbrut/templates → templates}/Base/dx/bash_customizations +0 -0
  1056. /data/{mkbrut/templates → templates}/Base/dx/bash_customizations.local +0 -0
  1057. /data/{mkbrut/templates → templates}/Base/dx/build +0 -0
  1058. /data/{mkbrut/templates → templates}/Base/dx/dx.sh.lib +0 -0
  1059. /data/{mkbrut/templates → templates}/Base/dx/exec +0 -0
  1060. /data/{dx → templates/Base/dx}/prune +0 -0
  1061. /data/{mkbrut/templates → templates}/Base/dx/show-help-in-app-container-then-wait.sh +0 -0
  1062. /data/{dx → templates/Base/dx}/start +0 -0
  1063. /data/{dx → templates/Base/dx}/stop +0 -0
  1064. /data/{mkbrut/templates → templates}/Base/package.json.erb +0 -0
  1065. /data/{mkbrut/templates → templates}/Base/puma.config.rb +0 -0
  1066. /data/{mkbrut/templates → templates}/Base/specs/e2e/home_page.spec.rb.erb +0 -0
  1067. /data/{mkbrut/templates → templates}/Base/specs/front_end/js/SpecHelper.js +0 -0
  1068. /data/{mkbrut/templates → templates}/Base/specs/front_end/pages/home_page.spec.rb +0 -0
  1069. /data/{mkbrut/templates → templates}/Base/specs/lint_factories.spec.rb +0 -0
  1070. /data/{mkbrut/templates → templates}/Base/specs/spec_helper.rb +0 -0
  1071. /data/{mkbrut/templates → templates}/Base/specs/support.rb +0 -0
  1072. /data/{mkbrut/templates → templates}/segments/BareBones/app/src/front_end/handlers/trigger_exception_handler.rb +0 -0
  1073. /data/{mkbrut/templates → templates}/segments/BareBones/app/src/front_end/js/Example.js.erb +0 -0
  1074. /data/{mkbrut/templates → templates}/segments/BareBones/specs/front_end/handlers/trigger_exception_handler.spec.rb +0 -0
  1075. /data/{mkbrut/templates → templates}/segments/BareBones/specs/front_end/js/Example.spec.js.erb +0 -0
  1076. /data/{mkbrut/templates → templates}/segments/Demo/app/src/back_end/data_models/db/guestbook_message.rb +0 -0
  1077. /data/{mkbrut/templates → templates}/segments/Demo/app/src/back_end/data_models/migrations/20250628194124_guestbook.rb +0 -0
  1078. /data/{mkbrut/templates → templates}/segments/Demo/app/src/front_end/components/flash_component.rb +0 -0
  1079. /data/{mkbrut/templates → templates}/segments/Demo/app/src/front_end/css/constraint-violations.css +0 -0
  1080. /data/{mkbrut/templates → templates}/segments/Demo/app/src/front_end/fonts/monaspace-xenon.ttf +0 -0
  1081. /data/{mkbrut/templates → templates}/segments/Demo/app/src/front_end/forms/guestbook_message_form.rb +0 -0
  1082. /data/{mkbrut/templates → templates}/segments/Demo/app/src/front_end/handlers/guestbook_message_handler.rb +0 -0
  1083. /data/{mkbrut/templates → templates}/segments/Demo/app/src/front_end/pages/guestbook_page/message_component.rb +0 -0
  1084. /data/{mkbrut/templates → templates}/segments/Demo/app/src/front_end/pages/guestbook_page.rb +0 -0
  1085. /data/{mkbrut/templates → templates}/segments/Demo/app/src/front_end/pages/new_guestbook_message_page.rb +0 -0
  1086. /data/{mkbrut/templates → templates}/segments/Demo/specs/back_end/data_models/db/guestbook_message.spec.rb +0 -0
  1087. /data/{mkbrut/templates → templates}/segments/Demo/specs/e2e/guest_message.spec.rb +0 -0
  1088. /data/{mkbrut/templates → templates}/segments/Demo/specs/factories/db/guestbook_message.factory.rb +0 -0
  1089. /data/{mkbrut/templates → templates}/segments/Demo/specs/front_end/components/flash_component.spec.rb +0 -0
  1090. /data/{mkbrut/templates → templates}/segments/Demo/specs/front_end/handlers/guestbook_message_handler.spec.rb +0 -0
  1091. /data/{mkbrut/templates → templates}/segments/Demo/specs/front_end/pages/guestbook_page/message_component.spec.rb +0 -0
  1092. /data/{mkbrut/templates → templates}/segments/Demo/specs/front_end/pages/guestbook_page.spec.rb +0 -0
  1093. /data/{mkbrut/templates → templates}/segments/Demo/specs/front_end/pages/new_guestbook_message_page.spec.rb +0 -0
  1094. /data/{mkbrut/templates → templates}/segments/Heroku/bin/deploy +0 -0
  1095. /data/{mkbrut/templates → templates}/segments/Heroku/deploy/docker-entrypoint +0 -0
  1096. /data/{mkbrut/templates → templates}/segments/Sidekiq/app/boot_sidekiq.rb +0 -0
  1097. /data/{mkbrut/templates → templates}/segments/Sidekiq/app/config/sidekiq.yml +0 -0
  1098. /data/{mkbrut/templates → templates}/segments/Sidekiq/app/src/back_end/jobs/app_job.rb +0 -0
  1099. /data/{mkbrut/templates → templates}/segments/Sidekiq/app/src/back_end/jobs/example_job.rb +0 -0
  1100. /data/{mkbrut/templates → templates}/segments/Sidekiq/app/src/back_end/segments/sidekiq_segment.rb +0 -0
  1101. /data/{mkbrut/templates → templates}/segments/Sidekiq/bin/run.sidekiq +0 -0
  1102. /data/{mkbrut/templates → templates}/segments/Sidekiq/specs/back_end/jobs/example_job.spec.rb +0 -0
  1103. /data/{mkbrut/templates → templates}/segments/Sidekiq/specs/integration/sidekiq_works.spec.rb +0 -0
@@ -1,2425 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>
7
- Class: Brut::CLI::Command
8
-
9
- &mdash; Documentation by YARD 0.9.37
10
-
11
- </title>
12
-
13
- <link rel="stylesheet" href="../../css/style.css" type="text/css" />
14
-
15
- <link rel="stylesheet" href="../../css/common.css" type="text/css" />
16
-
17
- <script type="text/javascript">
18
- pathId = "Brut::CLI::Command";
19
- relpath = '../../';
20
- </script>
21
-
22
-
23
- <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
24
-
25
- <script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
26
-
27
-
28
- </head>
29
- <body>
30
- <div class="nav_wrap">
31
- <iframe id="nav" src="../../class_list.html?1"></iframe>
32
- <div id="resizer"></div>
33
- </div>
34
-
35
- <div id="main" tabindex="-1">
36
- <div id="header">
37
- <div id="menu">
38
-
39
- <a href="../../_index.html">Index (C)</a> &raquo;
40
- <span class='title'><span class='object_link'><a href="../../Brut.html" title="Brut (module)">Brut</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../CLI.html" title="Brut::CLI (module)">CLI</a></span></span>
41
- &raquo;
42
- <span class="title">Command</span>
43
-
44
- </div>
45
-
46
- <div id="search">
47
-
48
- <a class="full_list_link" id="class_list_link"
49
- href="../../class_list.html">
50
-
51
- <svg width="24" height="24">
52
- <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
- <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
- <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
- </svg>
56
- </a>
57
-
58
- </div>
59
- <div class="clear"></div>
60
- </div>
61
-
62
- <div id="content"><h1>Class: Brut::CLI::Command
63
-
64
-
65
-
66
- </h1>
67
- <div class="box_info">
68
-
69
- <dl>
70
- <dt>Inherits:</dt>
71
- <dd>
72
- <span class="inheritName">Object</span>
73
-
74
- <ul class="fullTree">
75
- <li>Object</li>
76
-
77
- <li class="next">Brut::CLI::Command</li>
78
-
79
- </ul>
80
- <a href="#" class="inheritanceTree">show all</a>
81
-
82
- </dd>
83
- </dl>
84
-
85
-
86
-
87
-
88
-
89
-
90
- <dl>
91
- <dt>Includes:</dt>
92
- <dd><span class='object_link'><a href="ExecutionResults.html" title="Brut::CLI::ExecutionResults (module)">ExecutionResults</a></span>, <span class='object_link'><a href="../Framework/Errors.html" title="Brut::Framework::Errors (module)">Framework::Errors</a></span>, <span class='object_link'><a href="../I18n/ForCLI.html" title="Brut::I18n::ForCLI (module)">I18n::ForCLI</a></span></dd>
93
- </dl>
94
-
95
-
96
-
97
-
98
-
99
-
100
- <dl>
101
- <dt>Defined in:</dt>
102
- <dd>lib/brut/cli/command.rb</dd>
103
- </dl>
104
-
105
- </div>
106
-
107
- <h2>Overview</h2><div class="docstring">
108
- <div class="discussion">
109
- <p>Base class for subcommands of a <span class='object_link'><a href="App.html" title="Brut::CLI::App (class)">App</a></span>. You must implement <span class='object_link'><a href="#execute-instance_method" title="Brut::CLI::Command#execute (method)">#execute</a></span> to perform whatever action this command must perform.</p>
110
-
111
-
112
- </div>
113
- </div>
114
- <div class="tags">
115
-
116
-
117
- </div><div id="subclasses">
118
- <h2>Direct Known Subclasses</h2>
119
- <p class="children"><span class='object_link'><a href="Apps/BuildAssets/All.html" title="Brut::CLI::Apps::BuildAssets::All (class)">Apps::BuildAssets::All</a></span>, <span class='object_link'><a href="Apps/BuildAssets/Css.html" title="Brut::CLI::Apps::BuildAssets::Css (class)">Apps::BuildAssets::Css</a></span>, <span class='object_link'><a href="Apps/BuildAssets/Images.html" title="Brut::CLI::Apps::BuildAssets::Images (class)">Apps::BuildAssets::Images</a></span>, <span class='object_link'><a href="Apps/BuildAssets/Js.html" title="Brut::CLI::Apps::BuildAssets::Js (class)">Apps::BuildAssets::Js</a></span>, <span class='object_link'><a href="Apps/DB/Create.html" title="Brut::CLI::Apps::DB::Create (class)">Apps::DB::Create</a></span>, <span class='object_link'><a href="Apps/DB/Drop.html" title="Brut::CLI::Apps::DB::Drop (class)">Apps::DB::Drop</a></span>, <span class='object_link'><a href="Apps/DB/Migrate.html" title="Brut::CLI::Apps::DB::Migrate (class)">Apps::DB::Migrate</a></span>, <span class='object_link'><a href="Apps/DB/NewMigration.html" title="Brut::CLI::Apps::DB::NewMigration (class)">Apps::DB::NewMigration</a></span>, <span class='object_link'><a href="Apps/DB/Rebuild.html" title="Brut::CLI::Apps::DB::Rebuild (class)">Apps::DB::Rebuild</a></span>, <span class='object_link'><a href="Apps/DB/Seed.html" title="Brut::CLI::Apps::DB::Seed (class)">Apps::DB::Seed</a></span>, <span class='object_link'><a href="Apps/DB/Status.html" title="Brut::CLI::Apps::DB::Status (class)">Apps::DB::Status</a></span>, <span class='object_link'><a href="Apps/HerokuContainerBasedDeploy/Deploy.html" title="Brut::CLI::Apps::HerokuContainerBasedDeploy::Deploy (class)">Apps::HerokuContainerBasedDeploy::Deploy</a></span>, <span class='object_link'><a href="Apps/Scaffold/Action.html" title="Brut::CLI::Apps::Scaffold::Action (class)">Apps::Scaffold::Action</a></span>, <span class='object_link'><a href="Apps/Scaffold/Component.html" title="Brut::CLI::Apps::Scaffold::Component (class)">Apps::Scaffold::Component</a></span>, <span class='object_link'><a href="Apps/Scaffold/CustomElementTest.html" title="Brut::CLI::Apps::Scaffold::CustomElementTest (class)">Apps::Scaffold::CustomElementTest</a></span>, <span class='object_link'><a href="Apps/Scaffold/DbModel.html" title="Brut::CLI::Apps::Scaffold::DbModel (class)">Apps::Scaffold::DbModel</a></span>, <span class='object_link'><a href="Apps/Scaffold/E2ETest.html" title="Brut::CLI::Apps::Scaffold::E2ETest (class)">Apps::Scaffold::E2ETest</a></span>, <span class='object_link'><a href="Apps/Scaffold/Page.html" title="Brut::CLI::Apps::Scaffold::Page (class)">Apps::Scaffold::Page</a></span>, <span class='object_link'><a href="Apps/Scaffold/Test.html" title="Brut::CLI::Apps::Scaffold::Test (class)">Apps::Scaffold::Test</a></span>, <span class='object_link'><a href="Apps/Test/Audit.html" title="Brut::CLI::Apps::Test::Audit (class)">Apps::Test::Audit</a></span>, <span class='object_link'><a href="Apps/Test/Js.html" title="Brut::CLI::Apps::Test::Js (class)">Apps::Test::Js</a></span>, <span class='object_link'><a href="Apps/Test/Run.html" title="Brut::CLI::Apps::Test::Run (class)">Apps::Test::Run</a></span></p>
120
- </div>
121
-
122
-
123
-
124
-
125
-
126
-
127
-
128
-
129
- <h2>
130
- Class Method Summary
131
- <small><a href="#" class="summary_toggle">collapse</a></small>
132
- </h2>
133
-
134
- <ul class="summary">
135
-
136
- <li class="public ">
137
- <span class="summary_signature">
138
-
139
- <a href="#args-class_method" title="args (class method)">.<strong>args</strong>(new_args = nil) &#x21d2; String the current value (if called with no parameters) </a>
140
-
141
-
142
-
143
- </span>
144
-
145
-
146
-
147
-
148
-
149
-
150
-
151
-
152
-
153
- <span class="summary_desc"><div class='inline'><p>Set a description of the command line args this command accepts.</p>
154
- </div></span>
155
-
156
- </li>
157
-
158
-
159
- <li class="public ">
160
- <span class="summary_signature">
161
-
162
- <a href="#command_name-class_method" title="command_name (class method)">.<strong>command_name</strong> &#x21d2; Object </a>
163
-
164
-
165
-
166
- </span>
167
-
168
-
169
-
170
-
171
-
172
-
173
-
174
-
175
-
176
- <span class="summary_desc"><div class='inline'><p>Returns the name of this command, for use on the command line.</p>
177
- </div></span>
178
-
179
- </li>
180
-
181
-
182
- <li class="public ">
183
- <span class="summary_signature">
184
-
185
- <a href="#default_env-class_method" title="default_env (class method)">.<strong>default_env</strong> &#x21d2; Object </a>
186
-
187
-
188
-
189
- </span>
190
-
191
-
192
-
193
-
194
-
195
-
196
-
197
-
198
-
199
- <span class="summary_desc"><div class='inline'><p>Returns the default project env, based on the logic described in <span class='object_link'><a href="#requires_project_env-class_method" title="Brut::CLI::Command.requires_project_env (method)">Command.requires_project_env</a></span>.</p>
200
- </div></span>
201
-
202
- </li>
203
-
204
-
205
- <li class="public ">
206
- <span class="summary_signature">
207
-
208
- <a href="#description-class_method" title="description (class method)">.<strong>description</strong>(new_description = nil) &#x21d2; String </a>
209
-
210
-
211
-
212
- </span>
213
-
214
-
215
-
216
-
217
-
218
-
219
-
220
-
221
-
222
- <span class="summary_desc"><div class='inline'><p>Call this to set the one-line description of this command.</p>
223
- </div></span>
224
-
225
- </li>
226
-
227
-
228
- <li class="public ">
229
- <span class="summary_signature">
230
-
231
- <a href="#detailed_description-class_method" title="detailed_description (class method)">.<strong>detailed_description</strong>(new_description = nil) &#x21d2; String </a>
232
-
233
-
234
-
235
- </span>
236
-
237
-
238
-
239
-
240
-
241
-
242
-
243
-
244
-
245
- <span class="summary_desc"><div class='inline'><p>Call this to set a an additional detailed description of this command.</p>
246
- </div></span>
247
-
248
- </li>
249
-
250
-
251
- <li class="public ">
252
- <span class="summary_signature">
253
-
254
- <a href="#env_var-class_method" title="env_var (class method)">.<strong>env_var</strong>(var_name, purpose:) &#x21d2; Object </a>
255
-
256
-
257
-
258
- </span>
259
-
260
-
261
-
262
-
263
-
264
-
265
-
266
-
267
-
268
- <span class="summary_desc"><div class='inline'><p>Call this for each environment variable this <em>command</em> responds to.</p>
269
- </div></span>
270
-
271
- </li>
272
-
273
-
274
- <li class="public ">
275
- <span class="summary_signature">
276
-
277
- <a href="#name_matches%3F-class_method" title="name_matches? (class method)">.<strong>name_matches?</strong>(string) &#x21d2; true|false </a>
278
-
279
-
280
-
281
- </span>
282
-
283
-
284
-
285
-
286
-
287
-
288
-
289
-
290
-
291
- <span class="summary_desc"><div class='inline'><p>Checks if a given string matches this command name.</p>
292
- </div></span>
293
-
294
- </li>
295
-
296
-
297
- <li class="public ">
298
- <span class="summary_signature">
299
-
300
- <a href="#option_parser-class_method" title="option_parser (class method)">.<strong>option_parser</strong> &#x21d2; OptionParser </a>
301
-
302
-
303
-
304
- </span>
305
-
306
-
307
-
308
-
309
-
310
-
311
-
312
-
313
-
314
- <span class="summary_desc"><div class='inline'><p>Returns the configured <code>OptionParser</code> used to parse the command portion of the command line.</p>
315
- </div></span>
316
-
317
- </li>
318
-
319
-
320
- <li class="public ">
321
- <span class="summary_signature">
322
-
323
- <a href="#opts-class_method" title="opts (class method)">.<strong>opts</strong> &#x21d2; OptionParser </a>
324
-
325
-
326
-
327
- </span>
328
-
329
-
330
-
331
-
332
-
333
-
334
-
335
-
336
-
337
- <span class="summary_desc"><div class='inline'><p>Provides access to an <code>OptionParser</code> you can use to declare flags and switches that should be accepted only by this command.</p>
338
- </div></span>
339
-
340
- </li>
341
-
342
-
343
- <li class="public ">
344
- <span class="summary_signature">
345
-
346
- <a href="#requires_project_env-class_method" title="requires_project_env (class method)">.<strong>requires_project_env</strong>(default: &quot;development&quot;) &#x21d2; Object </a>
347
-
348
-
349
-
350
- </span>
351
-
352
-
353
-
354
-
355
-
356
-
357
-
358
-
359
-
360
- <span class="summary_desc"><div class='inline'><p>Call this if this command requires a project environment as context for what it does.</p>
361
- </div></span>
362
-
363
- </li>
364
-
365
-
366
- <li class="public ">
367
- <span class="summary_signature">
368
-
369
- <a href="#requires_project_env%3F-class_method" title="requires_project_env? (class method)">.<strong>requires_project_env?</strong> &#x21d2; Boolean </a>
370
-
371
-
372
-
373
- </span>
374
-
375
-
376
-
377
-
378
-
379
-
380
-
381
-
382
-
383
- <span class="summary_desc"><div class='inline'><p>Returns true if this app requires a project env.</p>
384
- </div></span>
385
-
386
- </li>
387
-
388
-
389
- </ul>
390
-
391
- <h2>
392
- Instance Method Summary
393
- <small><a href="#" class="summary_toggle">collapse</a></small>
394
- </h2>
395
-
396
- <ul class="summary">
397
-
398
- <li class="public ">
399
- <span class="summary_signature">
400
-
401
- <a href="#after_bootstrap-instance_method" title="#after_bootstrap (instance method)">#<strong>after_bootstrap</strong>(app:) &#x21d2; Object </a>
402
-
403
-
404
-
405
- </span>
406
-
407
-
408
-
409
-
410
-
411
-
412
-
413
-
414
-
415
- <span class="summary_desc"><div class='inline'><p>Called after all setup has been executed.</p>
416
- </div></span>
417
-
418
- </li>
419
-
420
-
421
- <li class="public ">
422
- <span class="summary_signature">
423
-
424
- <a href="#args-instance_method" title="#args (instance method)">#<strong>args</strong> &#x21d2; Array&lt;String&gt; </a>
425
-
426
-
427
-
428
- </span>
429
-
430
-
431
-
432
-
433
-
434
-
435
-
436
-
437
-
438
- <span class="summary_desc"><div class='inline'><p>The arguments parsed from the command line.</p>
439
- </div></span>
440
-
441
- </li>
442
-
443
-
444
- <li class="public ">
445
- <span class="summary_signature">
446
-
447
- <a href="#before_execute-instance_method" title="#before_execute (instance method)">#<strong>before_execute</strong> &#x21d2; Object </a>
448
-
449
-
450
-
451
- </span>
452
-
453
-
454
-
455
-
456
-
457
-
458
-
459
-
460
-
461
- <span class="summary_desc"><div class='inline'><p>Called before any execution or bootstrapping happens but after <span class='object_link'><a href="App.html#before_execute-instance_method" title="Brut::CLI::App#before_execute (method)">App#before_execute</a></span> is called.</p>
462
- </div></span>
463
-
464
- </li>
465
-
466
-
467
- <li class="public ">
468
- <span class="summary_signature">
469
-
470
- <a href="#delegate_to_commands-instance_method" title="#delegate_to_commands (instance method)">#<strong>delegate_to_commands</strong>(*command_klasses) &#x21d2; Brut::CLI::ExecutionResults::Result </a>
471
-
472
-
473
-
474
- </span>
475
-
476
-
477
-
478
-
479
-
480
-
481
-
482
-
483
-
484
- <span class="summary_desc"><div class='inline'><p>Use this inside <span class='object_link'><a href="#execute-instance_method" title="Brut::CLI::Command#execute (method)">#execute</a></span> to createa compound command that executes other commands that are a part of your CLI app.</p>
485
- </div></span>
486
-
487
- </li>
488
-
489
-
490
- <li class="public ">
491
- <span class="summary_signature">
492
-
493
- <a href="#err-instance_method" title="#err (instance method)">#<strong>err</strong> &#x21d2; Brut::CLI::Output </a>
494
-
495
-
496
-
497
- </span>
498
-
499
-
500
-
501
-
502
-
503
-
504
-
505
-
506
-
507
- <span class="summary_desc"><div class='inline'><p>IO to use for sending messages to the standard error.</p>
508
- </div></span>
509
-
510
- </li>
511
-
512
-
513
- <li class="public ">
514
- <span class="summary_signature">
515
-
516
- <a href="#execute-instance_method" title="#execute (instance method)">#<strong>execute</strong> &#x21d2; Brut::CLI::ExecutionResults::Result </a>
517
-
518
-
519
-
520
- </span>
521
-
522
-
523
-
524
-
525
-
526
-
527
-
528
-
529
-
530
- <span class="summary_desc"><div class='inline'><p>You must implement this to perform whatever action your command needs to perform.</p>
531
- </div></span>
532
-
533
- </li>
534
-
535
-
536
- <li class="public ">
537
- <span class="summary_signature">
538
-
539
- <a href="#global_options-instance_method" title="#global_options (instance method)">#<strong>global_options</strong> &#x21d2; Brut::CLI::Options </a>
540
-
541
-
542
-
543
- </span>
544
-
545
-
546
-
547
-
548
-
549
-
550
-
551
-
552
-
553
- <span class="summary_desc"><div class='inline'><p>The global options parsed on the command line.</p>
554
- </div></span>
555
-
556
- </li>
557
-
558
-
559
- <li class="public ">
560
- <span class="summary_signature">
561
-
562
- <a href="#handle_bootstrap_exception-instance_method" title="#handle_bootstrap_exception (instance method)">#<strong>handle_bootstrap_exception</strong>(ex) &#x21d2; void </a>
563
-
564
-
565
-
566
- </span>
567
-
568
-
569
-
570
-
571
-
572
-
573
-
574
-
575
-
576
- <span class="summary_desc"><div class='inline'><p>Called if there is an exception during bootstrapping.</p>
577
- </div></span>
578
-
579
- </li>
580
-
581
-
582
- <li class="public ">
583
- <span class="summary_signature">
584
-
585
- <a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(command_options:, global_options:, args:, out:, err:, executor:) &#x21d2; Command </a>
586
-
587
-
588
-
589
- </span>
590
-
591
-
592
- <span class="note title constructor">constructor</span>
593
-
594
-
595
-
596
-
597
-
598
-
599
-
600
-
601
- <span class="summary_desc"><div class='inline'><p>Creates the command before executing it.</p>
602
- </div></span>
603
-
604
- </li>
605
-
606
-
607
- <li class="public ">
608
- <span class="summary_signature">
609
-
610
- <a href="#options-instance_method" title="#options (instance method)">#<strong>options</strong> &#x21d2; Brut::CLI::Options </a>
611
-
612
-
613
-
614
- </span>
615
-
616
-
617
-
618
-
619
-
620
-
621
-
622
-
623
-
624
- <span class="summary_desc"><div class='inline'><p>The command options parsed on the command line.</p>
625
- </div></span>
626
-
627
- </li>
628
-
629
-
630
- <li class="public ">
631
- <span class="summary_signature">
632
-
633
- <a href="#out-instance_method" title="#out (instance method)">#<strong>out</strong> &#x21d2; Brut::CLI::Output </a>
634
-
635
-
636
-
637
- </span>
638
-
639
-
640
-
641
-
642
-
643
-
644
-
645
-
646
-
647
- <span class="summary_desc"><div class='inline'><p>IO to use for sending messages to the standard output.</p>
648
- </div></span>
649
-
650
- </li>
651
-
652
-
653
- <li class="public ">
654
- <span class="summary_signature">
655
-
656
- <a href="#system!-instance_method" title="#system! (instance method)">#<strong>system!</strong>(*args) &#x21d2; int </a>
657
-
658
-
659
-
660
- </span>
661
-
662
-
663
-
664
-
665
-
666
-
667
-
668
-
669
-
670
- <span class="summary_desc"><div class='inline'><p>Convienince method to call <span class='object_link'><a href="Executor.html#system!-instance_method" title="Brut::CLI::Executor#system! (method)">Executor#system!</a></span> on the executor given in the constructor.</p>
671
- </div></span>
672
-
673
- </li>
674
-
675
-
676
- </ul>
677
-
678
-
679
-
680
-
681
-
682
-
683
-
684
-
685
-
686
-
687
-
688
- <h3 class="inherited">Methods included from <span class='object_link'><a href="../Framework/Errors.html" title="Brut::Framework::Errors (module)">Framework::Errors</a></span></h3>
689
- <p class="inherited"><span class='object_link'><a href="../Framework/Errors.html#abstract_method!-instance_method" title="Brut::Framework::Errors#abstract_method! (method)">#abstract_method!</a></span>, <span class='object_link'><a href="../Framework/Errors.html#bug!-instance_method" title="Brut::Framework::Errors#bug! (method)">#bug!</a></span></p>
690
-
691
-
692
-
693
-
694
-
695
-
696
-
697
-
698
-
699
- <h3 class="inherited">Methods included from <span class='object_link'><a href="../I18n/ForCLI.html" title="Brut::I18n::ForCLI (module)">I18n::ForCLI</a></span></h3>
700
- <p class="inherited"><span class='object_link'><a href="../I18n/ForCLI.html#capture-instance_method" title="Brut::I18n::ForCLI#capture (method)">#capture</a></span>, <span class='object_link'><a href="../I18n/ForCLI.html#html_escape-instance_method" title="Brut::I18n::ForCLI#html_escape (method)">#html_escape</a></span>, <span class='object_link'><a href="../I18n/ForCLI.html#safe-instance_method" title="Brut::I18n::ForCLI#safe (method)">#safe</a></span></p>
701
-
702
-
703
-
704
-
705
-
706
-
707
-
708
-
709
-
710
- <h3 class="inherited">Methods included from <span class='object_link'><a href="../I18n/BaseMethods.html" title="Brut::I18n::BaseMethods (module)">I18n::BaseMethods</a></span></h3>
711
- <p class="inherited"><span class='object_link'><a href="../I18n/BaseMethods.html#l-instance_method" title="Brut::I18n::BaseMethods#l (method)">#l</a></span>, <span class='object_link'><a href="../I18n/BaseMethods.html#t-instance_method" title="Brut::I18n::BaseMethods#t (method)">#t</a></span>, <span class='object_link'><a href="../I18n/BaseMethods.html#t_direct-instance_method" title="Brut::I18n::BaseMethods#t_direct (method)">#t_direct</a></span>, <span class='object_link'><a href="../I18n/BaseMethods.html#this_field_value-instance_method" title="Brut::I18n::BaseMethods#this_field_value (method)">#this_field_value</a></span></p>
712
-
713
-
714
-
715
-
716
-
717
-
718
-
719
-
720
-
721
- <h3 class="inherited">Methods included from <span class='object_link'><a href="ExecutionResults.html" title="Brut::CLI::ExecutionResults (module)">ExecutionResults</a></span></h3>
722
- <p class="inherited"><span class='object_link'><a href="ExecutionResults.html#abort_execution-instance_method" title="Brut::CLI::ExecutionResults#abort_execution (method)">#abort_execution</a></span>, <span class='object_link'><a href="ExecutionResults.html#as_execution_result-instance_method" title="Brut::CLI::ExecutionResults#as_execution_result (method)">#as_execution_result</a></span>, <span class='object_link'><a href="ExecutionResults.html#cli_usage_error-instance_method" title="Brut::CLI::ExecutionResults#cli_usage_error (method)">#cli_usage_error</a></span>, <span class='object_link'><a href="ExecutionResults.html#continue_execution-instance_method" title="Brut::CLI::ExecutionResults#continue_execution (method)">#continue_execution</a></span>, <span class='object_link'><a href="ExecutionResults.html#show_cli_usage-instance_method" title="Brut::CLI::ExecutionResults#show_cli_usage (method)">#show_cli_usage</a></span>, <span class='object_link'><a href="ExecutionResults.html#stop_execution-instance_method" title="Brut::CLI::ExecutionResults#stop_execution (method)">#stop_execution</a></span></p>
723
- <div id="constructor_details" class="method_details_list">
724
- <h2>Constructor Details</h2>
725
-
726
- <div class="method_details first">
727
- <h3 class="signature first" id="initialize-instance_method">
728
-
729
- #<strong>initialize</strong>(command_options:, global_options:, args:, out:, err:, executor:) &#x21d2; <tt><span class='object_link'><a href="" title="Brut::CLI::Command (class)">Command</a></span></tt>
730
-
731
-
732
-
733
-
734
-
735
- </h3><div class="docstring">
736
- <div class="discussion">
737
- <p>Creates the command before executing it. Generally you would not call this directly.</p>
738
-
739
-
740
- </div>
741
- </div>
742
- <div class="tags">
743
- <p class="tag_title">Parameters:</p>
744
- <ul class="param">
745
-
746
- <li>
747
-
748
- <span class='name'>command_options</span>
749
-
750
-
751
- <span class='type'>(<tt><span class='object_link'><a href="Options.html" title="Brut::CLI::Options (class)">Brut::CLI::Options</a></span></tt>)</span>
752
-
753
-
754
-
755
- &mdash;
756
- <div class='inline'><p>the command options parsed from the command line.</p>
757
- </div>
758
-
759
- </li>
760
-
761
- <li>
762
-
763
- <span class='name'>global_options</span>
764
-
765
-
766
- <span class='type'>(<tt><span class='object_link'><a href="Options.html" title="Brut::CLI::Options (class)">Brut::CLI::Options</a></span></tt>)</span>
767
-
768
-
769
-
770
- &mdash;
771
- <div class='inline'><p>the global options parsed from the command line.</p>
772
- </div>
773
-
774
- </li>
775
-
776
- <li>
777
-
778
- <span class='name'>args</span>
779
-
780
-
781
- <span class='type'>(<tt>Array</tt>)</span>
782
-
783
-
784
-
785
- &mdash;
786
- <div class='inline'><p>Any unparsed arguments</p>
787
- </div>
788
-
789
- </li>
790
-
791
- <li>
792
-
793
- <span class='name'>out</span>
794
-
795
-
796
- <span class='type'>(<tt><span class='object_link'><a href="Output.html" title="Brut::CLI::Output (class)">Brut::CLI::Output</a></span></tt>)</span>
797
-
798
-
799
-
800
- &mdash;
801
- <div class='inline'><p>an IO used to send messages to the standard output</p>
802
- </div>
803
-
804
- </li>
805
-
806
- <li>
807
-
808
- <span class='name'>err</span>
809
-
810
-
811
- <span class='type'>(<tt><span class='object_link'><a href="Output.html" title="Brut::CLI::Output (class)">Brut::CLI::Output</a></span></tt>)</span>
812
-
813
-
814
-
815
- &mdash;
816
- <div class='inline'><p>an IO used to send messages to the standard error</p>
817
- </div>
818
-
819
- </li>
820
-
821
- <li>
822
-
823
- <span class='name'>executor</span>
824
-
825
-
826
- <span class='type'>(<tt><span class='object_link'><a href="Executor.html" title="Brut::CLI::Executor (class)">Brut::CLI::Executor</a></span></tt>)</span>
827
-
828
-
829
-
830
- &mdash;
831
- <div class='inline'><p>used to execute child processes instead of e.g. <code>system</code></p>
832
- </div>
833
-
834
- </li>
835
-
836
- </ul>
837
-
838
-
839
- </div><table class="source_code">
840
- <tr>
841
- <td>
842
- <pre class="lines">
843
-
844
-
845
- 139
846
- 140
847
- 141
848
- 142
849
- 143
850
- 144
851
- 145
852
- 146
853
- 147
854
- 148
855
- 149</pre>
856
- </td>
857
- <td>
858
- <pre class="code"><span class="info file"># File 'lib/brut/cli/command.rb', line 139</span>
859
-
860
- <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='label'>command_options:</span><span class='comma'>,</span><span class='label'>global_options:</span><span class='comma'>,</span> <span class='label'>args:</span><span class='comma'>,</span><span class='label'>out:</span><span class='comma'>,</span><span class='label'>err:</span><span class='comma'>,</span><span class='label'>executor:</span><span class='rparen'>)</span>
861
- <span class='ivar'>@command_options</span> <span class='op'>=</span> <span class='id identifier rubyid_command_options'>command_options</span>
862
- <span class='ivar'>@global_options</span> <span class='op'>=</span> <span class='id identifier rubyid_global_options'>global_options</span>
863
- <span class='ivar'>@args</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span>
864
- <span class='ivar'>@out</span> <span class='op'>=</span> <span class='id identifier rubyid_out'>out</span>
865
- <span class='ivar'>@err</span> <span class='op'>=</span> <span class='id identifier rubyid_err'>err</span>
866
- <span class='ivar'>@executor</span> <span class='op'>=</span> <span class='id identifier rubyid_executor'>executor</span>
867
- <span class='kw'>if</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_default_env'>default_env</span>
868
- <span class='ivar'>@command_options</span><span class='period'>.</span><span class='id identifier rubyid_set_default'>set_default</span><span class='lparen'>(</span><span class='symbol'>:env</span><span class='comma'>,</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_default_env'>default_env</span><span class='rparen'>)</span>
869
- <span class='kw'>end</span>
870
- <span class='kw'>end</span></pre>
871
- </td>
872
- </tr>
873
- </table>
874
- </div>
875
-
876
- </div>
877
-
878
-
879
- <div id="class_method_details" class="method_details_list">
880
- <h2>Class Method Details</h2>
881
-
882
-
883
- <div class="method_details first">
884
- <h3 class="signature first" id="args-class_method">
885
-
886
- .<strong>args</strong>(new_args = nil) &#x21d2; <tt>String the current value (if called with no parameters)</tt>
887
-
888
-
889
-
890
-
891
-
892
- </h3><div class="docstring">
893
- <div class="discussion">
894
- <p>Set a description of the command line args this command accepts. Args are any part of the command line that is not a switch or
895
- flag. The string you give will be used only for documentation. Typically, you would format it in one a few ways:</p>
896
-
897
- <ul>
898
- <li><code>args "some_arg"</code> indicates that exactly one arg called <code>some_arg</code> is required</li>
899
- <li><code>args "[some_arg]"</code> indicates that exactly one arg called <code>some_arg</code> is optional</li>
900
- <li><code>args "args..."</code> indicates that</li>
901
- <li><code>args "[args...]"</code> indicates that zero or more args called <code>args</code> are accepted</li>
902
- </ul>
903
-
904
-
905
-
906
- </div>
907
- </div>
908
- <div class="tags">
909
- <p class="tag_title">Parameters:</p>
910
- <ul class="param">
911
-
912
- <li>
913
-
914
- <span class='name'>new_args</span>
915
-
916
-
917
- <span class='type'>(<tt>String</tt>)</span>
918
-
919
-
920
- <em class="default">(defaults to: <tt>nil</tt>)</em>
921
-
922
-
923
- &mdash;
924
- <div class='inline'><p>documentation for this command's args. If omitted, returns the current value.</p>
925
- </div>
926
-
927
- </li>
928
-
929
- </ul>
930
-
931
- <p class="tag_title">Returns:</p>
932
- <ul class="return">
933
-
934
- <li>
935
-
936
-
937
- <span class='type'>(<tt>String the current value (if called with no parameters)</tt>)</span>
938
-
939
-
940
-
941
- &mdash;
942
- <div class='inline'><p>String the current value (if called with no parameters)</p>
943
- </div>
944
-
945
- </li>
946
-
947
- </ul>
948
-
949
- </div><table class="source_code">
950
- <tr>
951
- <td>
952
- <pre class="lines">
953
-
954
-
955
- 46
956
- 47
957
- 48
958
- 49
959
- 50
960
- 51
961
- 52</pre>
962
- </td>
963
- <td>
964
- <pre class="code"><span class="info file"># File 'lib/brut/cli/command.rb', line 46</span>
965
-
966
- <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_args'>args</span><span class='lparen'>(</span><span class='id identifier rubyid_new_args'>new_args</span><span class='op'>=</span><span class='kw'>nil</span><span class='rparen'>)</span>
967
- <span class='kw'>if</span> <span class='id identifier rubyid_new_args'>new_args</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
968
- <span class='kw'>return</span> <span class='ivar'>@args</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
969
- <span class='kw'>else</span>
970
- <span class='ivar'>@args</span> <span class='op'>=</span> <span class='id identifier rubyid_new_args'>new_args</span>
971
- <span class='kw'>end</span>
972
- <span class='kw'>end</span></pre>
973
- </td>
974
- </tr>
975
- </table>
976
- </div>
977
-
978
- <div class="method_details ">
979
- <h3 class="signature " id="command_name-class_method">
980
-
981
- .<strong>command_name</strong> &#x21d2; <tt>Object</tt>
982
-
983
-
984
-
985
-
986
-
987
- </h3><div class="docstring">
988
- <div class="discussion">
989
- <p>Returns the name of this command, for use on the command line. By default, returns the "underscorized" name of this class
990
- (excluding any module namespaces). For exaple, if your command's class is <code>MyApp::CLI::Commands::ClearFiles::DryRun</code>, the command
991
- name would be <code>"dry_run"</code>. You can override this if you want something different. It is recommended that it not include spaces
992
- or other characters meaningful to the shell, but if you like quotes, cool.</p>
993
-
994
-
995
- </div>
996
- </div>
997
- <div class="tags">
998
-
999
-
1000
- </div><table class="source_code">
1001
- <tr>
1002
- <td>
1003
- <pre class="lines">
1004
-
1005
-
1006
- 74</pre>
1007
- </td>
1008
- <td>
1009
- <pre class="code"><span class="info file"># File 'lib/brut/cli/command.rb', line 74</span>
1010
-
1011
- <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_command_name'>command_name</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../RichString.html" title="RichString (class)">RichString</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="../../RichString.html#initialize-instance_method" title="RichString#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>::</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_last'>last</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_underscorized'>underscorized</span></pre>
1012
- </td>
1013
- </tr>
1014
- </table>
1015
- </div>
1016
-
1017
- <div class="method_details ">
1018
- <h3 class="signature " id="default_env-class_method">
1019
-
1020
- .<strong>default_env</strong> &#x21d2; <tt>Object</tt>
1021
-
1022
-
1023
-
1024
-
1025
-
1026
- </h3><div class="docstring">
1027
- <div class="discussion">
1028
- <p>Returns the default project env, based on the logic described in <span class='object_link'><a href="#requires_project_env-class_method" title="Brut::CLI::Command.requires_project_env (method)">requires_project_env</a></span></p>
1029
-
1030
-
1031
- </div>
1032
- </div>
1033
- <div class="tags">
1034
-
1035
-
1036
- </div><table class="source_code">
1037
- <tr>
1038
- <td>
1039
- <pre class="lines">
1040
-
1041
-
1042
- 127
1043
- 128</pre>
1044
- </td>
1045
- <td>
1046
- <pre class="code"><span class="info file"># File 'lib/brut/cli/command.rb', line 127</span>
1047
-
1048
- <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_default_env'>default_env</span> <span class='op'>=</span> <span class='ivar'>@default_env</span>
1049
- <span class='comment'># Returns true if this app requires a project env</span></pre>
1050
- </td>
1051
- </tr>
1052
- </table>
1053
- </div>
1054
-
1055
- <div class="method_details ">
1056
- <h3 class="signature " id="description-class_method">
1057
-
1058
- .<strong>description</strong>(new_description = nil) &#x21d2; <tt>String</tt>
1059
-
1060
-
1061
-
1062
-
1063
-
1064
- </h3><div class="docstring">
1065
- <div class="discussion">
1066
- <p>Call this to set the one-line description of this command</p>
1067
-
1068
-
1069
- </div>
1070
- </div>
1071
- <div class="tags">
1072
- <p class="tag_title">Parameters:</p>
1073
- <ul class="param">
1074
-
1075
- <li>
1076
-
1077
- <span class='name'>new_description</span>
1078
-
1079
-
1080
- <span class='type'>(<tt>String</tt>)</span>
1081
-
1082
-
1083
- <em class="default">(defaults to: <tt>nil</tt>)</em>
1084
-
1085
-
1086
- &mdash;
1087
- <div class='inline'><p>When present, sets the description of this command. When omitted, returns the current description.</p>
1088
- </div>
1089
-
1090
- </li>
1091
-
1092
- </ul>
1093
-
1094
- <p class="tag_title">Returns:</p>
1095
- <ul class="return">
1096
-
1097
- <li>
1098
-
1099
-
1100
- <span class='type'>(<tt>String</tt>)</span>
1101
-
1102
-
1103
-
1104
- &mdash;
1105
- <div class='inline'><p>the current description (if called with no parameters)</p>
1106
- </div>
1107
-
1108
- </li>
1109
-
1110
- </ul>
1111
-
1112
- </div><table class="source_code">
1113
- <tr>
1114
- <td>
1115
- <pre class="lines">
1116
-
1117
-
1118
- 12
1119
- 13
1120
- 14
1121
- 15
1122
- 16
1123
- 17
1124
- 18</pre>
1125
- </td>
1126
- <td>
1127
- <pre class="code"><span class="info file"># File 'lib/brut/cli/command.rb', line 12</span>
1128
-
1129
- <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_description'>description</span><span class='lparen'>(</span><span class='id identifier rubyid_new_description'>new_description</span><span class='op'>=</span><span class='kw'>nil</span><span class='rparen'>)</span>
1130
- <span class='kw'>if</span> <span class='id identifier rubyid_new_description'>new_description</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
1131
- <span class='kw'>return</span> <span class='ivar'>@description</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
1132
- <span class='kw'>else</span>
1133
- <span class='ivar'>@description</span> <span class='op'>=</span> <span class='id identifier rubyid_new_description'>new_description</span>
1134
- <span class='kw'>end</span>
1135
- <span class='kw'>end</span></pre>
1136
- </td>
1137
- </tr>
1138
- </table>
1139
- </div>
1140
-
1141
- <div class="method_details ">
1142
- <h3 class="signature " id="detailed_description-class_method">
1143
-
1144
- .<strong>detailed_description</strong>(new_description = nil) &#x21d2; <tt>String</tt>
1145
-
1146
-
1147
-
1148
-
1149
-
1150
- </h3><div class="docstring">
1151
- <div class="discussion">
1152
- <p>Call this to set a an additional detailed description of this command. Currently, this should not be formatted and will be shown all on one line. This is shown after the <code>description</code>, so this text can follow from that, without having to restate it.</p>
1153
-
1154
-
1155
- </div>
1156
- </div>
1157
- <div class="tags">
1158
- <p class="tag_title">Parameters:</p>
1159
- <ul class="param">
1160
-
1161
- <li>
1162
-
1163
- <span class='name'>new_description</span>
1164
-
1165
-
1166
- <span class='type'>(<tt>String</tt>)</span>
1167
-
1168
-
1169
- <em class="default">(defaults to: <tt>nil</tt>)</em>
1170
-
1171
-
1172
- &mdash;
1173
- <div class='inline'><p>When present, sets the detailed description of this command. When omitted, returns the current detailed description.</p>
1174
- </div>
1175
-
1176
- </li>
1177
-
1178
- </ul>
1179
-
1180
- <p class="tag_title">Returns:</p>
1181
- <ul class="return">
1182
-
1183
- <li>
1184
-
1185
-
1186
- <span class='type'>(<tt>String</tt>)</span>
1187
-
1188
-
1189
-
1190
- &mdash;
1191
- <div class='inline'><p>the current detailed description (if called with no parameters)</p>
1192
- </div>
1193
-
1194
- </li>
1195
-
1196
- </ul>
1197
-
1198
- </div><table class="source_code">
1199
- <tr>
1200
- <td>
1201
- <pre class="lines">
1202
-
1203
-
1204
- 25
1205
- 26
1206
- 27
1207
- 28
1208
- 29
1209
- 30
1210
- 31
1211
- 32
1212
- 33
1213
- 34</pre>
1214
- </td>
1215
- <td>
1216
- <pre class="code"><span class="info file"># File 'lib/brut/cli/command.rb', line 25</span>
1217
-
1218
- <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_detailed_description'>detailed_description</span><span class='lparen'>(</span><span class='id identifier rubyid_new_description'>new_description</span><span class='op'>=</span><span class='kw'>nil</span><span class='rparen'>)</span>
1219
- <span class='kw'>if</span> <span class='id identifier rubyid_new_description'>new_description</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
1220
- <span class='kw'>if</span> <span class='ivar'>@detailed_description</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
1221
- <span class='kw'>return</span> <span class='ivar'>@detailed_description</span>
1222
- <span class='kw'>end</span>
1223
- <span class='kw'>return</span> <span class='ivar'>@detailed_description</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
1224
- <span class='kw'>else</span>
1225
- <span class='ivar'>@detailed_description</span> <span class='op'>=</span> <span class='id identifier rubyid_new_description'>new_description</span>
1226
- <span class='kw'>end</span>
1227
- <span class='kw'>end</span></pre>
1228
- </td>
1229
- </tr>
1230
- </table>
1231
- </div>
1232
-
1233
- <div class="method_details ">
1234
- <h3 class="signature " id="env_var-class_method">
1235
-
1236
- .<strong>env_var</strong>(var_name, purpose:) &#x21d2; <tt>Object</tt>
1237
-
1238
-
1239
-
1240
-
1241
-
1242
- </h3><div class="docstring">
1243
- <div class="discussion">
1244
- <p>Call this for each environment variable this <em>command</em> responds to. These would be variables that affect only this command. For
1245
- app-wide environment variables, see <span class='object_link'><a href="App.html#env_var-class_method" title="Brut::CLI::App.env_var (method)">App.env_var</a></span>.</p>
1246
-
1247
-
1248
- </div>
1249
- </div>
1250
- <div class="tags">
1251
- <p class="tag_title">Parameters:</p>
1252
- <ul class="param">
1253
-
1254
- <li>
1255
-
1256
- <span class='name'>var_name</span>
1257
-
1258
-
1259
- <span class='type'>(<tt>String</tt>)</span>
1260
-
1261
-
1262
-
1263
- &mdash;
1264
- <div class='inline'><p>Declares that this command recognizes this environment variable.</p>
1265
- </div>
1266
-
1267
- </li>
1268
-
1269
- <li>
1270
-
1271
- <span class='name'>purpose</span>
1272
-
1273
-
1274
- <span class='type'>(<tt>String</tt>)</span>
1275
-
1276
-
1277
-
1278
- &mdash;
1279
- <div class='inline'><p>An explanation for how this environment variable affects the command. Used in documentation.</p>
1280
- </div>
1281
-
1282
- </li>
1283
-
1284
- </ul>
1285
-
1286
-
1287
- </div><table class="source_code">
1288
- <tr>
1289
- <td>
1290
- <pre class="lines">
1291
-
1292
-
1293
- 59
1294
- 60
1295
- 61</pre>
1296
- </td>
1297
- <td>
1298
- <pre class="code"><span class="info file"># File 'lib/brut/cli/command.rb', line 59</span>
1299
-
1300
- <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_env_var'>env_var</span><span class='lparen'>(</span><span class='id identifier rubyid_var_name'>var_name</span><span class='comma'>,</span><span class='label'>purpose:</span><span class='rparen'>)</span>
1301
- <span class='id identifier rubyid_env_vars'>env_vars</span><span class='lbracket'>[</span><span class='id identifier rubyid_var_name'>var_name</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_purpose'>purpose</span>
1302
- <span class='kw'>end</span></pre>
1303
- </td>
1304
- </tr>
1305
- </table>
1306
- </div>
1307
-
1308
- <div class="method_details ">
1309
- <h3 class="signature " id="name_matches?-class_method">
1310
-
1311
- .<strong>name_matches?</strong>(string) &#x21d2; <tt>true|false</tt>
1312
-
1313
-
1314
-
1315
-
1316
-
1317
- </h3><div class="docstring">
1318
- <div class="discussion">
1319
- <p>Checks if a given string matches this command name. This exists to allow the use of underscores or dashes as delimiters. Ruby
1320
- likes underscores, but the shell vibe is often dashes.</p>
1321
-
1322
-
1323
- </div>
1324
- </div>
1325
- <div class="tags">
1326
- <p class="tag_title">Parameters:</p>
1327
- <ul class="param">
1328
-
1329
- <li>
1330
-
1331
- <span class='name'>string</span>
1332
-
1333
-
1334
- <span class='type'>(<tt>String</tt>)</span>
1335
-
1336
-
1337
-
1338
- &mdash;
1339
- <div class='inline'><p>the command given on the command line</p>
1340
- </div>
1341
-
1342
- </li>
1343
-
1344
- </ul>
1345
-
1346
- <p class="tag_title">Returns:</p>
1347
- <ul class="return">
1348
-
1349
- <li>
1350
-
1351
-
1352
- <span class='type'>(<tt>true|false</tt>)</span>
1353
-
1354
-
1355
-
1356
- &mdash;
1357
- <div class='inline'><p>true if <code>string</code> is considered an exact match for this command's name.</p>
1358
- </div>
1359
-
1360
- </li>
1361
-
1362
- </ul>
1363
-
1364
- </div><table class="source_code">
1365
- <tr>
1366
- <td>
1367
- <pre class="lines">
1368
-
1369
-
1370
- 81
1371
- 82
1372
- 83</pre>
1373
- </td>
1374
- <td>
1375
- <pre class="code"><span class="info file"># File 'lib/brut/cli/command.rb', line 81</span>
1376
-
1377
- <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_name_matches?'>name_matches?</span><span class='lparen'>(</span><span class='id identifier rubyid_string'>string</span><span class='rparen'>)</span>
1378
- <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_command_name'>command_name</span> <span class='op'>==</span> <span class='id identifier rubyid_string'>string</span> <span class='op'>||</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_command_name'>command_name</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>_</span><span class='regexp_end'>/</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>-</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='op'>==</span> <span class='id identifier rubyid_string'>string</span>
1379
- <span class='kw'>end</span></pre>
1380
- </td>
1381
- </tr>
1382
- </table>
1383
- </div>
1384
-
1385
- <div class="method_details ">
1386
- <h3 class="signature " id="option_parser-class_method">
1387
-
1388
- .<strong>option_parser</strong> &#x21d2; <tt>OptionParser</tt>
1389
-
1390
-
1391
-
1392
-
1393
-
1394
- </h3><div class="docstring">
1395
- <div class="discussion">
1396
- <p>Returns the configured <code>OptionParser</code> used to parse the command portion of the command line.
1397
- If you don't want to call <span class='object_link'><a href="#opts-class_method" title="Brut::CLI::Command.opts (method)">opts</a></span>, you can create and return
1398
- a fully-formed <code>OptionParser</code> by overriding this method. By default, it will create one with a conventional banner.</p>
1399
-
1400
-
1401
- </div>
1402
- </div>
1403
- <div class="tags">
1404
-
1405
- <p class="tag_title">Returns:</p>
1406
- <ul class="return">
1407
-
1408
- <li>
1409
-
1410
-
1411
- <span class='type'>(<tt>OptionParser</tt>)</span>
1412
-
1413
-
1414
-
1415
- </li>
1416
-
1417
- </ul>
1418
-
1419
- </div><table class="source_code">
1420
- <tr>
1421
- <td>
1422
- <pre class="lines">
1423
-
1424
-
1425
- 100
1426
- 101
1427
- 102
1428
- 103
1429
- 104</pre>
1430
- </td>
1431
- <td>
1432
- <pre class="code"><span class="info file"># File 'lib/brut/cli/command.rb', line 100</span>
1433
-
1434
- <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_option_parser'>option_parser</span>
1435
- <span class='ivar'>@option_parser</span> <span class='op'>||=</span> <span class='const'>OptionParser</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_opts'>opts</span><span class='op'>|</span>
1436
- <span class='id identifier rubyid_opts'>opts</span><span class='period'>.</span><span class='id identifier rubyid_banner'>banner</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>%{app} %{global_options} </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_command_name'>command_name</span><span class='embexpr_end'>}</span><span class='tstring_content'> %{command_options} %{args}</span><span class='tstring_end'>&quot;</span></span>
1437
- <span class='kw'>end</span>
1438
- <span class='kw'>end</span></pre>
1439
- </td>
1440
- </tr>
1441
- </table>
1442
- </div>
1443
-
1444
- <div class="method_details ">
1445
- <h3 class="signature " id="opts-class_method">
1446
-
1447
- .<strong>opts</strong> &#x21d2; <tt>OptionParser</tt>
1448
-
1449
-
1450
-
1451
-
1452
-
1453
- </h3><div class="docstring">
1454
- <div class="discussion">
1455
- <p>Provides access to an <code>OptionParser</code> you can use to declare flags and switches that should be accepted only by this command.
1456
- The way to use this is to call <code>.on</code> and provide a description for an option as you would to <code>OptionParser</code>.
1457
- The only difference is that you should not pass a block to this. When the command line is parsed, the results will be placed
1458
- into a <span class='object_link'><a href="Options.html" title="Brut::CLI::Options (class)">Options</a></span> instance made available to your command.</p>
1459
-
1460
-
1461
- </div>
1462
- </div>
1463
- <div class="tags">
1464
-
1465
- <p class="tag_title">Returns:</p>
1466
- <ul class="return">
1467
-
1468
- <li>
1469
-
1470
-
1471
- <span class='type'>(<tt>OptionParser</tt>)</span>
1472
-
1473
-
1474
-
1475
- </li>
1476
-
1477
- </ul>
1478
-
1479
- </div><table class="source_code">
1480
- <tr>
1481
- <td>
1482
- <pre class="lines">
1483
-
1484
-
1485
- 91
1486
- 92
1487
- 93</pre>
1488
- </td>
1489
- <td>
1490
- <pre class="code"><span class="info file"># File 'lib/brut/cli/command.rb', line 91</span>
1491
-
1492
- <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_opts'>opts</span>
1493
- <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_option_parser'>option_parser</span>
1494
- <span class='kw'>end</span></pre>
1495
- </td>
1496
- </tr>
1497
- </table>
1498
- </div>
1499
-
1500
- <div class="method_details ">
1501
- <h3 class="signature " id="requires_project_env-class_method">
1502
-
1503
- .<strong>requires_project_env</strong>(default: &quot;development&quot;) &#x21d2; <tt>Object</tt>
1504
-
1505
-
1506
-
1507
-
1508
-
1509
- </h3><div class="docstring">
1510
- <div class="discussion">
1511
- <p>Call this if this command requires a project environment as context for what it does. When called, this will do a few things:</p>
1512
-
1513
- <ul>
1514
- <li>Your command (not app) will recognize <code>--env=ENVIRONMENT</code> as a global option</li>
1515
- <li>Your command will document that it recognizes the <code>RACK_ENV</code> environment variable.</li>
1516
- </ul>
1517
-
1518
-
1519
-
1520
- </div>
1521
- </div>
1522
- <div class="tags">
1523
- <p class="tag_title">Parameters:</p>
1524
- <ul class="param">
1525
-
1526
- <li>
1527
-
1528
- <span class='name'>default</span>
1529
-
1530
-
1531
- <span class='type'>(<tt>String</tt>)</span>
1532
-
1533
-
1534
- <em class="default">(defaults to: <tt>&quot;development&quot;</tt>)</em>
1535
-
1536
-
1537
- &mdash;
1538
- <div class='inline'><p>name of the environment to use if none was specified. <code>nil</code> should be used to require the environment to be specified explicitly.</p>
1539
- </div>
1540
-
1541
- </li>
1542
-
1543
- </ul>
1544
-
1545
-
1546
- <p class="tag_title">See Also:</p>
1547
- <ul class="see">
1548
-
1549
- <li><span class='object_link'><a href="App.html#requires_project_env-class_method" title="Brut::CLI::App.requires_project_env (method)">App.requires_project_env</a></span></li>
1550
-
1551
- </ul>
1552
-
1553
- </div><table class="source_code">
1554
- <tr>
1555
- <td>
1556
- <pre class="lines">
1557
-
1558
-
1559
- 114
1560
- 115
1561
- 116
1562
- 117
1563
- 118
1564
- 119
1565
- 120
1566
- 121
1567
- 122
1568
- 123
1569
- 124</pre>
1570
- </td>
1571
- <td>
1572
- <pre class="code"><span class="info file"># File 'lib/brut/cli/command.rb', line 114</span>
1573
-
1574
- <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_requires_project_env'>requires_project_env</span><span class='lparen'>(</span><span class='label'>default:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>development</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
1575
- <span class='id identifier rubyid_default_message'>default_message</span> <span class='op'>=</span> <span class='kw'>if</span> <span class='id identifier rubyid_default'>default</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
1576
- <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_end'>&quot;</span></span>
1577
- <span class='kw'>else</span>
1578
- <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'> (default &#39;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_default'>default</span><span class='embexpr_end'>}</span><span class='tstring_content'>&#39;)</span><span class='tstring_end'>&quot;</span></span>
1579
- <span class='kw'>end</span>
1580
- <span class='id identifier rubyid_opts'>opts</span><span class='period'>.</span><span class='id identifier rubyid_on'>on</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>--env=ENVIRONMENT</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Project environment</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_default_message'>default_message</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
1581
- <span class='ivar'>@default_env</span> <span class='op'>=</span> <span class='id identifier rubyid_default'>default</span>
1582
- <span class='ivar'>@requires_project_env</span> <span class='op'>=</span> <span class='kw'>true</span>
1583
- <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_env_var'>env_var</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>RACK_ENV</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='label'>purpose:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>default project environment when --env is omitted</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
1584
- <span class='kw'>end</span></pre>
1585
- </td>
1586
- </tr>
1587
- </table>
1588
- </div>
1589
-
1590
- <div class="method_details ">
1591
- <h3 class="signature " id="requires_project_env?-class_method">
1592
-
1593
- .<strong>requires_project_env?</strong> &#x21d2; <tt>Boolean</tt>
1594
-
1595
-
1596
-
1597
-
1598
-
1599
- </h3><div class="docstring">
1600
- <div class="discussion">
1601
- <p>Returns true if this app requires a project env</p>
1602
-
1603
-
1604
- </div>
1605
- </div>
1606
- <div class="tags">
1607
-
1608
- <p class="tag_title">Returns:</p>
1609
- <ul class="return">
1610
-
1611
- <li>
1612
-
1613
-
1614
- <span class='type'>(<tt>Boolean</tt>)</span>
1615
-
1616
-
1617
-
1618
- </li>
1619
-
1620
- </ul>
1621
-
1622
- </div><table class="source_code">
1623
- <tr>
1624
- <td>
1625
- <pre class="lines">
1626
-
1627
-
1628
- 129</pre>
1629
- </td>
1630
- <td>
1631
- <pre class="code"><span class="info file"># File 'lib/brut/cli/command.rb', line 129</span>
1632
-
1633
- <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_requires_project_env?'>requires_project_env?</span> <span class='op'>=</span> <span class='ivar'>@requires_project_env</span></pre>
1634
- </td>
1635
- </tr>
1636
- </table>
1637
- </div>
1638
-
1639
- </div>
1640
-
1641
- <div id="instance_method_details" class="method_details_list">
1642
- <h2>Instance Method Details</h2>
1643
-
1644
-
1645
- <div class="method_details first">
1646
- <h3 class="signature first" id="after_bootstrap-instance_method">
1647
-
1648
- #<strong>after_bootstrap</strong>(app:) &#x21d2; <tt>Object</tt>
1649
-
1650
-
1651
-
1652
-
1653
-
1654
- </h3><div class="docstring">
1655
- <div class="discussion">
1656
- <p>Called after all setup has been executed. Brut will have been started/loaded.
1657
- This will <em>not</em> be called if anything caused execution to be aborted.</p>
1658
-
1659
-
1660
- </div>
1661
- </div>
1662
- <div class="tags">
1663
- <p class="tag_title">Parameters:</p>
1664
- <ul class="param">
1665
-
1666
- <li>
1667
-
1668
- <span class='name'>app</span>
1669
-
1670
-
1671
- <span class='type'>(<tt><span class='object_link'><a href="../Framework/App.html" title="Brut::Framework::App (class)">Brut::Framework::App</a></span></tt>)</span>
1672
-
1673
-
1674
-
1675
- &mdash;
1676
- <div class='inline'><p>Your Brut app.</p>
1677
- </div>
1678
-
1679
- </li>
1680
-
1681
- </ul>
1682
-
1683
-
1684
- </div><table class="source_code">
1685
- <tr>
1686
- <td>
1687
- <pre class="lines">
1688
-
1689
-
1690
- 204
1691
- 205</pre>
1692
- </td>
1693
- <td>
1694
- <pre class="code"><span class="info file"># File 'lib/brut/cli/command.rb', line 204</span>
1695
-
1696
- <span class='kw'>def</span> <span class='id identifier rubyid_after_bootstrap'>after_bootstrap</span><span class='lparen'>(</span><span class='label'>app:</span><span class='rparen'>)</span>
1697
- <span class='kw'>end</span></pre>
1698
- </td>
1699
- </tr>
1700
- </table>
1701
- </div>
1702
-
1703
- <div class="method_details ">
1704
- <h3 class="signature " id="args-instance_method">
1705
-
1706
- #<strong>args</strong> &#x21d2; <tt>Array&lt;String&gt;</tt>
1707
-
1708
-
1709
-
1710
-
1711
-
1712
- </h3><div class="docstring">
1713
- <div class="discussion">
1714
- <p>Returns the arguments parsed from the command line.</p>
1715
-
1716
-
1717
- </div>
1718
- </div>
1719
- <div class="tags">
1720
-
1721
- <p class="tag_title">Returns:</p>
1722
- <ul class="return">
1723
-
1724
- <li>
1725
-
1726
-
1727
- <span class='type'>(<tt>Array&lt;String&gt;</tt>)</span>
1728
-
1729
-
1730
-
1731
- &mdash;
1732
- <div class='inline'><p>the arguments parsed from the command line</p>
1733
- </div>
1734
-
1735
- </li>
1736
-
1737
- </ul>
1738
-
1739
- </div><table class="source_code">
1740
- <tr>
1741
- <td>
1742
- <pre class="lines">
1743
-
1744
-
1745
- 238
1746
- 239
1747
- 240</pre>
1748
- </td>
1749
- <td>
1750
- <pre class="code"><span class="info file"># File 'lib/brut/cli/command.rb', line 238</span>
1751
-
1752
- <span class='kw'>def</span> <span class='id identifier rubyid_args'>args</span> <span class='op'>=</span> <span class='ivar'>@args</span>
1753
- <span class='comment'># @!visibility public
1754
- </span><span class='comment'># @return [Brut::CLI::Output] IO to use for sending messages to the standard output</span></pre>
1755
- </td>
1756
- </tr>
1757
- </table>
1758
- </div>
1759
-
1760
- <div class="method_details ">
1761
- <h3 class="signature " id="before_execute-instance_method">
1762
-
1763
- #<strong>before_execute</strong> &#x21d2; <tt>Object</tt>
1764
-
1765
-
1766
-
1767
-
1768
-
1769
- </h3><div class="docstring">
1770
- <div class="discussion">
1771
- <p>Called before any execution or bootstrapping happens but after <span class='object_link'><a href="App.html#before_execute-instance_method" title="Brut::CLI::App#before_execute (method)">App#before_execute</a></span> is called. This will have access
1772
- to everything <span class='object_link'><a href="#execute-instance_method" title="Brut::CLI::Command#execute (method)">#execute</a></span> can access.</p>
1773
-
1774
-
1775
- </div>
1776
- </div>
1777
- <div class="tags">
1778
-
1779
- <p class="tag_title">Raises:</p>
1780
- <ul class="raise">
1781
-
1782
- <li>
1783
-
1784
-
1785
- <span class='type'>(<tt>Brurt::CLI::Error</tt>)</span>
1786
-
1787
-
1788
-
1789
- &mdash;
1790
- <div class='inline'><p>if thrown, this will be caught and handled by <span class='object_link'><a href="AppRunner.html" title="Brut::CLI::AppRunner (class)">AppRunner</a></span> and execution will be aborted.</p>
1791
- </div>
1792
-
1793
- </li>
1794
-
1795
- <li>
1796
-
1797
-
1798
- <span class='type'>(<tt>StandardError</tt>)</span>
1799
-
1800
-
1801
-
1802
- &mdash;
1803
- <div class='inline'><p>if thrown, this will bubble up and show your user a very sad stack trace that will make them cry. Don't.</p>
1804
- </div>
1805
-
1806
- </li>
1807
-
1808
- </ul>
1809
-
1810
- </div><table class="source_code">
1811
- <tr>
1812
- <td>
1813
- <pre class="lines">
1814
-
1815
-
1816
- 197
1817
- 198</pre>
1818
- </td>
1819
- <td>
1820
- <pre class="code"><span class="info file"># File 'lib/brut/cli/command.rb', line 197</span>
1821
-
1822
- <span class='kw'>def</span> <span class='id identifier rubyid_before_execute'>before_execute</span>
1823
- <span class='kw'>end</span></pre>
1824
- </td>
1825
- </tr>
1826
- </table>
1827
- </div>
1828
-
1829
- <div class="method_details ">
1830
- <h3 class="signature " id="delegate_to_commands-instance_method">
1831
-
1832
- #<strong>delegate_to_commands</strong>(*command_klasses) &#x21d2; <tt><span class='object_link'><a href="ExecutionResults/Result.html" title="Brut::CLI::ExecutionResults::Result (class)">Brut::CLI::ExecutionResults::Result</a></span></tt>
1833
-
1834
-
1835
-
1836
-
1837
-
1838
- </h3><div class="docstring">
1839
- <div class="discussion">
1840
- <p>Use this inside <span class='object_link'><a href="#execute-instance_method" title="Brut::CLI::Command#execute (method)">#execute</a></span> to createa compound command that executes other commands that are a part of your CLI app.
1841
- Note that each command will be given the same global and commmand options and the same arguments, so these commands must be able
1842
- to complete as desired in that way.</p>
1843
-
1844
- <p>Note that since commands are just classes, you can certianly create them however you like and call <code>execute</code> yourself.</p>
1845
-
1846
- <p>result of the last class executed.</p>
1847
-
1848
-
1849
- </div>
1850
- </div>
1851
- <div class="tags">
1852
- <p class="tag_title">Parameters:</p>
1853
- <ul class="param">
1854
-
1855
- <li>
1856
-
1857
- <span class='name'>command_klasses</span>
1858
-
1859
-
1860
- <span class='type'>(<tt>Enumerable&lt;Class&gt;</tt>)</span>
1861
-
1862
-
1863
-
1864
- &mdash;
1865
- <div class='inline'><p>one or more classes that subclass <span class='object_link'><a href="" title="Brut::CLI::Command (class)">Brut::CLI::Command</a></span> to delegate to.</p>
1866
- </div>
1867
-
1868
- </li>
1869
-
1870
- </ul>
1871
-
1872
- <p class="tag_title">Returns:</p>
1873
- <ul class="return">
1874
-
1875
- <li>
1876
-
1877
-
1878
- <span class='type'>(<tt><span class='object_link'><a href="ExecutionResults/Result.html" title="Brut::CLI::ExecutionResults::Result (class)">Brut::CLI::ExecutionResults::Result</a></span></tt>)</span>
1879
-
1880
-
1881
-
1882
- &mdash;
1883
- <div class='inline'><p>the first non successful result is returned and processing is stopped, otherwise returns the</p>
1884
- </div>
1885
-
1886
- </li>
1887
-
1888
- </ul>
1889
-
1890
- </div><table class="source_code">
1891
- <tr>
1892
- <td>
1893
- <pre class="lines">
1894
-
1895
-
1896
- 165
1897
- 166
1898
- 167
1899
- 168
1900
- 169
1901
- 170
1902
- 171
1903
- 172
1904
- 173
1905
- 174
1906
- 175</pre>
1907
- </td>
1908
- <td>
1909
- <pre class="code"><span class="info file"># File 'lib/brut/cli/command.rb', line 165</span>
1910
-
1911
- <span class='kw'>def</span> <span class='id identifier rubyid_delegate_to_commands'>delegate_to_commands</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_command_klasses'>command_klasses</span><span class='rparen'>)</span>
1912
- <span class='id identifier rubyid_result'>result</span> <span class='op'>=</span> <span class='kw'>nil</span>
1913
- <span class='id identifier rubyid_command_klasses'>command_klasses</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_command_klass'>command_klass</span><span class='op'>|</span>
1914
- <span class='id identifier rubyid_result'>result</span> <span class='op'>=</span> <span class='id identifier rubyid_delegate_to_command'>delegate_to_command</span><span class='lparen'>(</span><span class='id identifier rubyid_command_klass'>command_klass</span><span class='rparen'>)</span>
1915
- <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_result'>result</span><span class='period'>.</span><span class='id identifier rubyid_ok?'>ok?</span>
1916
- <span class='id identifier rubyid_err'>err</span><span class='period'>.</span><span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_command_klass'>command_klass</span><span class='period'>.</span><span class='id identifier rubyid_command_name'>command_name</span><span class='embexpr_end'>}</span><span class='tstring_content'> failed</span><span class='tstring_end'>&quot;</span></span>
1917
- <span class='kw'>return</span> <span class='id identifier rubyid_result'>result</span>
1918
- <span class='kw'>end</span>
1919
- <span class='kw'>end</span>
1920
- <span class='id identifier rubyid_result'>result</span>
1921
- <span class='kw'>end</span></pre>
1922
- </td>
1923
- </tr>
1924
- </table>
1925
- </div>
1926
-
1927
- <div class="method_details ">
1928
- <h3 class="signature " id="err-instance_method">
1929
-
1930
- #<strong>err</strong> &#x21d2; <tt><span class='object_link'><a href="Output.html" title="Brut::CLI::Output (class)">Brut::CLI::Output</a></span></tt>
1931
-
1932
-
1933
-
1934
-
1935
-
1936
- </h3><div class="docstring">
1937
- <div class="discussion">
1938
- <p>Returns IO to use for sending messages to the standard error.</p>
1939
-
1940
-
1941
- </div>
1942
- </div>
1943
- <div class="tags">
1944
-
1945
- <p class="tag_title">Returns:</p>
1946
- <ul class="return">
1947
-
1948
- <li>
1949
-
1950
-
1951
- <span class='type'>(<tt><span class='object_link'><a href="Output.html" title="Brut::CLI::Output (class)">Brut::CLI::Output</a></span></tt>)</span>
1952
-
1953
-
1954
-
1955
- &mdash;
1956
- <div class='inline'><p>IO to use for sending messages to the standard error</p>
1957
- </div>
1958
-
1959
- </li>
1960
-
1961
- </ul>
1962
-
1963
- </div><table class="source_code">
1964
- <tr>
1965
- <td>
1966
- <pre class="lines">
1967
-
1968
-
1969
- 244</pre>
1970
- </td>
1971
- <td>
1972
- <pre class="code"><span class="info file"># File 'lib/brut/cli/command.rb', line 244</span>
1973
-
1974
- <span class='kw'>def</span> <span class='id identifier rubyid_err'>err</span> <span class='op'>=</span> <span class='ivar'>@err</span></pre>
1975
- </td>
1976
- </tr>
1977
- </table>
1978
- </div>
1979
-
1980
- <div class="method_details ">
1981
- <h3 class="signature " id="execute-instance_method">
1982
-
1983
- #<strong>execute</strong> &#x21d2; <tt><span class='object_link'><a href="ExecutionResults/Result.html" title="Brut::CLI::ExecutionResults::Result (class)">Brut::CLI::ExecutionResults::Result</a></span></tt>
1984
-
1985
-
1986
-
1987
-
1988
-
1989
- </h3><div class="docstring">
1990
- <div class="discussion">
1991
- <p>You must implement this to perform whatever action your command needs to perform. In order to do this, you will have access to:</p>
1992
-
1993
- <ul>
1994
- <li><span class='object_link'><a href="#options-instance_method" title="Brut::CLI::Command#options (method)">#options</a></span> - the command options passed on the command line</li>
1995
- <li><span class='object_link'><a href="#global_options-instance_method" title="Brut::CLI::Command#global_options (method)">#global_options</a></span> - the global options passed on the command line</li>
1996
- <li><span class='object_link'><a href="#args-instance_method" title="Brut::CLI::Command#args (method)">#args</a></span> - the args passed on the command line</li>
1997
- <li><span class='object_link'><a href="#out-instance_method" title="Brut::CLI::Command#out (method)">#out</a></span> - an IO you should use to print messages to the standard out.</li>
1998
- <li><span class='object_link'><a href="#err-instance_method" title="Brut::CLI::Command#err (method)">#err</a></span> - on IO you should use to print messages to the standard error.</li>
1999
- <li><span class='object_link'><a href="#system!-instance_method" title="Brut::CLI::Command#system! (method)">#system!</a></span> - the method you should use to spawn child processes.</li>
2000
- </ul>
2001
-
2002
-
2003
-
2004
- </div>
2005
- </div>
2006
- <div class="tags">
2007
-
2008
- <p class="tag_title">Returns:</p>
2009
- <ul class="return">
2010
-
2011
- <li>
2012
-
2013
-
2014
- <span class='type'>(<tt><span class='object_link'><a href="ExecutionResults/Result.html" title="Brut::CLI::ExecutionResults::Result (class)">Brut::CLI::ExecutionResults::Result</a></span></tt>)</span>
2015
-
2016
-
2017
-
2018
- &mdash;
2019
- <div class='inline'><p>a description of what happened during processing. It is preferable to try to return something instead of raising an exception.</p>
2020
- </div>
2021
-
2022
- </li>
2023
-
2024
- </ul>
2025
- <p class="tag_title">Raises:</p>
2026
- <ul class="raise">
2027
-
2028
- <li>
2029
-
2030
-
2031
- <span class='type'>(<tt>Brurt::CLI::Error</tt>)</span>
2032
-
2033
-
2034
-
2035
- &mdash;
2036
- <div class='inline'><p>if thrown, this will be caught and handled by <span class='object_link'><a href="AppRunner.html" title="Brut::CLI::AppRunner (class)">AppRunner</a></span>.</p>
2037
- </div>
2038
-
2039
- </li>
2040
-
2041
- <li>
2042
-
2043
-
2044
- <span class='type'>(<tt>StandardError</tt>)</span>
2045
-
2046
-
2047
-
2048
- &mdash;
2049
- <div class='inline'><p>if thrown, this will bubble up and show your user a very sad stack trace that will make them cry. Don't.</p>
2050
- </div>
2051
-
2052
- </li>
2053
-
2054
- </ul>
2055
-
2056
- </div><table class="source_code">
2057
- <tr>
2058
- <td>
2059
- <pre class="lines">
2060
-
2061
-
2062
- 189
2063
- 190
2064
- 191</pre>
2065
- </td>
2066
- <td>
2067
- <pre class="code"><span class="info file"># File 'lib/brut/cli/command.rb', line 189</span>
2068
-
2069
- <span class='kw'>def</span> <span class='id identifier rubyid_execute'>execute</span>
2070
- <span class='id identifier rubyid_abstract_method!'>abstract_method!</span>
2071
- <span class='kw'>end</span></pre>
2072
- </td>
2073
- </tr>
2074
- </table>
2075
- </div>
2076
-
2077
- <div class="method_details ">
2078
- <h3 class="signature " id="global_options-instance_method">
2079
-
2080
- #<strong>global_options</strong> &#x21d2; <tt><span class='object_link'><a href="Options.html" title="Brut::CLI::Options (class)">Brut::CLI::Options</a></span></tt>
2081
-
2082
-
2083
-
2084
-
2085
-
2086
- </h3><div class="docstring">
2087
- <div class="discussion">
2088
- <p>Returns the global options parsed on the command line.</p>
2089
-
2090
-
2091
- </div>
2092
- </div>
2093
- <div class="tags">
2094
-
2095
- <p class="tag_title">Returns:</p>
2096
- <ul class="return">
2097
-
2098
- <li>
2099
-
2100
-
2101
- <span class='type'>(<tt><span class='object_link'><a href="Options.html" title="Brut::CLI::Options (class)">Brut::CLI::Options</a></span></tt>)</span>
2102
-
2103
-
2104
-
2105
- &mdash;
2106
- <div class='inline'><p>the global options parsed on the command line</p>
2107
- </div>
2108
-
2109
- </li>
2110
-
2111
- </ul>
2112
-
2113
- </div><table class="source_code">
2114
- <tr>
2115
- <td>
2116
- <pre class="lines">
2117
-
2118
-
2119
- 235
2120
- 236
2121
- 237</pre>
2122
- </td>
2123
- <td>
2124
- <pre class="code"><span class="info file"># File 'lib/brut/cli/command.rb', line 235</span>
2125
-
2126
- <span class='kw'>def</span> <span class='id identifier rubyid_global_options'>global_options</span> <span class='op'>=</span> <span class='ivar'>@global_options</span>
2127
- <span class='comment'># @!visibility public
2128
- </span><span class='comment'># @return [Array&lt;String&gt;] the arguments parsed from the command line</span></pre>
2129
- </td>
2130
- </tr>
2131
- </table>
2132
- </div>
2133
-
2134
- <div class="method_details ">
2135
- <h3 class="signature " id="handle_bootstrap_exception-instance_method">
2136
-
2137
- #<strong>handle_bootstrap_exception</strong>(ex) &#x21d2; <tt>void</tt>
2138
-
2139
-
2140
-
2141
-
2142
-
2143
- </h3><div class="docstring">
2144
- <div class="discussion">
2145
- <p class="note returns_void">This method returns an undefined value.</p><p>Called if there is an exception during bootstrapping. By default, it re-raises the exception, which cases the command to abort.
2146
- The reason you may want to overrid this is that your command line app may exist to handle a bootstrapping exception. For example,
2147
- the built-in <span class='object_link'><a href="Apps/DB.html" title="Brut::CLI::Apps::DB (class)">Apps::DB</a></span> app will catch various database connection errors and then create or migrate the database.</p>
2148
-
2149
- <p>Yes, I realize this means we are using exceptions for control flow. It's fine.</p>
2150
-
2151
-
2152
- </div>
2153
- </div>
2154
- <div class="tags">
2155
- <p class="tag_title">Parameters:</p>
2156
- <ul class="param">
2157
-
2158
- <li>
2159
-
2160
- <span class='name'>ex</span>
2161
-
2162
-
2163
- <span class='type'>(<tt>StandardError</tt>)</span>
2164
-
2165
-
2166
-
2167
- &mdash;
2168
- <div class='inline'><p>whichever exception was caught during bootstrapping</p>
2169
- </div>
2170
-
2171
- </li>
2172
-
2173
- </ul>
2174
-
2175
- <p class="tag_title">Raises:</p>
2176
- <ul class="raise">
2177
-
2178
- <li>
2179
-
2180
-
2181
- <span class='type'>(<tt>Brurt::CLI::Error</tt>)</span>
2182
-
2183
-
2184
-
2185
- &mdash;
2186
- <div class='inline'><p>if thrown, this will be caught and handled by <span class='object_link'><a href="AppRunner.html" title="Brut::CLI::AppRunner (class)">AppRunner</a></span> and execution will be aborted.</p>
2187
- </div>
2188
-
2189
- </li>
2190
-
2191
- <li>
2192
-
2193
-
2194
- <span class='type'>(<tt>StandardError</tt>)</span>
2195
-
2196
-
2197
-
2198
- &mdash;
2199
- <div class='inline'><p>if thrown, this will bubble up and show your user a very sad stack trace that will make them cry. Don't.</p>
2200
- </div>
2201
-
2202
- </li>
2203
-
2204
- </ul>
2205
-
2206
- </div><table class="source_code">
2207
- <tr>
2208
- <td>
2209
- <pre class="lines">
2210
-
2211
-
2212
- 224
2213
- 225
2214
- 226</pre>
2215
- </td>
2216
- <td>
2217
- <pre class="code"><span class="info file"># File 'lib/brut/cli/command.rb', line 224</span>
2218
-
2219
- <span class='kw'>def</span> <span class='id identifier rubyid_handle_bootstrap_exception'>handle_bootstrap_exception</span><span class='lparen'>(</span><span class='id identifier rubyid_ex'>ex</span><span class='rparen'>)</span>
2220
- <span class='id identifier rubyid_raise'>raise</span> <span class='id identifier rubyid_ex'>ex</span>
2221
- <span class='kw'>end</span></pre>
2222
- </td>
2223
- </tr>
2224
- </table>
2225
- </div>
2226
-
2227
- <div class="method_details ">
2228
- <h3 class="signature " id="options-instance_method">
2229
-
2230
- #<strong>options</strong> &#x21d2; <tt><span class='object_link'><a href="Options.html" title="Brut::CLI::Options (class)">Brut::CLI::Options</a></span></tt>
2231
-
2232
-
2233
-
2234
-
2235
-
2236
- </h3><div class="docstring">
2237
- <div class="discussion">
2238
- <p>Returns the command options parsed on the command line.</p>
2239
-
2240
-
2241
- </div>
2242
- </div>
2243
- <div class="tags">
2244
-
2245
- <p class="tag_title">Returns:</p>
2246
- <ul class="return">
2247
-
2248
- <li>
2249
-
2250
-
2251
- <span class='type'>(<tt><span class='object_link'><a href="Options.html" title="Brut::CLI::Options (class)">Brut::CLI::Options</a></span></tt>)</span>
2252
-
2253
-
2254
-
2255
- &mdash;
2256
- <div class='inline'><p>the command options parsed on the command line</p>
2257
- </div>
2258
-
2259
- </li>
2260
-
2261
- </ul>
2262
-
2263
- </div><table class="source_code">
2264
- <tr>
2265
- <td>
2266
- <pre class="lines">
2267
-
2268
-
2269
- 232
2270
- 233
2271
- 234</pre>
2272
- </td>
2273
- <td>
2274
- <pre class="code"><span class="info file"># File 'lib/brut/cli/command.rb', line 232</span>
2275
-
2276
- <span class='kw'>def</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='ivar'>@command_options</span>
2277
- <span class='comment'># @!visibility public
2278
- </span><span class='comment'># @return [Brut::CLI::Options] the global options parsed on the command line</span></pre>
2279
- </td>
2280
- </tr>
2281
- </table>
2282
- </div>
2283
-
2284
- <div class="method_details ">
2285
- <h3 class="signature " id="out-instance_method">
2286
-
2287
- #<strong>out</strong> &#x21d2; <tt><span class='object_link'><a href="Output.html" title="Brut::CLI::Output (class)">Brut::CLI::Output</a></span></tt>
2288
-
2289
-
2290
-
2291
-
2292
-
2293
- </h3><div class="docstring">
2294
- <div class="discussion">
2295
- <p>Returns IO to use for sending messages to the standard output.</p>
2296
-
2297
-
2298
- </div>
2299
- </div>
2300
- <div class="tags">
2301
-
2302
- <p class="tag_title">Returns:</p>
2303
- <ul class="return">
2304
-
2305
- <li>
2306
-
2307
-
2308
- <span class='type'>(<tt><span class='object_link'><a href="Output.html" title="Brut::CLI::Output (class)">Brut::CLI::Output</a></span></tt>)</span>
2309
-
2310
-
2311
-
2312
- &mdash;
2313
- <div class='inline'><p>IO to use for sending messages to the standard output</p>
2314
- </div>
2315
-
2316
- </li>
2317
-
2318
- </ul>
2319
-
2320
- </div><table class="source_code">
2321
- <tr>
2322
- <td>
2323
- <pre class="lines">
2324
-
2325
-
2326
- 241
2327
- 242
2328
- 243</pre>
2329
- </td>
2330
- <td>
2331
- <pre class="code"><span class="info file"># File 'lib/brut/cli/command.rb', line 241</span>
2332
-
2333
- <span class='kw'>def</span> <span class='id identifier rubyid_out'>out</span> <span class='op'>=</span> <span class='ivar'>@out</span>
2334
- <span class='comment'># @!visibility public
2335
- </span><span class='comment'># @return [Brut::CLI::Output] IO to use for sending messages to the standard error</span></pre>
2336
- </td>
2337
- </tr>
2338
- </table>
2339
- </div>
2340
-
2341
- <div class="method_details ">
2342
- <h3 class="signature " id="system!-instance_method">
2343
-
2344
- #<strong>system!</strong>(*args) &#x21d2; <tt>int</tt>
2345
-
2346
-
2347
-
2348
-
2349
-
2350
- </h3><div class="docstring">
2351
- <div class="discussion">
2352
- <p>Convienince method to call <span class='object_link'><a href="Executor.html#system!-instance_method" title="Brut::CLI::Executor#system! (method)">Executor#system!</a></span> on the executor given in the constructor.</p>
2353
-
2354
-
2355
- </div>
2356
- </div>
2357
- <div class="tags">
2358
- <p class="tag_title">Parameters:</p>
2359
- <ul class="param">
2360
-
2361
- <li>
2362
-
2363
- <span class='name'>args</span>
2364
-
2365
-
2366
- <span class='type'>(<tt>String|Array</tt>)</span>
2367
-
2368
-
2369
-
2370
- &mdash;
2371
- <div class='inline'><p>Whatever you would give to <code>Kernel#system</code> or <code>Open3.popen3</code>.</p>
2372
- </div>
2373
-
2374
- </li>
2375
-
2376
- </ul>
2377
-
2378
- <p class="tag_title">Returns:</p>
2379
- <ul class="return">
2380
-
2381
- <li>
2382
-
2383
-
2384
- <span class='type'>(<tt>int</tt>)</span>
2385
-
2386
-
2387
-
2388
- &mdash;
2389
- <div class='inline'><p>Always returns 0</p>
2390
- </div>
2391
-
2392
- </li>
2393
-
2394
- </ul>
2395
-
2396
- </div><table class="source_code">
2397
- <tr>
2398
- <td>
2399
- <pre class="lines">
2400
-
2401
-
2402
- 154</pre>
2403
- </td>
2404
- <td>
2405
- <pre class="code"><span class="info file"># File 'lib/brut/cli/command.rb', line 154</span>
2406
-
2407
- <span class='kw'>def</span> <span class='id identifier rubyid_system!'>system!</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span> <span class='op'>=</span> <span class='ivar'>@executor</span><span class='period'>.</span><span class='id identifier rubyid_system!'>system!</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span></pre>
2408
- </td>
2409
- </tr>
2410
- </table>
2411
- </div>
2412
-
2413
- </div>
2414
-
2415
- </div>
2416
-
2417
- <div id="footer">
2418
- Generated on Sun Nov 30 20:50:11 2025 by
2419
- <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
2420
- 0.9.37 (ruby-3.4.6).
2421
- </div>
2422
-
2423
- </div>
2424
- </body>
2425
- </html>