brut 0.17.0 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1104) 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/lib/brut/cli/apps/new/version.rb +3 -0
  39. data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/versions.rb +2 -2
  40. data/lib/brut/cli/apps/new.rb +26 -0
  41. data/lib/brut/cli/apps/scaffold.rb +150 -141
  42. data/lib/brut/cli/apps/test.rb +92 -68
  43. data/lib/brut/cli/commands/base_command.rb +174 -0
  44. data/lib/brut/cli/commands/compound_command.rb +29 -0
  45. data/lib/brut/cli/commands/execution_context.rb +32 -0
  46. data/lib/brut/cli/commands/help.rb +26 -0
  47. data/lib/brut/cli/commands/output_error.rb +13 -0
  48. data/lib/brut/cli/commands/raise_error.rb +11 -0
  49. data/lib/brut/cli/commands.rb +8 -0
  50. data/lib/brut/cli/execute_result.rb +39 -0
  51. data/lib/brut/cli/executor.rb +9 -4
  52. data/lib/brut/cli/output.rb +13 -0
  53. data/lib/brut/cli/parsed_command_line.rb +143 -0
  54. data/lib/brut/cli/runner.rb +124 -0
  55. data/lib/brut/cli.rb +7 -29
  56. data/lib/brut/framework/container.rb +1 -1
  57. data/lib/brut/framework/mcp.rb +59 -13
  58. data/lib/brut/framework/project_environment.rb +3 -1
  59. data/lib/brut/junk_drawer.rb +3 -1
  60. data/lib/brut/spec_support/cli_command_support.rb +45 -0
  61. data/lib/brut/spec_support/e2e_test_server.rb +3 -0
  62. data/lib/brut/spec_support/general_support.rb +1 -1
  63. data/lib/brut/spec_support/matchers/have_executed.rb +35 -0
  64. data/lib/brut/spec_support/rspec_setup.rb +4 -8
  65. data/lib/brut/spec_support.rb +1 -0
  66. data/lib/brut/tui/markup_string.rb +2 -0
  67. data/lib/brut/tui/script/events/command_std_out.rb +3 -2
  68. data/lib/brut/tui/script/exec_step.rb +11 -4
  69. data/lib/brut/tui/script/puts_subscriber.rb +4 -4
  70. data/lib/brut/tui/script.rb +7 -3
  71. data/lib/brut/tui/terminal_theme.rb +15 -11
  72. data/lib/brut/version.rb +1 -1
  73. data/templates/Base/.env.development.local +2 -0
  74. data/templates/Base/bin/ci +42 -0
  75. data/{mkbrut/templates → templates}/Base/bin/release +2 -2
  76. data/templates/Base/bin/setup +174 -0
  77. data/{mkbrut/templates → templates}/Base/bin/watch-and-build-assets +1 -1
  78. data/{mkbrut/templates → templates}/Base/dx/docker-compose.env.erb +1 -1
  79. data/{mkbrut/templates → templates}/segments/Demo/app/src/front_end/css/fonts.css +1 -1
  80. data/{mkbrut/templates → templates}/segments/Heroku/deploy/Dockerfile +2 -2
  81. data/templates/segments/Heroku/deploy/docker_config.rb +30 -0
  82. metadata +191 -1055
  83. data/.gitignore +0 -61
  84. data/.projections.json +0 -10
  85. data/CHANGELOG.md +0 -172
  86. data/CODE_OF_CONDUCT.txt +0 -99
  87. data/Dockerfile.dx +0 -82
  88. data/Gemfile +0 -6
  89. data/Gemfile.lock +0 -246
  90. data/LICENSE.txt +0 -370
  91. data/README.md +0 -90
  92. data/Rakefile +0 -25
  93. data/assets/Logo-Square.pxd +0 -0
  94. data/assets/LogoPylon.pxd +0 -0
  95. data/assets/LogoStop.pxd +0 -0
  96. data/assets/LogoTall.pxd +0 -0
  97. data/assets/MetroIcon.graffle +0 -0
  98. data/assets/MetroLogo.graffle +0 -0
  99. data/assets/SocialImage.png +0 -0
  100. data/assets/SocialImage.pxd +0 -0
  101. data/assets/YouTubeThumb.pxd +0 -0
  102. data/bin/bin_kit.rb +0 -51
  103. data/bin/build +0 -86
  104. data/bin/ci +0 -40
  105. data/bin/dev +0 -20
  106. data/bin/docs +0 -86
  107. data/bin/generate-and-run-rubocop +0 -52
  108. data/bin/new-version +0 -8
  109. data/bin/publish +0 -61
  110. data/bin/rake +0 -27
  111. data/bin/rspec +0 -27
  112. data/bin/rubocop +0 -27
  113. data/bin/setup +0 -252
  114. data/bin/test +0 -18
  115. data/brut-css/.nvim.lua +0 -1
  116. data/brut-css/README.md +0 -28
  117. data/brut-css/bin/build +0 -50
  118. data/brut-css/bin/ci +0 -19
  119. data/brut-css/bin/dev +0 -1
  120. data/brut-css/bin/docs +0 -34
  121. data/brut-css/bin/publish +0 -21
  122. data/brut-css/bin/setup +0 -6
  123. data/brut-css/config/media-queries-all.css +0 -15
  124. data/brut-css/config/media-queries-minimal.css +0 -5
  125. data/brut-css/config/postcss.config.cjs +0 -7
  126. data/brut-css/config/pseudo-classes-all.css +0 -9
  127. data/brut-css/dx +0 -1
  128. data/brut-css/package-lock.json +0 -3165
  129. data/brut-css/package.json +0 -36
  130. data/brut-css/src/css/appearance.css +0 -145
  131. data/brut-css/src/css/border.css +0 -522
  132. data/brut-css/src/css/colors.css +0 -3502
  133. data/brut-css/src/css/dimensions.css +0 -548
  134. data/brut-css/src/css/flex.css +0 -179
  135. data/brut-css/src/css/index.css +0 -13
  136. data/brut-css/src/css/layout.css +0 -120
  137. data/brut-css/src/css/list.css +0 -41
  138. data/brut-css/src/css/positioning.css +0 -354
  139. data/brut-css/src/css/properties/colors.css +0 -455
  140. data/brut-css/src/css/properties/index.css +0 -3
  141. data/brut-css/src/css/properties/spacing.css +0 -140
  142. data/brut-css/src/css/properties/typography.css +0 -224
  143. data/brut-css/src/css/reset.css +0 -107
  144. data/brut-css/src/css/spacing.css +0 -585
  145. data/brut-css/src/css/typography.css +0 -519
  146. data/brut-css/src/css/utils.css +0 -104
  147. data/brut-css/src/docs/1_getting-started/1_overview.md +0 -46
  148. data/brut-css/src/docs/1_getting-started/2_installation.md +0 -25
  149. data/brut-css/src/docs/1_getting-started/3_core-concepts.md +0 -75
  150. data/brut-css/src/docs/1_getting-started/4_simple-example.md +0 -132
  151. data/brut-css/src/docs/1_getting-started/page.html.ejs +0 -10
  152. data/brut-css/src/docs/2_properties/page.html.ejs +0 -71
  153. data/brut-css/src/docs/3_classes/color-demo.html.ejs +0 -31
  154. data/brut-css/src/docs/3_classes/page.html.ejs +0 -87
  155. data/brut-css/src/docs/4_customization/1_design-system.md +0 -36
  156. data/brut-css/src/docs/4_customization/2_breakpoints.md +0 -75
  157. data/brut-css/src/docs/4_customization/3_pseudo-classes.md +0 -74
  158. data/brut-css/src/docs/4_customization/4_advanced-configuration.md +0 -40
  159. data/brut-css/src/docs/4_customization/page.html.ejs +0 -10
  160. data/brut-css/src/docs/docs.css +0 -98
  161. data/brut-css/src/docs/includes/body-and-header.html.ejs +0 -30
  162. data/brut-css/src/docs/includes/footer-and-rest.html.ejs +0 -9
  163. data/brut-css/src/docs/includes/head.html.ejs +0 -5
  164. data/brut-css/src/docs/includes/nav.html.ejs +0 -10
  165. data/brut-css/src/docs/index.html.ejs +0 -32
  166. data/brut-css/src/docs/prism-twilight.min.css +0 -1
  167. data/brut-css/src/js/Logger.js +0 -71
  168. data/brut-css/src/js/build.js +0 -111
  169. data/brut-css/src/js/cli/CLIArgError.js +0 -7
  170. data/brut-css/src/js/cli/Debug.js +0 -27
  171. data/brut-css/src/js/cli/DocsDir.js +0 -16
  172. data/brut-css/src/js/cli/DocsTemplateSourceDir.js +0 -16
  173. data/brut-css/src/js/cli/InputFile.js +0 -31
  174. data/brut-css/src/js/cli/MediaQueryConfigFile.js +0 -10
  175. data/brut-css/src/js/cli/OutputFile.js +0 -22
  176. data/brut-css/src/js/cli/ParsedArg.js +0 -17
  177. data/brut-css/src/js/cli/PathToBrutCSSRoot.js +0 -19
  178. data/brut-css/src/js/cli/PseudoClassConfigFile.js +0 -11
  179. data/brut-css/src/js/cli.js +0 -108
  180. data/brut-css/src/js/docGenerator.js +0 -467
  181. data/brut-css/src/js/mediaQueryConfigParser.js +0 -98
  182. data/brut-css/src/js/post-css-plugins/addMediaQueriesPlugin.js +0 -49
  183. data/brut-css/src/js/post-css-plugins/addPseudoClassesPlugin.js +0 -42
  184. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/Category.js +0 -9
  185. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/DocState.js +0 -185
  186. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/Documentable.js +0 -8
  187. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/Group.js +0 -7
  188. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/ParsedComment.js +0 -73
  189. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/Property.js +0 -9
  190. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/PropertyCategory.js +0 -4
  191. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/PropertyGroup.js +0 -8
  192. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/Rule.js +0 -12
  193. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/RuleCategory.js +0 -4
  194. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/RuleGroup.js +0 -8
  195. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/SeeRef.js +0 -5
  196. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin/SeeURL.js +0 -9
  197. data/brut-css/src/js/post-css-plugins/generateDocumentationPlugin.js +0 -49
  198. data/brut-css/src/js/post-css-plugins/generateRootCustomPropertiesPlugin.js +0 -45
  199. data/brut-css/src/js/pseudoClassConfigParser.js +0 -145
  200. data/brut-js/.projections.json +0 -10
  201. data/brut-js/README.md +0 -118
  202. data/brut-js/bin/build +0 -19
  203. data/brut-js/bin/ci +0 -5
  204. data/brut-js/bin/docs +0 -25
  205. data/brut-js/bin/publish +0 -21
  206. data/brut-js/bin/setup +0 -6
  207. data/brut-js/docs/README.md +0 -8
  208. data/brut-js/docs/jsdoc-plugins/customElementTag.js +0 -8
  209. data/brut-js/docs/jsdoc-theme/publish.js +0 -692
  210. data/brut-js/docs/jsdoc-theme/static/scripts/linenumber.js +0 -25
  211. data/brut-js/docs/jsdoc-theme/static/scripts/prettify/Apache-License-2.0.txt +0 -202
  212. data/brut-js/docs/jsdoc-theme/static/scripts/prettify/lang-css.js +0 -2
  213. data/brut-js/docs/jsdoc-theme/static/scripts/prettify/prettify.js +0 -28
  214. data/brut-js/docs/jsdoc-theme/static/styles/jsdoc-default.css +0 -327
  215. data/brut-js/docs/jsdoc-theme/static/styles/prettify-jsdoc.css +0 -111
  216. data/brut-js/docs/jsdoc-theme/static/styles/prettify-tomorrow.css +0 -132
  217. data/brut-js/docs/jsdoc-theme/tmpl/augments.tmpl +0 -10
  218. data/brut-js/docs/jsdoc-theme/tmpl/container.tmpl +0 -199
  219. data/brut-js/docs/jsdoc-theme/tmpl/details.tmpl +0 -143
  220. data/brut-js/docs/jsdoc-theme/tmpl/example.tmpl +0 -2
  221. data/brut-js/docs/jsdoc-theme/tmpl/examples.tmpl +0 -13
  222. data/brut-js/docs/jsdoc-theme/tmpl/exceptions.tmpl +0 -32
  223. data/brut-js/docs/jsdoc-theme/tmpl/layout.tmpl +0 -38
  224. data/brut-js/docs/jsdoc-theme/tmpl/mainpage.tmpl +0 -14
  225. data/brut-js/docs/jsdoc-theme/tmpl/members.tmpl +0 -38
  226. data/brut-js/docs/jsdoc-theme/tmpl/method.tmpl +0 -131
  227. data/brut-js/docs/jsdoc-theme/tmpl/modifies.tmpl +0 -14
  228. data/brut-js/docs/jsdoc-theme/tmpl/params.tmpl +0 -131
  229. data/brut-js/docs/jsdoc-theme/tmpl/properties.tmpl +0 -108
  230. data/brut-js/docs/jsdoc-theme/tmpl/returns.tmpl +0 -19
  231. data/brut-js/docs/jsdoc-theme/tmpl/source.tmpl +0 -8
  232. data/brut-js/docs/jsdoc-theme/tmpl/tutorial.tmpl +0 -19
  233. data/brut-js/docs/jsdoc-theme/tmpl/type.tmpl +0 -7
  234. data/brut-js/docs/jsdoc.config.json +0 -23
  235. data/brut-js/docs/package-lock.json +0 -343
  236. data/brut-js/docs/package.json +0 -7
  237. data/brut-js/dx +0 -1
  238. data/brut-js/package-lock.json +0 -2210
  239. data/brut-js/package.json +0 -36
  240. data/brut-js/specs/AjaxSubmit.spec.js +0 -453
  241. data/brut-js/specs/Autosubmit.spec.js +0 -127
  242. data/brut-js/specs/ConfirmSubmit.spec.js +0 -224
  243. data/brut-js/specs/ConstraintViolationMessage.spec.js +0 -33
  244. data/brut-js/specs/ConstraintViolationMessages.spec.js +0 -32
  245. data/brut-js/specs/CopyToClipboard.spec.js +0 -35
  246. data/brut-js/specs/Form.spec.js +0 -137
  247. data/brut-js/specs/I18nTranslation.spec.js +0 -19
  248. data/brut-js/specs/LocaleDetection.spec.js +0 -22
  249. data/brut-js/specs/Message.spec.js +0 -15
  250. data/brut-js/specs/SpecHelper.js +0 -23
  251. data/brut-js/specs/Tabs.spec.js +0 -41
  252. data/brut-js/specs/Toast.spec.js +0 -34
  253. data/brut-js/specs/config/asset_metadata.json +0 -7
  254. data/brut-js/src/AjaxSubmit.js +0 -499
  255. data/brut-js/src/Autosubmit.js +0 -63
  256. data/brut-js/src/BaseCustomElement.js +0 -261
  257. data/brut-js/src/ConfirmSubmit.js +0 -137
  258. data/brut-js/src/ConfirmationDialog.js +0 -143
  259. data/brut-js/src/ConstraintViolationMessage.js +0 -140
  260. data/brut-js/src/ConstraintViolationMessages.js +0 -98
  261. data/brut-js/src/CopyToClipboard.js +0 -96
  262. data/brut-js/src/Form.js +0 -147
  263. data/brut-js/src/I18nTranslation.js +0 -64
  264. data/brut-js/src/LocaleDetection.js +0 -117
  265. data/brut-js/src/Logger.js +0 -90
  266. data/brut-js/src/Message.js +0 -62
  267. data/brut-js/src/RichString.js +0 -116
  268. data/brut-js/src/Tabs.js +0 -168
  269. data/brut-js/src/Toast.js +0 -102
  270. data/brut-js/src/Tracing.js +0 -247
  271. data/brut-js/src/appForTestingOnly.js +0 -15
  272. data/brut-js/src/index.js +0 -133
  273. data/brut-js/src/testing/AssetMetadata.js +0 -35
  274. data/brut-js/src/testing/AssetMetadataLoader.js +0 -25
  275. data/brut-js/src/testing/CustomElementTest.js +0 -235
  276. data/brut-js/src/testing/DOMCreator.js +0 -45
  277. data/brut-js/src/testing/index.js +0 -48
  278. data/brut.gemspec +0 -73
  279. data/brutrb.com/.vitepress/config.mjs +0 -164
  280. data/brutrb.com/.vitepress/plugins/jsdocLinker.js +0 -34
  281. data/brutrb.com/.vitepress/plugins/rdocLinker.js +0 -18
  282. data/brutrb.com/.vitepress/theme/custom.css +0 -14
  283. data/brutrb.com/.vitepress/theme/index.js +0 -18
  284. data/brutrb.com/.vitepress/theme/style.css +0 -139
  285. data/brutrb.com/adrs.md +0 -16
  286. data/brutrb.com/ai.md +0 -68
  287. data/brutrb.com/assets.md +0 -131
  288. data/brutrb.com/bin/build +0 -5
  289. data/brutrb.com/bin/deploy +0 -7
  290. data/brutrb.com/bin/dev +0 -5
  291. data/brutrb.com/bin/setup +0 -6
  292. data/brutrb.com/brut-js.md +0 -128
  293. data/brutrb.com/business-logic.md +0 -55
  294. data/brutrb.com/cli.md +0 -274
  295. data/brutrb.com/components.md +0 -265
  296. data/brutrb.com/configuration.md +0 -256
  297. data/brutrb.com/css.md +0 -103
  298. data/brutrb.com/custom-element-tests.md +0 -148
  299. data/brutrb.com/database-access.md +0 -201
  300. data/brutrb.com/database-schema.md +0 -320
  301. data/brutrb.com/deployment.md +0 -158
  302. data/brutrb.com/dev-environment.md +0 -186
  303. data/brutrb.com/dir-structure.md +0 -120
  304. data/brutrb.com/doc-conventions.md +0 -41
  305. data/brutrb.com/dx +0 -1
  306. data/brutrb.com/end-to-end-tests.md +0 -176
  307. data/brutrb.com/features.md +0 -373
  308. data/brutrb.com/flash-and-session.md +0 -208
  309. data/brutrb.com/form-constraints.md +0 -266
  310. data/brutrb.com/forms.md +0 -238
  311. data/brutrb.com/getting-started.md +0 -142
  312. data/brutrb.com/handlers.md +0 -177
  313. data/brutrb.com/hooks.md +0 -176
  314. data/brutrb.com/i18n.md +0 -190
  315. data/brutrb.com/images/DevEnvironment.graffle +0 -0
  316. data/brutrb.com/images/DevEnvironment.png +0 -0
  317. data/brutrb.com/images/LogoSquare.png +0 -0
  318. data/brutrb.com/images/LogoStop.png +0 -0
  319. data/brutrb.com/images/LogoTall.png +0 -0
  320. data/brutrb.com/images/Makefile +0 -10
  321. data/brutrb.com/images/OverviewMetro.graffle +0 -0
  322. data/brutrb.com/images/OverviewMetro.png +0 -0
  323. data/brutrb.com/images/dev-env-overview.dot +0 -54
  324. data/brutrb.com/images/dev-env-overview.png +0 -0
  325. data/brutrb.com/images/dev-env-protocol.dot +0 -37
  326. data/brutrb.com/images/dev-env-protocol.png +0 -0
  327. data/brutrb.com/images/overview.graffle +0 -0
  328. data/brutrb.com/images/overview.png +0 -0
  329. data/brutrb.com/images/spa.dot +0 -19
  330. data/brutrb.com/images/spa.png +0 -0
  331. data/brutrb.com/images/tutorial/02-confirmation-dialog-browser-element-styled.png +0 -0
  332. data/brutrb.com/images/tutorial/02-confirmation-dialog-browser-element.png +0 -0
  333. data/brutrb.com/images/tutorial/02-confirmation-dialog-browser.png +0 -0
  334. data/brutrb.com/images/tutorial/02-confirmation-flow.graffle +0 -0
  335. data/brutrb.com/images/tutorial/02-confirmation-flow.png +0 -0
  336. data/brutrb.com/images/tutorial/basic-form-with-violations.png +0 -0
  337. data/brutrb.com/images/tutorial/basic-form.png +0 -0
  338. data/brutrb.com/images/tutorial/initial-home-page.png +0 -0
  339. data/brutrb.com/images/tutorial/new-post-editor.png +0 -0
  340. data/brutrb.com/images/tutorial/new-post-home-page.png +0 -0
  341. data/brutrb.com/images/tutorial/styled-form-with-server-side-violations.png +0 -0
  342. data/brutrb.com/images/tutorial/styled-form-with-violations.png +0 -0
  343. data/brutrb.com/images/tutorial/styled-home-page-with-posts.png +0 -0
  344. data/brutrb.com/images/tutorial/styled-home-page.png +0 -0
  345. data/brutrb.com/images/tutorial/welcome-to-brut.png +0 -0
  346. data/brutrb.com/images/workspace-protocol.dot +0 -44
  347. data/brutrb.com/images/workspace-protocol.png +0 -0
  348. data/brutrb.com/index.md +0 -34
  349. data/brutrb.com/instrumentation.md +0 -331
  350. data/brutrb.com/javascript.md +0 -122
  351. data/brutrb.com/jobs.md +0 -114
  352. data/brutrb.com/keyword-injection.md +0 -195
  353. data/brutrb.com/layouts.md +0 -156
  354. data/brutrb.com/lsp.md +0 -23
  355. data/brutrb.com/markdown-examples.md +0 -85
  356. data/brutrb.com/middleware.md +0 -80
  357. data/brutrb.com/overview.md +0 -68
  358. data/brutrb.com/package-lock.json +0 -2451
  359. data/brutrb.com/package.json +0 -11
  360. data/brutrb.com/pages.md +0 -290
  361. data/brutrb.com/public/SocialImage.png +0 -0
  362. data/brutrb.com/public/favicon.ico +0 -0
  363. data/brutrb.com/recipes/alternate-layouts.md +0 -32
  364. data/brutrb.com/recipes/authentication.md +0 -336
  365. data/brutrb.com/recipes/custom-flash.md +0 -51
  366. data/brutrb.com/recipes/dev-env-secrets.md +0 -87
  367. data/brutrb.com/recipes/form-errors.md +0 -148
  368. data/brutrb.com/recipes/indexed-forms.md +0 -149
  369. data/brutrb.com/recipes/migrations.md +0 -210
  370. data/brutrb.com/recipes/text-field-component.md +0 -182
  371. data/brutrb.com/roadmap.md +0 -52
  372. data/brutrb.com/routes.md +0 -189
  373. data/brutrb.com/security.md +0 -102
  374. data/brutrb.com/seed-data.md +0 -63
  375. data/brutrb.com/space-time-continuum.md +0 -81
  376. data/brutrb.com/tutorial.md +0 -138
  377. data/brutrb.com/tutorials/01-intro.md +0 -1654
  378. data/brutrb.com/tutorials/02-dialog.md +0 -569
  379. data/brutrb.com/unit-tests.md +0 -148
  380. data/brutrb.com/why.md +0 -19
  381. data/docker-compose.dx.yml +0 -25
  382. data/docs/404.html +0 -26
  383. data/docs/CNAME +0 -1
  384. data/docs/SocialImage.png +0 -0
  385. data/docs/adrs.html +0 -29
  386. data/docs/ai.html +0 -29
  387. data/docs/api/Brut/BackEnd/SeedData.html +0 -493
  388. data/docs/api/Brut/BackEnd/Sidekiq/Middlewares/Server/FlushSpans.html +0 -214
  389. data/docs/api/Brut/BackEnd/Sidekiq/Middlewares/Server.html +0 -125
  390. data/docs/api/Brut/BackEnd/Sidekiq/Middlewares.html +0 -125
  391. data/docs/api/Brut/BackEnd/Sidekiq.html +0 -125
  392. data/docs/api/Brut/BackEnd/Validators/FormValidator.html +0 -414
  393. data/docs/api/Brut/BackEnd/Validators.html +0 -128
  394. data/docs/api/Brut/BackEnd.html +0 -132
  395. data/docs/api/Brut/CLI/App.html +0 -1601
  396. data/docs/api/Brut/CLI/AppRunner.html +0 -491
  397. data/docs/api/Brut/CLI/Apps/BuildAssets/All.html +0 -264
  398. data/docs/api/Brut/CLI/Apps/BuildAssets/CSS.html +0 -306
  399. data/docs/api/Brut/CLI/Apps/BuildAssets/Images.html +0 -262
  400. data/docs/api/Brut/CLI/Apps/BuildAssets/JS.html +0 -314
  401. data/docs/api/Brut/CLI/Apps/BuildAssets.html +0 -183
  402. data/docs/api/Brut/CLI/Apps/DB/Create.html +0 -365
  403. data/docs/api/Brut/CLI/Apps/DB/Drop.html +0 -357
  404. data/docs/api/Brut/CLI/Apps/DB/Migrate.html +0 -389
  405. data/docs/api/Brut/CLI/Apps/DB/NewMigration.html +0 -339
  406. data/docs/api/Brut/CLI/Apps/DB/Rebuild.html +0 -329
  407. data/docs/api/Brut/CLI/Apps/DB/Seed.html +0 -347
  408. data/docs/api/Brut/CLI/Apps/DB/Status.html +0 -383
  409. data/docs/api/Brut/CLI/Apps/DB.html +0 -183
  410. data/docs/api/Brut/CLI/Apps/DeployBase/GitChecks.html +0 -270
  411. data/docs/api/Brut/CLI/Apps/DeployBase.html +0 -257
  412. data/docs/api/Brut/CLI/Apps/HerokuContainerBasedDeploy/Deploy.html +0 -587
  413. data/docs/api/Brut/CLI/Apps/HerokuContainerBasedDeploy.html +0 -196
  414. data/docs/api/Brut/CLI/Apps/Scaffold/Action/Route.html +0 -303
  415. data/docs/api/Brut/CLI/Apps/Scaffold/Action.html +0 -508
  416. data/docs/api/Brut/CLI/Apps/Scaffold/Component.html +0 -398
  417. data/docs/api/Brut/CLI/Apps/Scaffold/CustomElementTest.html +0 -374
  418. data/docs/api/Brut/CLI/Apps/Scaffold/DbModel.html +0 -384
  419. data/docs/api/Brut/CLI/Apps/Scaffold/E2ETest.html +0 -410
  420. data/docs/api/Brut/CLI/Apps/Scaffold/Form.html +0 -262
  421. data/docs/api/Brut/CLI/Apps/Scaffold/Page/Route.html +0 -303
  422. data/docs/api/Brut/CLI/Apps/Scaffold/Page.html +0 -480
  423. data/docs/api/Brut/CLI/Apps/Scaffold/RoutesEditor.html +0 -450
  424. data/docs/api/Brut/CLI/Apps/Scaffold/Test.html +0 -380
  425. data/docs/api/Brut/CLI/Apps/Scaffold.html +0 -253
  426. data/docs/api/Brut/CLI/Apps/Test/Audit.html +0 -474
  427. data/docs/api/Brut/CLI/Apps/Test/E2e.html +0 -407
  428. data/docs/api/Brut/CLI/Apps/Test/JS.html +0 -262
  429. data/docs/api/Brut/CLI/Apps/Test/Run.html +0 -578
  430. data/docs/api/Brut/CLI/Apps/Test.html +0 -253
  431. data/docs/api/Brut/CLI/Apps.html +0 -125
  432. data/docs/api/Brut/CLI/Command.html +0 -2425
  433. data/docs/api/Brut/CLI/Error.html +0 -139
  434. data/docs/api/Brut/CLI/ExecutionResults/Result.html +0 -664
  435. data/docs/api/Brut/CLI/ExecutionResults.html +0 -675
  436. data/docs/api/Brut/CLI/Executor.html +0 -561
  437. data/docs/api/Brut/CLI/InvalidOption.html +0 -245
  438. data/docs/api/Brut/CLI/Options.html +0 -880
  439. data/docs/api/Brut/CLI/Output.html +0 -699
  440. data/docs/api/Brut/CLI/SystemExecError.html +0 -451
  441. data/docs/api/Brut/CLI.html +0 -263
  442. data/docs/api/Brut/FactoryBot.html +0 -225
  443. data/docs/api/Brut/Framework/App.html +0 -1097
  444. data/docs/api/Brut/Framework/Config.html +0 -1071
  445. data/docs/api/Brut/Framework/Container.html +0 -1464
  446. data/docs/api/Brut/Framework/Error.html +0 -140
  447. data/docs/api/Brut/Framework/Errors/AbstractMethod.html +0 -232
  448. data/docs/api/Brut/Framework/Errors/Bug.html +0 -234
  449. data/docs/api/Brut/Framework/Errors/MissingConfiguration.html +0 -257
  450. data/docs/api/Brut/Framework/Errors/MissingParameter.html +0 -273
  451. data/docs/api/Brut/Framework/Errors/NoClassForPath.html +0 -471
  452. data/docs/api/Brut/Framework/Errors/NotFound.html +0 -308
  453. data/docs/api/Brut/Framework/Errors/NotImplemented.html +0 -234
  454. data/docs/api/Brut/Framework/Errors.html +0 -351
  455. data/docs/api/Brut/Framework/FussyTypeEnforcement.html +0 -392
  456. data/docs/api/Brut/Framework/MCP.html +0 -871
  457. data/docs/api/Brut/Framework/ProjectEnvironment.html +0 -648
  458. data/docs/api/Brut/Framework.html +0 -129
  459. data/docs/api/Brut/FrontEnd/AssetPathResolver.html +0 -317
  460. data/docs/api/Brut/FrontEnd/Component/Helpers.html +0 -420
  461. data/docs/api/Brut/FrontEnd/Component.html +0 -434
  462. data/docs/api/Brut/FrontEnd/Components/ConstraintViolations.html +0 -491
  463. data/docs/api/Brut/FrontEnd/Components/FormTag.html +0 -526
  464. data/docs/api/Brut/FrontEnd/Components/I18nTranslations.html +0 -313
  465. data/docs/api/Brut/FrontEnd/Components/Input.html +0 -195
  466. data/docs/api/Brut/FrontEnd/Components/Inputs/ButtonTag.html +0 -447
  467. data/docs/api/Brut/FrontEnd/Components/Inputs/CsrfToken.html +0 -339
  468. data/docs/api/Brut/FrontEnd/Components/Inputs/InputTag.html +0 -568
  469. data/docs/api/Brut/FrontEnd/Components/Inputs/RadioButton.html +0 -419
  470. data/docs/api/Brut/FrontEnd/Components/Inputs/SelectTagWithOptions.html +0 -610
  471. data/docs/api/Brut/FrontEnd/Components/Inputs/TextareaTag.html +0 -534
  472. data/docs/api/Brut/FrontEnd/Components/Inputs.html +0 -125
  473. data/docs/api/Brut/FrontEnd/Components/LocaleDetection.html +0 -367
  474. data/docs/api/Brut/FrontEnd/Components/PageIdentifier.html +0 -355
  475. data/docs/api/Brut/FrontEnd/Components/TimeTag.html +0 -655
  476. data/docs/api/Brut/FrontEnd/Components/Traceparent.html +0 -352
  477. data/docs/api/Brut/FrontEnd/Components.html +0 -156
  478. data/docs/api/Brut/FrontEnd/CsrfProtector.html +0 -250
  479. data/docs/api/Brut/FrontEnd/Download.html +0 -467
  480. data/docs/api/Brut/FrontEnd/Flash.html +0 -1150
  481. data/docs/api/Brut/FrontEnd/Form.html +0 -1227
  482. data/docs/api/Brut/FrontEnd/Forms/Button.html +0 -331
  483. data/docs/api/Brut/FrontEnd/Forms/ButtonInputDefinition.html +0 -537
  484. data/docs/api/Brut/FrontEnd/Forms/ConstraintViolation.html +0 -590
  485. data/docs/api/Brut/FrontEnd/Forms/Input/Color.html +0 -201
  486. data/docs/api/Brut/FrontEnd/Forms/Input/TimeOfDay.html +0 -535
  487. data/docs/api/Brut/FrontEnd/Forms/Input.html +0 -1567
  488. data/docs/api/Brut/FrontEnd/Forms/InputDeclarations.html +0 -635
  489. data/docs/api/Brut/FrontEnd/Forms/InputDefinition.html +0 -1336
  490. data/docs/api/Brut/FrontEnd/Forms/RadioButtonGroupInput.html +0 -730
  491. data/docs/api/Brut/FrontEnd/Forms/RadioButtonGroupInputDefinition.html +0 -587
  492. data/docs/api/Brut/FrontEnd/Forms/SelectInput.html +0 -734
  493. data/docs/api/Brut/FrontEnd/Forms/SelectInputDefinition.html +0 -582
  494. data/docs/api/Brut/FrontEnd/Forms/ValidityState.html +0 -659
  495. data/docs/api/Brut/FrontEnd/Forms.html +0 -127
  496. data/docs/api/Brut/FrontEnd/GenericResponse.html +0 -377
  497. data/docs/api/Brut/FrontEnd/Handler.html +0 -442
  498. data/docs/api/Brut/FrontEnd/Handlers/CspReportingHandler.html +0 -318
  499. data/docs/api/Brut/FrontEnd/Handlers/InstrumentationHandler/TraceParent.html +0 -336
  500. data/docs/api/Brut/FrontEnd/Handlers/InstrumentationHandler.html +0 -399
  501. data/docs/api/Brut/FrontEnd/Handlers/LocaleDetectionHandler.html +0 -354
  502. data/docs/api/Brut/FrontEnd/Handlers/MissingHandler/Form.html +0 -151
  503. data/docs/api/Brut/FrontEnd/Handlers/MissingHandler.html +0 -315
  504. data/docs/api/Brut/FrontEnd/Handlers.html +0 -125
  505. data/docs/api/Brut/FrontEnd/HandlingResults.html +0 -339
  506. data/docs/api/Brut/FrontEnd/HttpMethod.html +0 -661
  507. data/docs/api/Brut/FrontEnd/HttpStatus.html +0 -496
  508. data/docs/api/Brut/FrontEnd/InlineSvgLocator.html +0 -284
  509. data/docs/api/Brut/FrontEnd/Layout.html +0 -486
  510. data/docs/api/Brut/FrontEnd/Middleware.html +0 -135
  511. data/docs/api/Brut/FrontEnd/Middlewares/AnnotateBrutOwnedPaths.html +0 -288
  512. data/docs/api/Brut/FrontEnd/Middlewares/Favicon.html +0 -292
  513. data/docs/api/Brut/FrontEnd/Middlewares/OpenTelemetrySpan.html +0 -324
  514. data/docs/api/Brut/FrontEnd/Middlewares/ReloadApp.html +0 -376
  515. data/docs/api/Brut/FrontEnd/Middlewares.html +0 -125
  516. data/docs/api/Brut/FrontEnd/Page.html +0 -781
  517. data/docs/api/Brut/FrontEnd/Pages/MissingPage.html +0 -797
  518. data/docs/api/Brut/FrontEnd/Pages.html +0 -125
  519. data/docs/api/Brut/FrontEnd/RequestContext.html +0 -1312
  520. data/docs/api/Brut/FrontEnd/RouteHook.html +0 -424
  521. data/docs/api/Brut/FrontEnd/RouteHooks/AgeFlash.html +0 -242
  522. data/docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineScripts.html +0 -249
  523. data/docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineStylesOrScripts/ReportOnly.html +0 -264
  524. data/docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineStylesOrScripts.html +0 -261
  525. data/docs/api/Brut/FrontEnd/RouteHooks/LocaleDetection.html +0 -284
  526. data/docs/api/Brut/FrontEnd/RouteHooks/SetupRequestContext.html +0 -252
  527. data/docs/api/Brut/FrontEnd/RouteHooks.html +0 -115
  528. data/docs/api/Brut/FrontEnd/Routing/FormHandlerRoute.html +0 -227
  529. data/docs/api/Brut/FrontEnd/Routing/FormRoute.html +0 -305
  530. data/docs/api/Brut/FrontEnd/Routing/MissingForm.html +0 -324
  531. data/docs/api/Brut/FrontEnd/Routing/MissingHandler.html +0 -319
  532. data/docs/api/Brut/FrontEnd/Routing/MissingPage.html +0 -315
  533. data/docs/api/Brut/FrontEnd/Routing/MissingPath.html +0 -315
  534. data/docs/api/Brut/FrontEnd/Routing/PageRoute.html +0 -327
  535. data/docs/api/Brut/FrontEnd/Routing/Route.html +0 -761
  536. data/docs/api/Brut/FrontEnd/Routing.html +0 -927
  537. data/docs/api/Brut/FrontEnd/Session.html +0 -1195
  538. data/docs/api/Brut/FrontEnd.html +0 -134
  539. data/docs/api/Brut/I18n/BaseMethods.html +0 -931
  540. data/docs/api/Brut/I18n/ForBackEnd.html +0 -302
  541. data/docs/api/Brut/I18n/ForCLI.html +0 -302
  542. data/docs/api/Brut/I18n/ForHTML.html +0 -296
  543. data/docs/api/Brut/I18n/HTTPAcceptLanguage/AlwaysEnglish.html +0 -316
  544. data/docs/api/Brut/I18n/HTTPAcceptLanguage.html +0 -930
  545. data/docs/api/Brut/I18n.html +0 -127
  546. data/docs/api/Brut/Instrumentation/LoggerSpanExporter.html +0 -435
  547. data/docs/api/Brut/Instrumentation/Methods/ClassMethods.html +0 -596
  548. data/docs/api/Brut/Instrumentation/Methods.html +0 -173
  549. data/docs/api/Brut/Instrumentation/OpenTelemetry/NormalizedAttributes.html +0 -286
  550. data/docs/api/Brut/Instrumentation/OpenTelemetry/Span.html +0 -302
  551. data/docs/api/Brut/Instrumentation/OpenTelemetry.html +0 -866
  552. data/docs/api/Brut/Instrumentation.html +0 -128
  553. data/docs/api/Brut/RubocopConfig.html +0 -237
  554. data/docs/api/Brut/SinatraHelpers/ClassMethods.html +0 -534
  555. data/docs/api/Brut/SinatraHelpers.html +0 -281
  556. data/docs/api/Brut/SpecSupport/ClockSupport.html +0 -383
  557. data/docs/api/Brut/SpecSupport/ComponentSupport.html +0 -496
  558. data/docs/api/Brut/SpecSupport/E2ETestServer.html +0 -503
  559. data/docs/api/Brut/SpecSupport/E2eSupport.html +0 -142
  560. data/docs/api/Brut/SpecSupport/EnhancedNode.html +0 -403
  561. data/docs/api/Brut/SpecSupport/FlashSupport.html +0 -278
  562. data/docs/api/Brut/SpecSupport/GeneralSupport/ClassMethods.html +0 -401
  563. data/docs/api/Brut/SpecSupport/GeneralSupport.html +0 -195
  564. data/docs/api/Brut/SpecSupport/HandlerSupport.html +0 -160
  565. data/docs/api/Brut/SpecSupport/Matchers/BeABug.html +0 -142
  566. data/docs/api/Brut/SpecSupport/Matchers/BePageFor.html +0 -142
  567. data/docs/api/Brut/SpecSupport/Matchers/BeRoutingFor.html +0 -155
  568. data/docs/api/Brut/SpecSupport/Matchers/HaveConstraintViolation.html +0 -583
  569. data/docs/api/Brut/SpecSupport/Matchers/HaveGenerated.html +0 -149
  570. data/docs/api/Brut/SpecSupport/Matchers/HaveHTMLAttribute.html +0 -466
  571. data/docs/api/Brut/SpecSupport/Matchers/HaveI18nString.html +0 -149
  572. data/docs/api/Brut/SpecSupport/Matchers/HaveLinkTo.html +0 -149
  573. data/docs/api/Brut/SpecSupport/Matchers/HaveRedirectedTo.html +0 -165
  574. data/docs/api/Brut/SpecSupport/Matchers/HaveReturnedHttpStatus.html +0 -158
  575. data/docs/api/Brut/SpecSupport/Matchers/HaveReturnedRackResponse.html +0 -156
  576. data/docs/api/Brut/SpecSupport/Matchers.html +0 -125
  577. data/docs/api/Brut/SpecSupport/RSpecSetup/OptionalSidekiqSupport.html +0 -335
  578. data/docs/api/Brut/SpecSupport/RSpecSetup.html +0 -637
  579. data/docs/api/Brut/SpecSupport/SessionSupport.html +0 -196
  580. data/docs/api/Brut/SpecSupport.html +0 -129
  581. data/docs/api/Brut/TUI/AnsiEscapeCode/Mod.html +0 -409
  582. data/docs/api/Brut/TUI/AnsiEscapeCode.html +0 -426
  583. data/docs/api/Brut/TUI/EventLoop/Deque.html +0 -531
  584. data/docs/api/Brut/TUI/EventLoop.html +0 -676
  585. data/docs/api/Brut/TUI/Events/BaseEvent.html +0 -449
  586. data/docs/api/Brut/TUI/Events/EventBus.html +0 -485
  587. data/docs/api/Brut/TUI/Events/EventLoopStarted.html +0 -211
  588. data/docs/api/Brut/TUI/Events/Exception.html +0 -523
  589. data/docs/api/Brut/TUI/Events/Tick.html +0 -294
  590. data/docs/api/Brut/TUI/Events.html +0 -131
  591. data/docs/api/Brut/TUI/MarkupString.html +0 -537
  592. data/docs/api/Brut/TUI/Script/BlockStep.html +0 -300
  593. data/docs/api/Brut/TUI/Script/Events/CommandExecutionFailed.html +0 -252
  594. data/docs/api/Brut/TUI/Script/Events/CommandExecutionSucceeded.html +0 -163
  595. data/docs/api/Brut/TUI/Script/Events/CommandStdErr.html +0 -163
  596. data/docs/api/Brut/TUI/Script/Events/CommandStdOut.html +0 -300
  597. data/docs/api/Brut/TUI/Script/Events/ExecutingCommand.html +0 -298
  598. data/docs/api/Brut/TUI/Script/Events/Message.html +0 -345
  599. data/docs/api/Brut/TUI/Script/Events/PhaseCompleted.html +0 -229
  600. data/docs/api/Brut/TUI/Script/Events/PhaseStarted.html +0 -350
  601. data/docs/api/Brut/TUI/Script/Events/ScriptCompleted.html +0 -282
  602. data/docs/api/Brut/TUI/Script/Events/ScriptStarted.html +0 -343
  603. data/docs/api/Brut/TUI/Script/Events/StepCompleted.html +0 -163
  604. data/docs/api/Brut/TUI/Script/Events/StepStarted.html +0 -346
  605. data/docs/api/Brut/TUI/Script/Events.html +0 -115
  606. data/docs/api/Brut/TUI/Script/ExecStep/ProcessStatusFailed.html +0 -210
  607. data/docs/api/Brut/TUI/Script/ExecStep.html +0 -493
  608. data/docs/api/Brut/TUI/Script/LoggingSubscriber.html +0 -914
  609. data/docs/api/Brut/TUI/Script/PutsSubscriber.html +0 -783
  610. data/docs/api/Brut/TUI/Script/Step.html +0 -313
  611. data/docs/api/Brut/TUI/Script.html +0 -1250
  612. data/docs/api/Brut/TUI/Terminal.html +0 -593
  613. data/docs/api/Brut/TUI/TerminalTheme.html +0 -1403
  614. data/docs/api/Brut/TUI/Themes/Dark.html +0 -706
  615. data/docs/api/Brut/TUI/Themes/Light.html +0 -804
  616. data/docs/api/Brut/TUI/Themes/None.html +0 -218
  617. data/docs/api/Brut/TUI/Themes.html +0 -115
  618. data/docs/api/Brut/TUI.html +0 -129
  619. data/docs/api/Brut.html +0 -341
  620. data/docs/api/Clock.html +0 -603
  621. data/docs/api/ModuleName.html +0 -595
  622. data/docs/api/RichString.html +0 -775
  623. data/docs/api/SemanticLogger/Appender/Async.html +0 -219
  624. data/docs/api/Sequel/Extensions/BrutInstrumentation.html +0 -119
  625. data/docs/api/Sequel/Extensions/BrutMigrations.html +0 -541
  626. data/docs/api/Sequel/Extensions.html +0 -117
  627. data/docs/api/Sequel/Plugins/CreatedAt/InstanceMethods.html +0 -105
  628. data/docs/api/Sequel/Plugins/CreatedAt.html +0 -125
  629. data/docs/api/Sequel/Plugins/ExternalId/ClassMethods.html +0 -207
  630. data/docs/api/Sequel/Plugins/ExternalId/InstanceMethods.html +0 -186
  631. data/docs/api/Sequel/Plugins/ExternalId.html +0 -218
  632. data/docs/api/Sequel/Plugins/FindBang/ClassMethods.html +0 -202
  633. data/docs/api/Sequel/Plugins/FindBang.html +0 -125
  634. data/docs/api/Sequel/Plugins.html +0 -117
  635. data/docs/api/Sequel.html +0 -117
  636. data/docs/api/SpecSupport/Matchers/BeABug.html +0 -143
  637. data/docs/api/_index.html +0 -1964
  638. data/docs/api/class_list.html +0 -54
  639. data/docs/api/css/common.css +0 -1
  640. data/docs/api/css/full_list.css +0 -59
  641. data/docs/api/css/style.css +0 -504
  642. data/docs/api/file.README.html +0 -172
  643. data/docs/api/file_list.html +0 -59
  644. data/docs/api/frames.html +0 -22
  645. data/docs/api/index.html +0 -172
  646. data/docs/api/js/app.js +0 -344
  647. data/docs/api/js/full_list.js +0 -242
  648. data/docs/api/js/jquery.js +0 -4
  649. data/docs/api/method_list.html +0 -5542
  650. data/docs/api/top-level-namespace.html +0 -112
  651. data/docs/assets/02-confirmation-dialog-browser-element-styled.3NEGM20-.png +0 -0
  652. data/docs/assets/02-confirmation-dialog-browser-element.DPsf0xUW.png +0 -0
  653. data/docs/assets/02-confirmation-dialog-browser.DH8ALFO4.png +0 -0
  654. data/docs/assets/02-confirmation-flow.D9gZ0S5U.png +0 -0
  655. data/docs/assets/DevEnvironment.DaFcVfwP.png +0 -0
  656. data/docs/assets/LogoStop.Gb3tDhL1.png +0 -0
  657. data/docs/assets/OverviewMetro.DUS-5fUZ.png +0 -0
  658. data/docs/assets/adrs.md.YglbWtQe.js +0 -1
  659. data/docs/assets/adrs.md.YglbWtQe.lean.js +0 -1
  660. data/docs/assets/ai.md.ChLnvDAX.js +0 -1
  661. data/docs/assets/ai.md.ChLnvDAX.lean.js +0 -1
  662. data/docs/assets/app.B8jAEB7R.js +0 -1
  663. data/docs/assets/assets.md.BEF6Oz6K.js +0 -19
  664. data/docs/assets/assets.md.BEF6Oz6K.lean.js +0 -1
  665. data/docs/assets/basic-form-with-violations.Cv6Y9-Q_.png +0 -0
  666. data/docs/assets/basic-form.DbHnu0oW.png +0 -0
  667. data/docs/assets/brut-js.md.BMz0X1Rz.js +0 -12
  668. data/docs/assets/brut-js.md.BMz0X1Rz.lean.js +0 -1
  669. data/docs/assets/business-logic.md.DbuaOYGU.js +0 -1
  670. data/docs/assets/business-logic.md.DbuaOYGU.lean.js +0 -1
  671. data/docs/assets/chunks/@localSearchIndexroot.DJ8mocCj.js +0 -1
  672. data/docs/assets/chunks/VPLocalSearchBox.gF-Po_fz.js +0 -8
  673. data/docs/assets/chunks/framework.C4nOkCZI.js +0 -18
  674. data/docs/assets/chunks/theme.BjPAOJkz.js +0 -2
  675. data/docs/assets/cli.md.DDMar_51.js +0 -122
  676. data/docs/assets/cli.md.DDMar_51.lean.js +0 -1
  677. data/docs/assets/components.md.Ber8UBM0.js +0 -96
  678. data/docs/assets/components.md.Ber8UBM0.lean.js +0 -1
  679. data/docs/assets/configuration.md.DrJ6YVoZ.js +0 -78
  680. data/docs/assets/configuration.md.DrJ6YVoZ.lean.js +0 -1
  681. data/docs/assets/css.md.K5rOCOQY.js +0 -21
  682. data/docs/assets/css.md.K5rOCOQY.lean.js +0 -1
  683. data/docs/assets/custom-element-tests.md.DiLe-eFw.js +0 -69
  684. data/docs/assets/custom-element-tests.md.DiLe-eFw.lean.js +0 -1
  685. data/docs/assets/database-access.md.Dc8l2Plf.js +0 -63
  686. data/docs/assets/database-access.md.Dc8l2Plf.lean.js +0 -1
  687. data/docs/assets/database-schema.md.BJ_JhXmO.js +0 -70
  688. data/docs/assets/database-schema.md.BJ_JhXmO.lean.js +0 -1
  689. data/docs/assets/deployment.md.CHTx2eTR.js +0 -55
  690. data/docs/assets/deployment.md.CHTx2eTR.lean.js +0 -1
  691. data/docs/assets/dev-env-protocol.DysDAtnz.png +0 -0
  692. data/docs/assets/dev-environment.md.B1S9p5ZK.js +0 -16
  693. data/docs/assets/dev-environment.md.B1S9p5ZK.lean.js +0 -1
  694. data/docs/assets/dir-structure.md.D1T2kGwj.js +0 -46
  695. data/docs/assets/dir-structure.md.D1T2kGwj.lean.js +0 -1
  696. data/docs/assets/doc-conventions.md.CDnWaEFg.js +0 -1
  697. data/docs/assets/doc-conventions.md.CDnWaEFg.lean.js +0 -1
  698. data/docs/assets/end-to-end-tests.md.BJJdNDYL.js +0 -28
  699. data/docs/assets/end-to-end-tests.md.BJJdNDYL.lean.js +0 -1
  700. data/docs/assets/features.md.BDWxnyNO.js +0 -154
  701. data/docs/assets/features.md.BDWxnyNO.lean.js +0 -1
  702. data/docs/assets/flash-and-session.md.CUsMxoNl.js +0 -79
  703. data/docs/assets/flash-and-session.md.CUsMxoNl.lean.js +0 -1
  704. data/docs/assets/form-constraints.md.KlfXSKm2.js +0 -90
  705. data/docs/assets/form-constraints.md.KlfXSKm2.lean.js +0 -1
  706. data/docs/assets/forms.md.RK0zkhm0.js +0 -64
  707. data/docs/assets/forms.md.RK0zkhm0.lean.js +0 -1
  708. data/docs/assets/getting-started.md.CGJ44juQ.js +0 -31
  709. data/docs/assets/getting-started.md.CGJ44juQ.lean.js +0 -1
  710. data/docs/assets/handlers.md.C5tUwmmo.js +0 -54
  711. data/docs/assets/handlers.md.C5tUwmmo.lean.js +0 -1
  712. data/docs/assets/hooks.md.CoiYCKRc.js +0 -80
  713. data/docs/assets/hooks.md.CoiYCKRc.lean.js +0 -1
  714. data/docs/assets/i18n.md.DxkCKhUw.js +0 -23
  715. data/docs/assets/i18n.md.DxkCKhUw.lean.js +0 -1
  716. data/docs/assets/index.md.DnphWyQd.js +0 -1
  717. data/docs/assets/index.md.DnphWyQd.lean.js +0 -1
  718. data/docs/assets/initial-home-page.DNIaYmgP.png +0 -0
  719. data/docs/assets/instrumentation.md.BcxjC4jd.js +0 -90
  720. data/docs/assets/instrumentation.md.BcxjC4jd.lean.js +0 -1
  721. data/docs/assets/javascript.md.D6fxhaQb.js +0 -31
  722. data/docs/assets/javascript.md.D6fxhaQb.lean.js +0 -1
  723. data/docs/assets/jobs.md.Bi3qb3v6.js +0 -25
  724. data/docs/assets/jobs.md.Bi3qb3v6.lean.js +0 -1
  725. data/docs/assets/keyword-injection.md.CqLnnzIz.js +0 -21
  726. data/docs/assets/keyword-injection.md.CqLnnzIz.lean.js +0 -1
  727. data/docs/assets/layouts.md.HEbeK7Jr.js +0 -68
  728. data/docs/assets/layouts.md.HEbeK7Jr.lean.js +0 -1
  729. data/docs/assets/lsp.md.bE9dW8n9.js +0 -1
  730. data/docs/assets/lsp.md.bE9dW8n9.lean.js +0 -1
  731. data/docs/assets/markdown-examples.md.BPmtHlc-.js +0 -33
  732. data/docs/assets/markdown-examples.md.BPmtHlc-.lean.js +0 -1
  733. data/docs/assets/middleware.md.BhOIsg59.js +0 -20
  734. data/docs/assets/middleware.md.BhOIsg59.lean.js +0 -1
  735. data/docs/assets/new-post-editor.DrHr-5oh.png +0 -0
  736. data/docs/assets/new-post-home-page.Bm34lyMg.png +0 -0
  737. data/docs/assets/overview.md.BpWAgPFH.js +0 -1
  738. data/docs/assets/overview.md.BpWAgPFH.lean.js +0 -1
  739. data/docs/assets/pages.md.B3sQXpEd.js +0 -45
  740. data/docs/assets/pages.md.B3sQXpEd.lean.js +0 -1
  741. data/docs/assets/recipes_alternate-layouts.md.C1QzVkA7.js +0 -22
  742. data/docs/assets/recipes_alternate-layouts.md.C1QzVkA7.lean.js +0 -1
  743. data/docs/assets/recipes_authentication.md.CyvoIW82.js +0 -157
  744. data/docs/assets/recipes_authentication.md.CyvoIW82.lean.js +0 -1
  745. data/docs/assets/recipes_custom-flash.md.6gFqf2uL.js +0 -26
  746. data/docs/assets/recipes_custom-flash.md.6gFqf2uL.lean.js +0 -1
  747. data/docs/assets/recipes_dev-env-secrets.md.DC_jVY9U.js +0 -12
  748. data/docs/assets/recipes_dev-env-secrets.md.DC_jVY9U.lean.js +0 -1
  749. data/docs/assets/recipes_form-errors.md.B5ptSzMO.js +0 -66
  750. data/docs/assets/recipes_form-errors.md.B5ptSzMO.lean.js +0 -1
  751. data/docs/assets/recipes_indexed-forms.md.BYYQGW2C.js +0 -74
  752. data/docs/assets/recipes_indexed-forms.md.BYYQGW2C.lean.js +0 -1
  753. data/docs/assets/recipes_migrations.md.Cid7-3cu.js +0 -97
  754. data/docs/assets/recipes_migrations.md.Cid7-3cu.lean.js +0 -1
  755. data/docs/assets/recipes_text-field-component.md.VhOsCtKI.js +0 -101
  756. data/docs/assets/recipes_text-field-component.md.VhOsCtKI.lean.js +0 -1
  757. data/docs/assets/roadmap.md.DqC1Y7Zt.js +0 -1
  758. data/docs/assets/roadmap.md.DqC1Y7Zt.lean.js +0 -1
  759. data/docs/assets/routes.md.C1dgIBtD.js +0 -21
  760. data/docs/assets/routes.md.C1dgIBtD.lean.js +0 -1
  761. data/docs/assets/security.md.Jn4SY1uK.js +0 -1
  762. data/docs/assets/security.md.Jn4SY1uK.lean.js +0 -1
  763. data/docs/assets/seed-data.md.UZW0WxYN.js +0 -14
  764. data/docs/assets/seed-data.md.UZW0WxYN.lean.js +0 -1
  765. data/docs/assets/spa.qejUdp-5.png +0 -0
  766. data/docs/assets/space-time-continuum.md.D9rYGDFH.js +0 -1
  767. data/docs/assets/space-time-continuum.md.D9rYGDFH.lean.js +0 -1
  768. data/docs/assets/style.B1z60PPQ.css +0 -1
  769. data/docs/assets/styled-form-with-server-side-violations.Bjxd8Dpv.png +0 -0
  770. data/docs/assets/styled-form-with-violations.Bv_sa9tg.png +0 -0
  771. data/docs/assets/styled-home-page-with-posts.Dd4kG89D.png +0 -0
  772. data/docs/assets/styled-home-page.BzdI7dWz.png +0 -0
  773. data/docs/assets/tutorial.md.BX6f6l00.js +0 -27
  774. data/docs/assets/tutorial.md.BX6f6l00.lean.js +0 -1
  775. data/docs/assets/tutorials_01-intro.md.CzZ3kpF_.js +0 -708
  776. data/docs/assets/tutorials_01-intro.md.CzZ3kpF_.lean.js +0 -1
  777. data/docs/assets/tutorials_02-dialog.md.DE5WfCXI.js +0 -274
  778. data/docs/assets/tutorials_02-dialog.md.DE5WfCXI.lean.js +0 -1
  779. data/docs/assets/unit-tests.md.vDsdBbO_.js +0 -13
  780. data/docs/assets/unit-tests.md.vDsdBbO_.lean.js +0 -1
  781. data/docs/assets/welcome-to-brut.VSWzl17-.png +0 -0
  782. data/docs/assets/why.md.4WpxdrQ2.js +0 -1
  783. data/docs/assets/why.md.4WpxdrQ2.lean.js +0 -1
  784. data/docs/assets/workspace-protocol.C0gXsoDb.png +0 -0
  785. data/docs/assets.html +0 -47
  786. data/docs/brut-css/brut.css +0 -1
  787. data/docs/brut-css/brut.max.css +0 -22372
  788. data/docs/brut-css/classes/appearances.html +0 -783
  789. data/docs/brut-css/classes/background-colors.html +0 -3529
  790. data/docs/brut-css/classes/border-colors.html +0 -3529
  791. data/docs/brut-css/classes/borders.html +0 -2293
  792. data/docs/brut-css/classes/dimensions.html +0 -2581
  793. data/docs/brut-css/classes/flex.html +0 -917
  794. data/docs/brut-css/classes/foreground-colors.html +0 -3261
  795. data/docs/brut-css/classes/junk-drawer.html +0 -431
  796. data/docs/brut-css/classes/layout.html +0 -668
  797. data/docs/brut-css/classes/lists.html +0 -331
  798. data/docs/brut-css/classes/positioning.html +0 -1751
  799. data/docs/brut-css/classes/spacings.html +0 -2633
  800. data/docs/brut-css/classes/typography.html +0 -2206
  801. data/docs/brut-css/customization/advanced-configuration.html +0 -204
  802. data/docs/brut-css/customization/breakpoints.html +0 -227
  803. data/docs/brut-css/customization/design-system.html +0 -197
  804. data/docs/brut-css/customization/pseudo-classes.html +0 -228
  805. data/docs/brut-css/docs.css +0 -98
  806. data/docs/brut-css/getting-started/core-concepts.html +0 -234
  807. data/docs/brut-css/getting-started/installation.html +0 -190
  808. data/docs/brut-css/getting-started/overview.html +0 -210
  809. data/docs/brut-css/getting-started/simple-example.html +0 -285
  810. data/docs/brut-css/index.html +0 -193
  811. data/docs/brut-css/prism-twilight.min.css +0 -1
  812. data/docs/brut-css/properties/colors.html +0 -1548
  813. data/docs/brut-css/properties/spacings.html +0 -614
  814. data/docs/brut-css/properties/typography.html +0 -777
  815. data/docs/brut-js/api/AjaxSubmit.html +0 -452
  816. data/docs/brut-js/api/AjaxSubmit.js.html +0 -550
  817. data/docs/brut-js/api/Autosubmit.html +0 -192
  818. data/docs/brut-js/api/Autosubmit.js.html +0 -114
  819. data/docs/brut-js/api/BaseCustomElement.html +0 -1091
  820. data/docs/brut-js/api/BaseCustomElement.js.html +0 -312
  821. data/docs/brut-js/api/BrutCustomElements.html +0 -172
  822. data/docs/brut-js/api/BufferedLogger.html +0 -173
  823. data/docs/brut-js/api/ConfirmSubmit.html +0 -286
  824. data/docs/brut-js/api/ConfirmSubmit.js.html +0 -188
  825. data/docs/brut-js/api/ConfirmationDialog.html +0 -425
  826. data/docs/brut-js/api/ConfirmationDialog.js.html +0 -194
  827. data/docs/brut-js/api/ConstraintViolationMessage.html +0 -498
  828. data/docs/brut-js/api/ConstraintViolationMessage.js.html +0 -191
  829. data/docs/brut-js/api/ConstraintViolationMessages.html +0 -590
  830. data/docs/brut-js/api/ConstraintViolationMessages.js.html +0 -149
  831. data/docs/brut-js/api/CopyToClipboard.html +0 -345
  832. data/docs/brut-js/api/CopyToClipboard.js.html +0 -147
  833. data/docs/brut-js/api/Form.html +0 -291
  834. data/docs/brut-js/api/Form.js.html +0 -198
  835. data/docs/brut-js/api/I18nTranslation.html +0 -409
  836. data/docs/brut-js/api/I18nTranslation.js.html +0 -115
  837. data/docs/brut-js/api/LocaleDetection.html +0 -312
  838. data/docs/brut-js/api/LocaleDetection.js.html +0 -168
  839. data/docs/brut-js/api/Logger.html +0 -702
  840. data/docs/brut-js/api/Logger.js.html +0 -141
  841. data/docs/brut-js/api/Message.html +0 -238
  842. data/docs/brut-js/api/Message.js.html +0 -113
  843. data/docs/brut-js/api/PrefixedLogger.html +0 -369
  844. data/docs/brut-js/api/RichString.html +0 -1049
  845. data/docs/brut-js/api/RichString.js.html +0 -167
  846. data/docs/brut-js/api/Tabs.html +0 -295
  847. data/docs/brut-js/api/Tabs.js.html +0 -219
  848. data/docs/brut-js/api/Toast.html +0 -270
  849. data/docs/brut-js/api/Toast.js.html +0 -153
  850. data/docs/brut-js/api/Tracing.html +0 -277
  851. data/docs/brut-js/api/Tracing.js.html +0 -298
  852. data/docs/brut-js/api/external-CustomElementRegistry.html +0 -140
  853. data/docs/brut-js/api/external-Performance.html +0 -138
  854. data/docs/brut-js/api/external-Promise.html +0 -138
  855. data/docs/brut-js/api/external-ValidityState.html +0 -138
  856. data/docs/brut-js/api/external-Window.html +0 -233
  857. data/docs/brut-js/api/external-fetch.html +0 -138
  858. data/docs/brut-js/api/global.html +0 -400
  859. data/docs/brut-js/api/index.html +0 -168
  860. data/docs/brut-js/api/index.js.html +0 -184
  861. data/docs/brut-js/api/module-testing.html +0 -383
  862. data/docs/brut-js/api/scripts/linenumber.js +0 -25
  863. data/docs/brut-js/api/scripts/prettify/Apache-License-2.0.txt +0 -202
  864. data/docs/brut-js/api/scripts/prettify/lang-css.js +0 -2
  865. data/docs/brut-js/api/scripts/prettify/prettify.js +0 -28
  866. data/docs/brut-js/api/styles/jsdoc-default.css +0 -327
  867. data/docs/brut-js/api/styles/prettify-jsdoc.css +0 -111
  868. data/docs/brut-js/api/styles/prettify-tomorrow.css +0 -132
  869. data/docs/brut-js/api/testing.AssetMetadata.html +0 -172
  870. data/docs/brut-js/api/testing.AssetMetadataLoader.html +0 -171
  871. data/docs/brut-js/api/testing.CustomElementTest.html +0 -679
  872. data/docs/brut-js/api/testing.DOMCreator.html +0 -171
  873. data/docs/brut-js/api/testing_AssetMetadata.js.html +0 -86
  874. data/docs/brut-js/api/testing_AssetMetadataLoader.js.html +0 -76
  875. data/docs/brut-js/api/testing_CustomElementTest.js.html +0 -286
  876. data/docs/brut-js/api/testing_DOMCreator.js.html +0 -96
  877. data/docs/brut-js/api/testing_index.js.html +0 -99
  878. data/docs/brut-js.html +0 -40
  879. data/docs/business-logic.html +0 -29
  880. data/docs/cli.html +0 -150
  881. data/docs/components.html +0 -124
  882. data/docs/configuration.html +0 -106
  883. data/docs/css.html +0 -49
  884. data/docs/custom-element-tests.html +0 -97
  885. data/docs/database-access.html +0 -91
  886. data/docs/database-schema.html +0 -98
  887. data/docs/deployment.html +0 -83
  888. data/docs/dev-environment.html +0 -44
  889. data/docs/dir-structure.html +0 -74
  890. data/docs/doc-conventions.html +0 -29
  891. data/docs/end-to-end-tests.html +0 -56
  892. data/docs/favicon.ico +0 -0
  893. data/docs/features.html +0 -182
  894. data/docs/flash-and-session.html +0 -107
  895. data/docs/form-constraints.html +0 -118
  896. data/docs/forms.html +0 -92
  897. data/docs/getting-started.html +0 -59
  898. data/docs/handlers.html +0 -82
  899. data/docs/hashmap.json +0 -1
  900. data/docs/hooks.html +0 -108
  901. data/docs/i18n.html +0 -51
  902. data/docs/index.html +0 -29
  903. data/docs/instrumentation.html +0 -118
  904. data/docs/javascript.html +0 -59
  905. data/docs/jobs.html +0 -53
  906. data/docs/keyword-injection.html +0 -49
  907. data/docs/layouts.html +0 -96
  908. data/docs/lsp.html +0 -29
  909. data/docs/markdown-examples.html +0 -61
  910. data/docs/middleware.html +0 -48
  911. data/docs/overview.html +0 -29
  912. data/docs/pages.html +0 -73
  913. data/docs/recipes/alternate-layouts.html +0 -50
  914. data/docs/recipes/authentication.html +0 -185
  915. data/docs/recipes/custom-flash.html +0 -54
  916. data/docs/recipes/dev-env-secrets.html +0 -40
  917. data/docs/recipes/form-errors.html +0 -94
  918. data/docs/recipes/indexed-forms.html +0 -102
  919. data/docs/recipes/migrations.html +0 -125
  920. data/docs/recipes/text-field-component.html +0 -129
  921. data/docs/roadmap.html +0 -29
  922. data/docs/routes.html +0 -49
  923. data/docs/security.html +0 -29
  924. data/docs/seed-data.html +0 -42
  925. data/docs/space-time-continuum.html +0 -29
  926. data/docs/tutorial.html +0 -55
  927. data/docs/tutorials/01-intro.html +0 -736
  928. data/docs/tutorials/02-dialog.html +0 -302
  929. data/docs/unit-tests.html +0 -41
  930. data/docs/vp-icons.css +0 -1
  931. data/docs/why.html +0 -29
  932. data/docs-todo.md +0 -32
  933. data/dx/bash_customizations +0 -6
  934. data/dx/build +0 -73
  935. data/dx/build.pre +0 -15
  936. data/dx/docker-compose.env +0 -22
  937. data/dx/dx.sh.lib +0 -24
  938. data/dx/exec +0 -75
  939. data/dx/setupkit.sh.lib +0 -144
  940. data/dx/show-help-in-app-container-then-wait.sh +0 -38
  941. data/lib/brut/cli/app.rb +0 -238
  942. data/lib/brut/cli/app_runner.rb +0 -252
  943. data/lib/brut/cli/command.rb +0 -258
  944. data/lib/brut/cli/execution_results.rb +0 -119
  945. data/lib/brut/front_end/layouts/_internal.html.erb +0 -68
  946. data/lib/brut/front_end/pages/_missing_page.html.erb +0 -17
  947. data/mkbrut/.gitignore +0 -16
  948. data/mkbrut/CODE_OF_CONDUCT.txt +0 -100
  949. data/mkbrut/Gemfile +0 -3
  950. data/mkbrut/Gemfile.lock +0 -20
  951. data/mkbrut/LICENSE.txt +0 -370
  952. data/mkbrut/README.md +0 -145
  953. data/mkbrut/Rakefile +0 -2
  954. data/mkbrut/bin/build +0 -36
  955. data/mkbrut/bin/ci +0 -19
  956. data/mkbrut/bin/docs +0 -19
  957. data/mkbrut/bin/publish +0 -129
  958. data/mkbrut/bin/rake +0 -16
  959. data/mkbrut/bin/setup +0 -30
  960. data/mkbrut/brut-welcome.png +0 -0
  961. data/mkbrut/deploy/.dockerignore +0 -2
  962. data/mkbrut/deploy/Dockerfile +0 -25
  963. data/mkbrut/dx +0 -1
  964. data/mkbrut/exe/mkbrut +0 -5
  965. data/mkbrut/lib/mkbrut/app_name.rb +0 -29
  966. data/mkbrut/lib/mkbrut/app_options.rb +0 -36
  967. data/mkbrut/lib/mkbrut/cli.rb +0 -189
  968. data/mkbrut/lib/mkbrut/erb_binding_delegate.rb +0 -20
  969. data/mkbrut/lib/mkbrut/ops.rb +0 -17
  970. data/mkbrut/lib/mkbrut/organization.rb +0 -5
  971. data/mkbrut/lib/mkbrut/segments.rb +0 -8
  972. data/mkbrut/lib/mkbrut/version.rb +0 -3
  973. data/mkbrut/lib/mkbrut.rb +0 -20
  974. data/mkbrut/mkbrut.gemspec +0 -34
  975. data/mkbrut/templates/Base/app/src/front_end/images/LogoPylon.png +0 -0
  976. data/mkbrut/templates/Base/bin/build-assets +0 -7
  977. data/mkbrut/templates/Base/bin/ci +0 -39
  978. data/mkbrut/templates/Base/bin/db +0 -9
  979. data/mkbrut/templates/Base/bin/scaffold +0 -9
  980. data/mkbrut/templates/Base/bin/setup +0 -287
  981. data/mkbrut/templates/Base/bin/test +0 -9
  982. data/mkbrut/templates/Base/bin/test-server +0 -29
  983. data/mkbrut/templates/Base/dx/prune +0 -19
  984. data/mkbrut/templates/Base/dx/start +0 -30
  985. data/mkbrut/templates/Base/dx/stop +0 -23
  986. data/mkbrut/templates/segments/Heroku/deploy/heroku_config.rb +0 -27
  987. data/specs/brut/front_end/forms/input.spec.rb +0 -978
  988. data/specs/brut/front_end/forms/radio_button_group_input.spec.rb +0 -54
  989. data/specs/brut/front_end/forms/select_input.spec.rb +0 -54
  990. data/specs/brut/instrumentation/methods.spec.rb +0 -399
  991. data/specs/brut/junk_drawer.spec.rb +0 -79
  992. data/specs/brut/tui/ansi_escape_code.spec.rb +0 -30
  993. data/specs/brut/tui/event_loop.spec.rb +0 -70
  994. data/specs/brut/tui/events/base_event.spec.rb +0 -26
  995. data/specs/brut/tui/events/event_bus.spec.rb +0 -141
  996. data/specs/brut/tui/events/exception.spec.rb +0 -19
  997. data/specs/brut/tui/events/test_event.rb +0 -5
  998. data/specs/spec_helper.rb +0 -31
  999. data/specs/support/matchers/have_constraint_violation.rb +0 -23
  1000. data/specs/support/matchers.rb +0 -5
  1001. data/specs/support.rb +0 -3
  1002. /data/{mkbrut/lib/mkbrut → lib/brut/cli/apps/new}/prefixed_io.rb +0 -0
  1003. /data/{mkbrut/templates → templates}/Base/.dockerignore +0 -0
  1004. /data/{mkbrut/templates → templates}/Base/.env.development.erb +0 -0
  1005. /data/{mkbrut/templates → templates}/Base/.env.test.erb +0 -0
  1006. /data/{mkbrut/templates → templates}/Base/.gitignore +0 -0
  1007. /data/{mkbrut/templates → templates}/Base/.projections.json +0 -0
  1008. /data/{mkbrut/templates → templates}/Base/Dockerfile.dx +0 -0
  1009. /data/{mkbrut/templates → templates}/Base/Gemfile.erb +0 -0
  1010. /data/{mkbrut/templates → templates}/Base/Procfile.development +0 -0
  1011. /data/{mkbrut/templates → templates}/Base/Procfile.test +0 -0
  1012. /data/{mkbrut/templates → templates}/Base/README.md +0 -0
  1013. /data/{mkbrut/templates → templates}/Base/README.md.erb +0 -0
  1014. /data/{mkbrut/templates → templates}/Base/app/bootstrap.rb +0 -0
  1015. /data/{mkbrut/templates → templates}/Base/app/config/i18n/en/1_defaults.rb +0 -0
  1016. /data/{mkbrut/templates → templates}/Base/app/config/i18n/en/2_app.rb +0 -0
  1017. /data/{mkbrut/templates → templates}/Base/app/public/static/manifest.json.erb +0 -0
  1018. /data/{mkbrut/templates → templates}/Base/app/src/app.rb.erb +0 -0
  1019. /data/{mkbrut/templates → templates}/Base/app/src/back_end/data_models/app_data_model.rb +0 -0
  1020. /data/{mkbrut/templates → templates}/Base/app/src/back_end/data_models/db.rb +0 -0
  1021. /data/{mkbrut/templates → templates}/Base/app/src/back_end/data_models/migrations/20240101130000_citext.rb +0 -0
  1022. /data/{mkbrut/templates → templates}/Base/app/src/back_end/data_models/seed/seed_data.rb +0 -0
  1023. /data/{mkbrut/templates → templates}/Base/app/src/front_end/components/app_component.rb +0 -0
  1024. /data/{mkbrut/templates → templates}/Base/app/src/front_end/components/custom_element_registration.rb.erb +0 -0
  1025. /data/{mkbrut/templates → templates}/Base/app/src/front_end/css/index.css +0 -0
  1026. /data/{mkbrut/templates → templates}/Base/app/src/front_end/css/svgs.css +0 -0
  1027. /data/{mkbrut/templates → templates}/Base/app/src/front_end/forms/app_form.rb +0 -0
  1028. /data/{mkbrut/templates → templates}/Base/app/src/front_end/handlers/app_handler.rb +0 -0
  1029. /data/{brutrb.com → templates/Base/app/src/front_end}/images/LogoPylon.png +0 -0
  1030. /data/{mkbrut/templates → templates}/Base/app/src/front_end/images/LogoTransit.png +0 -0
  1031. /data/{mkbrut/templates → templates}/Base/app/src/front_end/images/apple-touch-icon-120x120.png +0 -0
  1032. /data/{mkbrut/templates → templates}/Base/app/src/front_end/images/apple-touch-icon-152x152.png +0 -0
  1033. /data/{mkbrut/templates → templates}/Base/app/src/front_end/images/apple-touch-icon-167x167.png +0 -0
  1034. /data/{mkbrut/templates → templates}/Base/app/src/front_end/images/apple-touch-icon-180x180.png +0 -0
  1035. /data/{mkbrut/templates → templates}/Base/app/src/front_end/images/favicon.ico +0 -0
  1036. /data/{mkbrut/templates → templates}/Base/app/src/front_end/images/icon.png +0 -0
  1037. /data/{mkbrut/templates → templates}/Base/app/src/front_end/images/mkicons.sh +0 -0
  1038. /data/{mkbrut/templates → templates}/Base/app/src/front_end/js/index.js +0 -0
  1039. /data/{mkbrut/templates → templates}/Base/app/src/front_end/layouts/blank_layout.rb +0 -0
  1040. /data/{mkbrut/templates → templates}/Base/app/src/front_end/layouts/default_layout.rb.erb +0 -0
  1041. /data/{mkbrut/templates → templates}/Base/app/src/front_end/pages/app_page.rb +0 -0
  1042. /data/{mkbrut/templates → templates}/Base/app/src/front_end/pages/home_page.rb +0 -0
  1043. /data/{mkbrut/templates → templates}/Base/app/src/front_end/support/app_session.rb +0 -0
  1044. /data/{mkbrut/templates → templates}/Base/app/src/front_end/svgs/README.md +0 -0
  1045. /data/{mkbrut/templates → templates}/Base/app/src/front_end/svgs/comment-button.svg +0 -0
  1046. /data/{mkbrut/templates → templates}/Base/bin/README.md.erb +0 -0
  1047. /data/{mkbrut/templates → templates}/Base/bin/console +0 -0
  1048. /data/{mkbrut/templates → templates}/Base/bin/dbconsole +0 -0
  1049. /data/{mkbrut/templates → templates}/Base/bin/dev +0 -0
  1050. /data/{mkbrut/templates → templates}/Base/bin/run +0 -0
  1051. /data/{mkbrut/templates → templates}/Base/bin/run.run +0 -0
  1052. /data/{mkbrut/templates → templates}/Base/bin/startup-message +0 -0
  1053. /data/{mkbrut/templates → templates}/Base/config.ru +0 -0
  1054. /data/{mkbrut/templates → templates}/Base/docker-compose.dx.yml +0 -0
  1055. /data/{mkbrut/templates → templates}/Base/dx/README.md +0 -0
  1056. /data/{mkbrut/templates → templates}/Base/dx/bash_customizations +0 -0
  1057. /data/{mkbrut/templates → templates}/Base/dx/bash_customizations.local +0 -0
  1058. /data/{mkbrut/templates → templates}/Base/dx/build +0 -0
  1059. /data/{mkbrut/templates → templates}/Base/dx/dx.sh.lib +0 -0
  1060. /data/{mkbrut/templates → templates}/Base/dx/exec +0 -0
  1061. /data/{dx → templates/Base/dx}/prune +0 -0
  1062. /data/{mkbrut/templates → templates}/Base/dx/show-help-in-app-container-then-wait.sh +0 -0
  1063. /data/{dx → templates/Base/dx}/start +0 -0
  1064. /data/{dx → templates/Base/dx}/stop +0 -0
  1065. /data/{mkbrut/templates → templates}/Base/package.json.erb +0 -0
  1066. /data/{mkbrut/templates → templates}/Base/puma.config.rb +0 -0
  1067. /data/{mkbrut/templates → templates}/Base/specs/e2e/home_page.spec.rb.erb +0 -0
  1068. /data/{mkbrut/templates → templates}/Base/specs/front_end/js/SpecHelper.js +0 -0
  1069. /data/{mkbrut/templates → templates}/Base/specs/front_end/pages/home_page.spec.rb +0 -0
  1070. /data/{mkbrut/templates → templates}/Base/specs/lint_factories.spec.rb +0 -0
  1071. /data/{mkbrut/templates → templates}/Base/specs/spec_helper.rb +0 -0
  1072. /data/{mkbrut/templates → templates}/Base/specs/support.rb +0 -0
  1073. /data/{mkbrut/templates → templates}/segments/BareBones/app/src/front_end/handlers/trigger_exception_handler.rb +0 -0
  1074. /data/{mkbrut/templates → templates}/segments/BareBones/app/src/front_end/js/Example.js.erb +0 -0
  1075. /data/{mkbrut/templates → templates}/segments/BareBones/specs/front_end/handlers/trigger_exception_handler.spec.rb +0 -0
  1076. /data/{mkbrut/templates → templates}/segments/BareBones/specs/front_end/js/Example.spec.js.erb +0 -0
  1077. /data/{mkbrut/templates → templates}/segments/Demo/app/src/back_end/data_models/db/guestbook_message.rb +0 -0
  1078. /data/{mkbrut/templates → templates}/segments/Demo/app/src/back_end/data_models/migrations/20250628194124_guestbook.rb +0 -0
  1079. /data/{mkbrut/templates → templates}/segments/Demo/app/src/front_end/components/flash_component.rb +0 -0
  1080. /data/{mkbrut/templates → templates}/segments/Demo/app/src/front_end/css/constraint-violations.css +0 -0
  1081. /data/{mkbrut/templates → templates}/segments/Demo/app/src/front_end/fonts/monaspace-xenon.ttf +0 -0
  1082. /data/{mkbrut/templates → templates}/segments/Demo/app/src/front_end/forms/guestbook_message_form.rb +0 -0
  1083. /data/{mkbrut/templates → templates}/segments/Demo/app/src/front_end/handlers/guestbook_message_handler.rb +0 -0
  1084. /data/{mkbrut/templates → templates}/segments/Demo/app/src/front_end/pages/guestbook_page/message_component.rb +0 -0
  1085. /data/{mkbrut/templates → templates}/segments/Demo/app/src/front_end/pages/guestbook_page.rb +0 -0
  1086. /data/{mkbrut/templates → templates}/segments/Demo/app/src/front_end/pages/new_guestbook_message_page.rb +0 -0
  1087. /data/{mkbrut/templates → templates}/segments/Demo/specs/back_end/data_models/db/guestbook_message.spec.rb +0 -0
  1088. /data/{mkbrut/templates → templates}/segments/Demo/specs/e2e/guest_message.spec.rb +0 -0
  1089. /data/{mkbrut/templates → templates}/segments/Demo/specs/factories/db/guestbook_message.factory.rb +0 -0
  1090. /data/{mkbrut/templates → templates}/segments/Demo/specs/front_end/components/flash_component.spec.rb +0 -0
  1091. /data/{mkbrut/templates → templates}/segments/Demo/specs/front_end/handlers/guestbook_message_handler.spec.rb +0 -0
  1092. /data/{mkbrut/templates → templates}/segments/Demo/specs/front_end/pages/guestbook_page/message_component.spec.rb +0 -0
  1093. /data/{mkbrut/templates → templates}/segments/Demo/specs/front_end/pages/guestbook_page.spec.rb +0 -0
  1094. /data/{mkbrut/templates → templates}/segments/Demo/specs/front_end/pages/new_guestbook_message_page.spec.rb +0 -0
  1095. /data/{mkbrut/templates → templates}/segments/Heroku/bin/deploy +0 -0
  1096. /data/{mkbrut/templates → templates}/segments/Heroku/deploy/docker-entrypoint +0 -0
  1097. /data/{mkbrut/templates → templates}/segments/Sidekiq/app/boot_sidekiq.rb +0 -0
  1098. /data/{mkbrut/templates → templates}/segments/Sidekiq/app/config/sidekiq.yml +0 -0
  1099. /data/{mkbrut/templates → templates}/segments/Sidekiq/app/src/back_end/jobs/app_job.rb +0 -0
  1100. /data/{mkbrut/templates → templates}/segments/Sidekiq/app/src/back_end/jobs/example_job.rb +0 -0
  1101. /data/{mkbrut/templates → templates}/segments/Sidekiq/app/src/back_end/segments/sidekiq_segment.rb +0 -0
  1102. /data/{mkbrut/templates → templates}/segments/Sidekiq/bin/run.sidekiq +0 -0
  1103. /data/{mkbrut/templates → templates}/segments/Sidekiq/specs/back_end/jobs/example_job.spec.rb +0 -0
  1104. /data/{mkbrut/templates → templates}/segments/Sidekiq/specs/integration/sidekiq_works.spec.rb +0 -0
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: brut
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.17.0
4
+ version: 0.18.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Bryant Copeland
@@ -345,6 +345,20 @@ dependencies:
345
345
  - - ">="
346
346
  - !ruby/object:Gem::Version
347
347
  version: '0'
348
+ - !ruby/object:Gem::Dependency
349
+ name: pg
350
+ requirement: !ruby/object:Gem::Requirement
351
+ requirements:
352
+ - - ">="
353
+ - !ruby/object:Gem::Version
354
+ version: '0'
355
+ type: :development
356
+ prerelease: false
357
+ version_requirements: !ruby/object:Gem::Requirement
358
+ requirements:
359
+ - - ">="
360
+ - !ruby/object:Gem::Version
361
+ version: '0'
348
362
  - !ruby/object:Gem::Dependency
349
363
  name: rake
350
364
  requirement: !ruby/object:Gem::Requirement
@@ -429,6 +443,20 @@ dependencies:
429
443
  - - "~>"
430
444
  - !ruby/object:Gem::Version
431
445
  version: '3.0'
446
+ - !ruby/object:Gem::Dependency
447
+ name: with_clues
448
+ requirement: !ruby/object:Gem::Requirement
449
+ requirements:
450
+ - - ">="
451
+ - !ruby/object:Gem::Version
452
+ version: '0'
453
+ type: :development
454
+ prerelease: false
455
+ version_requirements: !ruby/object:Gem::Requirement
456
+ requirements:
457
+ - - ">="
458
+ - !ruby/object:Gem::Version
459
+ version: '0'
432
460
  - !ruby/object:Gem::Dependency
433
461
  name: yard
434
462
  requirement: !ruby/object:Gem::Requirement
@@ -446,872 +474,12 @@ dependencies:
446
474
  description: An opinionated web framework build on web standards
447
475
  email:
448
476
  - davec@thirdtank.com
449
- executables: []
477
+ executables:
478
+ - brut
450
479
  extensions: []
451
480
  extra_rdoc_files: []
452
481
  files:
453
- - ".gitignore"
454
- - ".projections.json"
455
- - CHANGELOG.md
456
- - CODE_OF_CONDUCT.txt
457
- - Dockerfile.dx
458
- - Gemfile
459
- - Gemfile.lock
460
- - LICENSE.txt
461
- - README.md
462
- - Rakefile
463
- - assets/Logo-Square.pxd
464
- - assets/LogoPylon.pxd
465
- - assets/LogoStop.pxd
466
- - assets/LogoTall.pxd
467
- - assets/MetroIcon.graffle
468
- - assets/MetroLogo.graffle
469
- - assets/SocialImage.png
470
- - assets/SocialImage.pxd
471
- - assets/YouTubeThumb.pxd
472
- - bin/bin_kit.rb
473
- - bin/build
474
- - bin/ci
475
- - bin/dev
476
- - bin/docs
477
- - bin/generate-and-run-rubocop
478
- - bin/new-version
479
- - bin/publish
480
- - bin/rake
481
- - bin/rspec
482
- - bin/rubocop
483
- - bin/setup
484
- - bin/test
485
- - brut-css/.nvim.lua
486
- - brut-css/README.md
487
- - brut-css/bin/build
488
- - brut-css/bin/ci
489
- - brut-css/bin/dev
490
- - brut-css/bin/docs
491
- - brut-css/bin/publish
492
- - brut-css/bin/setup
493
- - brut-css/config/media-queries-all.css
494
- - brut-css/config/media-queries-minimal.css
495
- - brut-css/config/postcss.config.cjs
496
- - brut-css/config/pseudo-classes-all.css
497
- - brut-css/dx
498
- - brut-css/package-lock.json
499
- - brut-css/package.json
500
- - brut-css/src/css/appearance.css
501
- - brut-css/src/css/border.css
502
- - brut-css/src/css/colors.css
503
- - brut-css/src/css/dimensions.css
504
- - brut-css/src/css/flex.css
505
- - brut-css/src/css/index.css
506
- - brut-css/src/css/layout.css
507
- - brut-css/src/css/list.css
508
- - brut-css/src/css/positioning.css
509
- - brut-css/src/css/properties/colors.css
510
- - brut-css/src/css/properties/index.css
511
- - brut-css/src/css/properties/spacing.css
512
- - brut-css/src/css/properties/typography.css
513
- - brut-css/src/css/reset.css
514
- - brut-css/src/css/spacing.css
515
- - brut-css/src/css/typography.css
516
- - brut-css/src/css/utils.css
517
- - brut-css/src/docs/1_getting-started/1_overview.md
518
- - brut-css/src/docs/1_getting-started/2_installation.md
519
- - brut-css/src/docs/1_getting-started/3_core-concepts.md
520
- - brut-css/src/docs/1_getting-started/4_simple-example.md
521
- - brut-css/src/docs/1_getting-started/page.html.ejs
522
- - brut-css/src/docs/2_properties/page.html.ejs
523
- - brut-css/src/docs/3_classes/color-demo.html.ejs
524
- - brut-css/src/docs/3_classes/page.html.ejs
525
- - brut-css/src/docs/4_customization/1_design-system.md
526
- - brut-css/src/docs/4_customization/2_breakpoints.md
527
- - brut-css/src/docs/4_customization/3_pseudo-classes.md
528
- - brut-css/src/docs/4_customization/4_advanced-configuration.md
529
- - brut-css/src/docs/4_customization/page.html.ejs
530
- - brut-css/src/docs/docs.css
531
- - brut-css/src/docs/includes/body-and-header.html.ejs
532
- - brut-css/src/docs/includes/footer-and-rest.html.ejs
533
- - brut-css/src/docs/includes/head.html.ejs
534
- - brut-css/src/docs/includes/nav.html.ejs
535
- - brut-css/src/docs/index.html.ejs
536
- - brut-css/src/docs/prism-twilight.min.css
537
- - brut-css/src/js/Logger.js
538
- - brut-css/src/js/build.js
539
- - brut-css/src/js/cli.js
540
- - brut-css/src/js/cli/CLIArgError.js
541
- - brut-css/src/js/cli/Debug.js
542
- - brut-css/src/js/cli/DocsDir.js
543
- - brut-css/src/js/cli/DocsTemplateSourceDir.js
544
- - brut-css/src/js/cli/InputFile.js
545
- - brut-css/src/js/cli/MediaQueryConfigFile.js
546
- - brut-css/src/js/cli/OutputFile.js
547
- - brut-css/src/js/cli/ParsedArg.js
548
- - brut-css/src/js/cli/PathToBrutCSSRoot.js
549
- - brut-css/src/js/cli/PseudoClassConfigFile.js
550
- - brut-css/src/js/docGenerator.js
551
- - brut-css/src/js/mediaQueryConfigParser.js
552
- - brut-css/src/js/post-css-plugins/addMediaQueriesPlugin.js
553
- - brut-css/src/js/post-css-plugins/addPseudoClassesPlugin.js
554
- - brut-css/src/js/post-css-plugins/generateDocumentationPlugin.js
555
- - brut-css/src/js/post-css-plugins/generateDocumentationPlugin/Category.js
556
- - brut-css/src/js/post-css-plugins/generateDocumentationPlugin/DocState.js
557
- - brut-css/src/js/post-css-plugins/generateDocumentationPlugin/Documentable.js
558
- - brut-css/src/js/post-css-plugins/generateDocumentationPlugin/Group.js
559
- - brut-css/src/js/post-css-plugins/generateDocumentationPlugin/ParsedComment.js
560
- - brut-css/src/js/post-css-plugins/generateDocumentationPlugin/Property.js
561
- - brut-css/src/js/post-css-plugins/generateDocumentationPlugin/PropertyCategory.js
562
- - brut-css/src/js/post-css-plugins/generateDocumentationPlugin/PropertyGroup.js
563
- - brut-css/src/js/post-css-plugins/generateDocumentationPlugin/Rule.js
564
- - brut-css/src/js/post-css-plugins/generateDocumentationPlugin/RuleCategory.js
565
- - brut-css/src/js/post-css-plugins/generateDocumentationPlugin/RuleGroup.js
566
- - brut-css/src/js/post-css-plugins/generateDocumentationPlugin/SeeRef.js
567
- - brut-css/src/js/post-css-plugins/generateDocumentationPlugin/SeeURL.js
568
- - brut-css/src/js/post-css-plugins/generateRootCustomPropertiesPlugin.js
569
- - brut-css/src/js/pseudoClassConfigParser.js
570
- - brut-js/.projections.json
571
- - brut-js/README.md
572
- - brut-js/bin/build
573
- - brut-js/bin/ci
574
- - brut-js/bin/docs
575
- - brut-js/bin/publish
576
- - brut-js/bin/setup
577
- - brut-js/docs/README.md
578
- - brut-js/docs/jsdoc-plugins/customElementTag.js
579
- - brut-js/docs/jsdoc-theme/publish.js
580
- - brut-js/docs/jsdoc-theme/static/scripts/linenumber.js
581
- - brut-js/docs/jsdoc-theme/static/scripts/prettify/Apache-License-2.0.txt
582
- - brut-js/docs/jsdoc-theme/static/scripts/prettify/lang-css.js
583
- - brut-js/docs/jsdoc-theme/static/scripts/prettify/prettify.js
584
- - brut-js/docs/jsdoc-theme/static/styles/jsdoc-default.css
585
- - brut-js/docs/jsdoc-theme/static/styles/prettify-jsdoc.css
586
- - brut-js/docs/jsdoc-theme/static/styles/prettify-tomorrow.css
587
- - brut-js/docs/jsdoc-theme/tmpl/augments.tmpl
588
- - brut-js/docs/jsdoc-theme/tmpl/container.tmpl
589
- - brut-js/docs/jsdoc-theme/tmpl/details.tmpl
590
- - brut-js/docs/jsdoc-theme/tmpl/example.tmpl
591
- - brut-js/docs/jsdoc-theme/tmpl/examples.tmpl
592
- - brut-js/docs/jsdoc-theme/tmpl/exceptions.tmpl
593
- - brut-js/docs/jsdoc-theme/tmpl/layout.tmpl
594
- - brut-js/docs/jsdoc-theme/tmpl/mainpage.tmpl
595
- - brut-js/docs/jsdoc-theme/tmpl/members.tmpl
596
- - brut-js/docs/jsdoc-theme/tmpl/method.tmpl
597
- - brut-js/docs/jsdoc-theme/tmpl/modifies.tmpl
598
- - brut-js/docs/jsdoc-theme/tmpl/params.tmpl
599
- - brut-js/docs/jsdoc-theme/tmpl/properties.tmpl
600
- - brut-js/docs/jsdoc-theme/tmpl/returns.tmpl
601
- - brut-js/docs/jsdoc-theme/tmpl/source.tmpl
602
- - brut-js/docs/jsdoc-theme/tmpl/tutorial.tmpl
603
- - brut-js/docs/jsdoc-theme/tmpl/type.tmpl
604
- - brut-js/docs/jsdoc.config.json
605
- - brut-js/docs/package-lock.json
606
- - brut-js/docs/package.json
607
- - brut-js/dx
608
- - brut-js/package-lock.json
609
- - brut-js/package.json
610
- - brut-js/specs/AjaxSubmit.spec.js
611
- - brut-js/specs/Autosubmit.spec.js
612
- - brut-js/specs/ConfirmSubmit.spec.js
613
- - brut-js/specs/ConstraintViolationMessage.spec.js
614
- - brut-js/specs/ConstraintViolationMessages.spec.js
615
- - brut-js/specs/CopyToClipboard.spec.js
616
- - brut-js/specs/Form.spec.js
617
- - brut-js/specs/I18nTranslation.spec.js
618
- - brut-js/specs/LocaleDetection.spec.js
619
- - brut-js/specs/Message.spec.js
620
- - brut-js/specs/SpecHelper.js
621
- - brut-js/specs/Tabs.spec.js
622
- - brut-js/specs/Toast.spec.js
623
- - brut-js/specs/config/asset_metadata.json
624
- - brut-js/src/AjaxSubmit.js
625
- - brut-js/src/Autosubmit.js
626
- - brut-js/src/BaseCustomElement.js
627
- - brut-js/src/ConfirmSubmit.js
628
- - brut-js/src/ConfirmationDialog.js
629
- - brut-js/src/ConstraintViolationMessage.js
630
- - brut-js/src/ConstraintViolationMessages.js
631
- - brut-js/src/CopyToClipboard.js
632
- - brut-js/src/Form.js
633
- - brut-js/src/I18nTranslation.js
634
- - brut-js/src/LocaleDetection.js
635
- - brut-js/src/Logger.js
636
- - brut-js/src/Message.js
637
- - brut-js/src/RichString.js
638
- - brut-js/src/Tabs.js
639
- - brut-js/src/Toast.js
640
- - brut-js/src/Tracing.js
641
- - brut-js/src/appForTestingOnly.js
642
- - brut-js/src/index.js
643
- - brut-js/src/testing/AssetMetadata.js
644
- - brut-js/src/testing/AssetMetadataLoader.js
645
- - brut-js/src/testing/CustomElementTest.js
646
- - brut-js/src/testing/DOMCreator.js
647
- - brut-js/src/testing/index.js
648
- - brut.gemspec
649
- - brutrb.com/.vitepress/config.mjs
650
- - brutrb.com/.vitepress/plugins/jsdocLinker.js
651
- - brutrb.com/.vitepress/plugins/rdocLinker.js
652
- - brutrb.com/.vitepress/theme/custom.css
653
- - brutrb.com/.vitepress/theme/index.js
654
- - brutrb.com/.vitepress/theme/style.css
655
- - brutrb.com/adrs.md
656
- - brutrb.com/ai.md
657
- - brutrb.com/assets.md
658
- - brutrb.com/bin/build
659
- - brutrb.com/bin/deploy
660
- - brutrb.com/bin/dev
661
- - brutrb.com/bin/setup
662
- - brutrb.com/brut-js.md
663
- - brutrb.com/business-logic.md
664
- - brutrb.com/cli.md
665
- - brutrb.com/components.md
666
- - brutrb.com/configuration.md
667
- - brutrb.com/css.md
668
- - brutrb.com/custom-element-tests.md
669
- - brutrb.com/database-access.md
670
- - brutrb.com/database-schema.md
671
- - brutrb.com/deployment.md
672
- - brutrb.com/dev-environment.md
673
- - brutrb.com/dir-structure.md
674
- - brutrb.com/doc-conventions.md
675
- - brutrb.com/dx
676
- - brutrb.com/end-to-end-tests.md
677
- - brutrb.com/features.md
678
- - brutrb.com/flash-and-session.md
679
- - brutrb.com/form-constraints.md
680
- - brutrb.com/forms.md
681
- - brutrb.com/getting-started.md
682
- - brutrb.com/handlers.md
683
- - brutrb.com/hooks.md
684
- - brutrb.com/i18n.md
685
- - brutrb.com/images/DevEnvironment.graffle
686
- - brutrb.com/images/DevEnvironment.png
687
- - brutrb.com/images/LogoPylon.png
688
- - brutrb.com/images/LogoSquare.png
689
- - brutrb.com/images/LogoStop.png
690
- - brutrb.com/images/LogoTall.png
691
- - brutrb.com/images/Makefile
692
- - brutrb.com/images/OverviewMetro.graffle
693
- - brutrb.com/images/OverviewMetro.png
694
- - brutrb.com/images/dev-env-overview.dot
695
- - brutrb.com/images/dev-env-overview.png
696
- - brutrb.com/images/dev-env-protocol.dot
697
- - brutrb.com/images/dev-env-protocol.png
698
- - brutrb.com/images/overview.graffle
699
- - brutrb.com/images/overview.png
700
- - brutrb.com/images/spa.dot
701
- - brutrb.com/images/spa.png
702
- - brutrb.com/images/tutorial/02-confirmation-dialog-browser-element-styled.png
703
- - brutrb.com/images/tutorial/02-confirmation-dialog-browser-element.png
704
- - brutrb.com/images/tutorial/02-confirmation-dialog-browser.png
705
- - brutrb.com/images/tutorial/02-confirmation-flow.graffle
706
- - brutrb.com/images/tutorial/02-confirmation-flow.png
707
- - brutrb.com/images/tutorial/basic-form-with-violations.png
708
- - brutrb.com/images/tutorial/basic-form.png
709
- - brutrb.com/images/tutorial/initial-home-page.png
710
- - brutrb.com/images/tutorial/new-post-editor.png
711
- - brutrb.com/images/tutorial/new-post-home-page.png
712
- - brutrb.com/images/tutorial/styled-form-with-server-side-violations.png
713
- - brutrb.com/images/tutorial/styled-form-with-violations.png
714
- - brutrb.com/images/tutorial/styled-home-page-with-posts.png
715
- - brutrb.com/images/tutorial/styled-home-page.png
716
- - brutrb.com/images/tutorial/welcome-to-brut.png
717
- - brutrb.com/images/workspace-protocol.dot
718
- - brutrb.com/images/workspace-protocol.png
719
- - brutrb.com/index.md
720
- - brutrb.com/instrumentation.md
721
- - brutrb.com/javascript.md
722
- - brutrb.com/jobs.md
723
- - brutrb.com/keyword-injection.md
724
- - brutrb.com/layouts.md
725
- - brutrb.com/lsp.md
726
- - brutrb.com/markdown-examples.md
727
- - brutrb.com/middleware.md
728
- - brutrb.com/overview.md
729
- - brutrb.com/package-lock.json
730
- - brutrb.com/package.json
731
- - brutrb.com/pages.md
732
- - brutrb.com/public/SocialImage.png
733
- - brutrb.com/public/favicon.ico
734
- - brutrb.com/recipes/alternate-layouts.md
735
- - brutrb.com/recipes/authentication.md
736
- - brutrb.com/recipes/custom-flash.md
737
- - brutrb.com/recipes/dev-env-secrets.md
738
- - brutrb.com/recipes/form-errors.md
739
- - brutrb.com/recipes/indexed-forms.md
740
- - brutrb.com/recipes/migrations.md
741
- - brutrb.com/recipes/text-field-component.md
742
- - brutrb.com/roadmap.md
743
- - brutrb.com/routes.md
744
- - brutrb.com/security.md
745
- - brutrb.com/seed-data.md
746
- - brutrb.com/space-time-continuum.md
747
- - brutrb.com/tutorial.md
748
- - brutrb.com/tutorials/01-intro.md
749
- - brutrb.com/tutorials/02-dialog.md
750
- - brutrb.com/unit-tests.md
751
- - brutrb.com/why.md
752
- - docker-compose.dx.yml
753
- - docs-todo.md
754
- - docs/404.html
755
- - docs/CNAME
756
- - docs/SocialImage.png
757
- - docs/adrs.html
758
- - docs/ai.html
759
- - docs/api/Brut.html
760
- - docs/api/Brut/BackEnd.html
761
- - docs/api/Brut/BackEnd/SeedData.html
762
- - docs/api/Brut/BackEnd/Sidekiq.html
763
- - docs/api/Brut/BackEnd/Sidekiq/Middlewares.html
764
- - docs/api/Brut/BackEnd/Sidekiq/Middlewares/Server.html
765
- - docs/api/Brut/BackEnd/Sidekiq/Middlewares/Server/FlushSpans.html
766
- - docs/api/Brut/BackEnd/Validators.html
767
- - docs/api/Brut/BackEnd/Validators/FormValidator.html
768
- - docs/api/Brut/CLI.html
769
- - docs/api/Brut/CLI/App.html
770
- - docs/api/Brut/CLI/AppRunner.html
771
- - docs/api/Brut/CLI/Apps.html
772
- - docs/api/Brut/CLI/Apps/BuildAssets.html
773
- - docs/api/Brut/CLI/Apps/BuildAssets/All.html
774
- - docs/api/Brut/CLI/Apps/BuildAssets/CSS.html
775
- - docs/api/Brut/CLI/Apps/BuildAssets/Images.html
776
- - docs/api/Brut/CLI/Apps/BuildAssets/JS.html
777
- - docs/api/Brut/CLI/Apps/DB.html
778
- - docs/api/Brut/CLI/Apps/DB/Create.html
779
- - docs/api/Brut/CLI/Apps/DB/Drop.html
780
- - docs/api/Brut/CLI/Apps/DB/Migrate.html
781
- - docs/api/Brut/CLI/Apps/DB/NewMigration.html
782
- - docs/api/Brut/CLI/Apps/DB/Rebuild.html
783
- - docs/api/Brut/CLI/Apps/DB/Seed.html
784
- - docs/api/Brut/CLI/Apps/DB/Status.html
785
- - docs/api/Brut/CLI/Apps/DeployBase.html
786
- - docs/api/Brut/CLI/Apps/DeployBase/GitChecks.html
787
- - docs/api/Brut/CLI/Apps/HerokuContainerBasedDeploy.html
788
- - docs/api/Brut/CLI/Apps/HerokuContainerBasedDeploy/Deploy.html
789
- - docs/api/Brut/CLI/Apps/Scaffold.html
790
- - docs/api/Brut/CLI/Apps/Scaffold/Action.html
791
- - docs/api/Brut/CLI/Apps/Scaffold/Action/Route.html
792
- - docs/api/Brut/CLI/Apps/Scaffold/Component.html
793
- - docs/api/Brut/CLI/Apps/Scaffold/CustomElementTest.html
794
- - docs/api/Brut/CLI/Apps/Scaffold/DbModel.html
795
- - docs/api/Brut/CLI/Apps/Scaffold/E2ETest.html
796
- - docs/api/Brut/CLI/Apps/Scaffold/Form.html
797
- - docs/api/Brut/CLI/Apps/Scaffold/Page.html
798
- - docs/api/Brut/CLI/Apps/Scaffold/Page/Route.html
799
- - docs/api/Brut/CLI/Apps/Scaffold/RoutesEditor.html
800
- - docs/api/Brut/CLI/Apps/Scaffold/Test.html
801
- - docs/api/Brut/CLI/Apps/Test.html
802
- - docs/api/Brut/CLI/Apps/Test/Audit.html
803
- - docs/api/Brut/CLI/Apps/Test/E2e.html
804
- - docs/api/Brut/CLI/Apps/Test/JS.html
805
- - docs/api/Brut/CLI/Apps/Test/Run.html
806
- - docs/api/Brut/CLI/Command.html
807
- - docs/api/Brut/CLI/Error.html
808
- - docs/api/Brut/CLI/ExecutionResults.html
809
- - docs/api/Brut/CLI/ExecutionResults/Result.html
810
- - docs/api/Brut/CLI/Executor.html
811
- - docs/api/Brut/CLI/InvalidOption.html
812
- - docs/api/Brut/CLI/Options.html
813
- - docs/api/Brut/CLI/Output.html
814
- - docs/api/Brut/CLI/SystemExecError.html
815
- - docs/api/Brut/FactoryBot.html
816
- - docs/api/Brut/Framework.html
817
- - docs/api/Brut/Framework/App.html
818
- - docs/api/Brut/Framework/Config.html
819
- - docs/api/Brut/Framework/Container.html
820
- - docs/api/Brut/Framework/Error.html
821
- - docs/api/Brut/Framework/Errors.html
822
- - docs/api/Brut/Framework/Errors/AbstractMethod.html
823
- - docs/api/Brut/Framework/Errors/Bug.html
824
- - docs/api/Brut/Framework/Errors/MissingConfiguration.html
825
- - docs/api/Brut/Framework/Errors/MissingParameter.html
826
- - docs/api/Brut/Framework/Errors/NoClassForPath.html
827
- - docs/api/Brut/Framework/Errors/NotFound.html
828
- - docs/api/Brut/Framework/Errors/NotImplemented.html
829
- - docs/api/Brut/Framework/FussyTypeEnforcement.html
830
- - docs/api/Brut/Framework/MCP.html
831
- - docs/api/Brut/Framework/ProjectEnvironment.html
832
- - docs/api/Brut/FrontEnd.html
833
- - docs/api/Brut/FrontEnd/AssetPathResolver.html
834
- - docs/api/Brut/FrontEnd/Component.html
835
- - docs/api/Brut/FrontEnd/Component/Helpers.html
836
- - docs/api/Brut/FrontEnd/Components.html
837
- - docs/api/Brut/FrontEnd/Components/ConstraintViolations.html
838
- - docs/api/Brut/FrontEnd/Components/FormTag.html
839
- - docs/api/Brut/FrontEnd/Components/I18nTranslations.html
840
- - docs/api/Brut/FrontEnd/Components/Input.html
841
- - docs/api/Brut/FrontEnd/Components/Inputs.html
842
- - docs/api/Brut/FrontEnd/Components/Inputs/ButtonTag.html
843
- - docs/api/Brut/FrontEnd/Components/Inputs/CsrfToken.html
844
- - docs/api/Brut/FrontEnd/Components/Inputs/InputTag.html
845
- - docs/api/Brut/FrontEnd/Components/Inputs/RadioButton.html
846
- - docs/api/Brut/FrontEnd/Components/Inputs/SelectTagWithOptions.html
847
- - docs/api/Brut/FrontEnd/Components/Inputs/TextareaTag.html
848
- - docs/api/Brut/FrontEnd/Components/LocaleDetection.html
849
- - docs/api/Brut/FrontEnd/Components/PageIdentifier.html
850
- - docs/api/Brut/FrontEnd/Components/TimeTag.html
851
- - docs/api/Brut/FrontEnd/Components/Traceparent.html
852
- - docs/api/Brut/FrontEnd/CsrfProtector.html
853
- - docs/api/Brut/FrontEnd/Download.html
854
- - docs/api/Brut/FrontEnd/Flash.html
855
- - docs/api/Brut/FrontEnd/Form.html
856
- - docs/api/Brut/FrontEnd/Forms.html
857
- - docs/api/Brut/FrontEnd/Forms/Button.html
858
- - docs/api/Brut/FrontEnd/Forms/ButtonInputDefinition.html
859
- - docs/api/Brut/FrontEnd/Forms/ConstraintViolation.html
860
- - docs/api/Brut/FrontEnd/Forms/Input.html
861
- - docs/api/Brut/FrontEnd/Forms/Input/Color.html
862
- - docs/api/Brut/FrontEnd/Forms/Input/TimeOfDay.html
863
- - docs/api/Brut/FrontEnd/Forms/InputDeclarations.html
864
- - docs/api/Brut/FrontEnd/Forms/InputDefinition.html
865
- - docs/api/Brut/FrontEnd/Forms/RadioButtonGroupInput.html
866
- - docs/api/Brut/FrontEnd/Forms/RadioButtonGroupInputDefinition.html
867
- - docs/api/Brut/FrontEnd/Forms/SelectInput.html
868
- - docs/api/Brut/FrontEnd/Forms/SelectInputDefinition.html
869
- - docs/api/Brut/FrontEnd/Forms/ValidityState.html
870
- - docs/api/Brut/FrontEnd/GenericResponse.html
871
- - docs/api/Brut/FrontEnd/Handler.html
872
- - docs/api/Brut/FrontEnd/Handlers.html
873
- - docs/api/Brut/FrontEnd/Handlers/CspReportingHandler.html
874
- - docs/api/Brut/FrontEnd/Handlers/InstrumentationHandler.html
875
- - docs/api/Brut/FrontEnd/Handlers/InstrumentationHandler/TraceParent.html
876
- - docs/api/Brut/FrontEnd/Handlers/LocaleDetectionHandler.html
877
- - docs/api/Brut/FrontEnd/Handlers/MissingHandler.html
878
- - docs/api/Brut/FrontEnd/Handlers/MissingHandler/Form.html
879
- - docs/api/Brut/FrontEnd/HandlingResults.html
880
- - docs/api/Brut/FrontEnd/HttpMethod.html
881
- - docs/api/Brut/FrontEnd/HttpStatus.html
882
- - docs/api/Brut/FrontEnd/InlineSvgLocator.html
883
- - docs/api/Brut/FrontEnd/Layout.html
884
- - docs/api/Brut/FrontEnd/Middleware.html
885
- - docs/api/Brut/FrontEnd/Middlewares.html
886
- - docs/api/Brut/FrontEnd/Middlewares/AnnotateBrutOwnedPaths.html
887
- - docs/api/Brut/FrontEnd/Middlewares/Favicon.html
888
- - docs/api/Brut/FrontEnd/Middlewares/OpenTelemetrySpan.html
889
- - docs/api/Brut/FrontEnd/Middlewares/ReloadApp.html
890
- - docs/api/Brut/FrontEnd/Page.html
891
- - docs/api/Brut/FrontEnd/Pages.html
892
- - docs/api/Brut/FrontEnd/Pages/MissingPage.html
893
- - docs/api/Brut/FrontEnd/RequestContext.html
894
- - docs/api/Brut/FrontEnd/RouteHook.html
895
- - docs/api/Brut/FrontEnd/RouteHooks.html
896
- - docs/api/Brut/FrontEnd/RouteHooks/AgeFlash.html
897
- - docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineScripts.html
898
- - docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineStylesOrScripts.html
899
- - docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineStylesOrScripts/ReportOnly.html
900
- - docs/api/Brut/FrontEnd/RouteHooks/LocaleDetection.html
901
- - docs/api/Brut/FrontEnd/RouteHooks/SetupRequestContext.html
902
- - docs/api/Brut/FrontEnd/Routing.html
903
- - docs/api/Brut/FrontEnd/Routing/FormHandlerRoute.html
904
- - docs/api/Brut/FrontEnd/Routing/FormRoute.html
905
- - docs/api/Brut/FrontEnd/Routing/MissingForm.html
906
- - docs/api/Brut/FrontEnd/Routing/MissingHandler.html
907
- - docs/api/Brut/FrontEnd/Routing/MissingPage.html
908
- - docs/api/Brut/FrontEnd/Routing/MissingPath.html
909
- - docs/api/Brut/FrontEnd/Routing/PageRoute.html
910
- - docs/api/Brut/FrontEnd/Routing/Route.html
911
- - docs/api/Brut/FrontEnd/Session.html
912
- - docs/api/Brut/I18n.html
913
- - docs/api/Brut/I18n/BaseMethods.html
914
- - docs/api/Brut/I18n/ForBackEnd.html
915
- - docs/api/Brut/I18n/ForCLI.html
916
- - docs/api/Brut/I18n/ForHTML.html
917
- - docs/api/Brut/I18n/HTTPAcceptLanguage.html
918
- - docs/api/Brut/I18n/HTTPAcceptLanguage/AlwaysEnglish.html
919
- - docs/api/Brut/Instrumentation.html
920
- - docs/api/Brut/Instrumentation/LoggerSpanExporter.html
921
- - docs/api/Brut/Instrumentation/Methods.html
922
- - docs/api/Brut/Instrumentation/Methods/ClassMethods.html
923
- - docs/api/Brut/Instrumentation/OpenTelemetry.html
924
- - docs/api/Brut/Instrumentation/OpenTelemetry/NormalizedAttributes.html
925
- - docs/api/Brut/Instrumentation/OpenTelemetry/Span.html
926
- - docs/api/Brut/RubocopConfig.html
927
- - docs/api/Brut/SinatraHelpers.html
928
- - docs/api/Brut/SinatraHelpers/ClassMethods.html
929
- - docs/api/Brut/SpecSupport.html
930
- - docs/api/Brut/SpecSupport/ClockSupport.html
931
- - docs/api/Brut/SpecSupport/ComponentSupport.html
932
- - docs/api/Brut/SpecSupport/E2ETestServer.html
933
- - docs/api/Brut/SpecSupport/E2eSupport.html
934
- - docs/api/Brut/SpecSupport/EnhancedNode.html
935
- - docs/api/Brut/SpecSupport/FlashSupport.html
936
- - docs/api/Brut/SpecSupport/GeneralSupport.html
937
- - docs/api/Brut/SpecSupport/GeneralSupport/ClassMethods.html
938
- - docs/api/Brut/SpecSupport/HandlerSupport.html
939
- - docs/api/Brut/SpecSupport/Matchers.html
940
- - docs/api/Brut/SpecSupport/Matchers/BeABug.html
941
- - docs/api/Brut/SpecSupport/Matchers/BePageFor.html
942
- - docs/api/Brut/SpecSupport/Matchers/BeRoutingFor.html
943
- - docs/api/Brut/SpecSupport/Matchers/HaveConstraintViolation.html
944
- - docs/api/Brut/SpecSupport/Matchers/HaveGenerated.html
945
- - docs/api/Brut/SpecSupport/Matchers/HaveHTMLAttribute.html
946
- - docs/api/Brut/SpecSupport/Matchers/HaveI18nString.html
947
- - docs/api/Brut/SpecSupport/Matchers/HaveLinkTo.html
948
- - docs/api/Brut/SpecSupport/Matchers/HaveRedirectedTo.html
949
- - docs/api/Brut/SpecSupport/Matchers/HaveReturnedHttpStatus.html
950
- - docs/api/Brut/SpecSupport/Matchers/HaveReturnedRackResponse.html
951
- - docs/api/Brut/SpecSupport/RSpecSetup.html
952
- - docs/api/Brut/SpecSupport/RSpecSetup/OptionalSidekiqSupport.html
953
- - docs/api/Brut/SpecSupport/SessionSupport.html
954
- - docs/api/Brut/TUI.html
955
- - docs/api/Brut/TUI/AnsiEscapeCode.html
956
- - docs/api/Brut/TUI/AnsiEscapeCode/Mod.html
957
- - docs/api/Brut/TUI/EventLoop.html
958
- - docs/api/Brut/TUI/EventLoop/Deque.html
959
- - docs/api/Brut/TUI/Events.html
960
- - docs/api/Brut/TUI/Events/BaseEvent.html
961
- - docs/api/Brut/TUI/Events/EventBus.html
962
- - docs/api/Brut/TUI/Events/EventLoopStarted.html
963
- - docs/api/Brut/TUI/Events/Exception.html
964
- - docs/api/Brut/TUI/Events/Tick.html
965
- - docs/api/Brut/TUI/MarkupString.html
966
- - docs/api/Brut/TUI/Script.html
967
- - docs/api/Brut/TUI/Script/BlockStep.html
968
- - docs/api/Brut/TUI/Script/Events.html
969
- - docs/api/Brut/TUI/Script/Events/CommandExecutionFailed.html
970
- - docs/api/Brut/TUI/Script/Events/CommandExecutionSucceeded.html
971
- - docs/api/Brut/TUI/Script/Events/CommandStdErr.html
972
- - docs/api/Brut/TUI/Script/Events/CommandStdOut.html
973
- - docs/api/Brut/TUI/Script/Events/ExecutingCommand.html
974
- - docs/api/Brut/TUI/Script/Events/Message.html
975
- - docs/api/Brut/TUI/Script/Events/PhaseCompleted.html
976
- - docs/api/Brut/TUI/Script/Events/PhaseStarted.html
977
- - docs/api/Brut/TUI/Script/Events/ScriptCompleted.html
978
- - docs/api/Brut/TUI/Script/Events/ScriptStarted.html
979
- - docs/api/Brut/TUI/Script/Events/StepCompleted.html
980
- - docs/api/Brut/TUI/Script/Events/StepStarted.html
981
- - docs/api/Brut/TUI/Script/ExecStep.html
982
- - docs/api/Brut/TUI/Script/ExecStep/ProcessStatusFailed.html
983
- - docs/api/Brut/TUI/Script/LoggingSubscriber.html
984
- - docs/api/Brut/TUI/Script/PutsSubscriber.html
985
- - docs/api/Brut/TUI/Script/Step.html
986
- - docs/api/Brut/TUI/Terminal.html
987
- - docs/api/Brut/TUI/TerminalTheme.html
988
- - docs/api/Brut/TUI/Themes.html
989
- - docs/api/Brut/TUI/Themes/Dark.html
990
- - docs/api/Brut/TUI/Themes/Light.html
991
- - docs/api/Brut/TUI/Themes/None.html
992
- - docs/api/Clock.html
993
- - docs/api/ModuleName.html
994
- - docs/api/RichString.html
995
- - docs/api/SemanticLogger/Appender/Async.html
996
- - docs/api/Sequel.html
997
- - docs/api/Sequel/Extensions.html
998
- - docs/api/Sequel/Extensions/BrutInstrumentation.html
999
- - docs/api/Sequel/Extensions/BrutMigrations.html
1000
- - docs/api/Sequel/Plugins.html
1001
- - docs/api/Sequel/Plugins/CreatedAt.html
1002
- - docs/api/Sequel/Plugins/CreatedAt/InstanceMethods.html
1003
- - docs/api/Sequel/Plugins/ExternalId.html
1004
- - docs/api/Sequel/Plugins/ExternalId/ClassMethods.html
1005
- - docs/api/Sequel/Plugins/ExternalId/InstanceMethods.html
1006
- - docs/api/Sequel/Plugins/FindBang.html
1007
- - docs/api/Sequel/Plugins/FindBang/ClassMethods.html
1008
- - docs/api/SpecSupport/Matchers/BeABug.html
1009
- - docs/api/_index.html
1010
- - docs/api/class_list.html
1011
- - docs/api/css/common.css
1012
- - docs/api/css/full_list.css
1013
- - docs/api/css/style.css
1014
- - docs/api/file.README.html
1015
- - docs/api/file_list.html
1016
- - docs/api/frames.html
1017
- - docs/api/index.html
1018
- - docs/api/js/app.js
1019
- - docs/api/js/full_list.js
1020
- - docs/api/js/jquery.js
1021
- - docs/api/method_list.html
1022
- - docs/api/top-level-namespace.html
1023
- - docs/assets.html
1024
- - docs/assets/02-confirmation-dialog-browser-element-styled.3NEGM20-.png
1025
- - docs/assets/02-confirmation-dialog-browser-element.DPsf0xUW.png
1026
- - docs/assets/02-confirmation-dialog-browser.DH8ALFO4.png
1027
- - docs/assets/02-confirmation-flow.D9gZ0S5U.png
1028
- - docs/assets/DevEnvironment.DaFcVfwP.png
1029
- - docs/assets/LogoStop.Gb3tDhL1.png
1030
- - docs/assets/OverviewMetro.DUS-5fUZ.png
1031
- - docs/assets/adrs.md.YglbWtQe.js
1032
- - docs/assets/adrs.md.YglbWtQe.lean.js
1033
- - docs/assets/ai.md.ChLnvDAX.js
1034
- - docs/assets/ai.md.ChLnvDAX.lean.js
1035
- - docs/assets/app.B8jAEB7R.js
1036
- - docs/assets/assets.md.BEF6Oz6K.js
1037
- - docs/assets/assets.md.BEF6Oz6K.lean.js
1038
- - docs/assets/basic-form-with-violations.Cv6Y9-Q_.png
1039
- - docs/assets/basic-form.DbHnu0oW.png
1040
- - docs/assets/brut-js.md.BMz0X1Rz.js
1041
- - docs/assets/brut-js.md.BMz0X1Rz.lean.js
1042
- - docs/assets/business-logic.md.DbuaOYGU.js
1043
- - docs/assets/business-logic.md.DbuaOYGU.lean.js
1044
- - docs/assets/chunks/@localSearchIndexroot.DJ8mocCj.js
1045
- - docs/assets/chunks/VPLocalSearchBox.gF-Po_fz.js
1046
- - docs/assets/chunks/framework.C4nOkCZI.js
1047
- - docs/assets/chunks/theme.BjPAOJkz.js
1048
- - docs/assets/cli.md.DDMar_51.js
1049
- - docs/assets/cli.md.DDMar_51.lean.js
1050
- - docs/assets/components.md.Ber8UBM0.js
1051
- - docs/assets/components.md.Ber8UBM0.lean.js
1052
- - docs/assets/configuration.md.DrJ6YVoZ.js
1053
- - docs/assets/configuration.md.DrJ6YVoZ.lean.js
1054
- - docs/assets/css.md.K5rOCOQY.js
1055
- - docs/assets/css.md.K5rOCOQY.lean.js
1056
- - docs/assets/custom-element-tests.md.DiLe-eFw.js
1057
- - docs/assets/custom-element-tests.md.DiLe-eFw.lean.js
1058
- - docs/assets/database-access.md.Dc8l2Plf.js
1059
- - docs/assets/database-access.md.Dc8l2Plf.lean.js
1060
- - docs/assets/database-schema.md.BJ_JhXmO.js
1061
- - docs/assets/database-schema.md.BJ_JhXmO.lean.js
1062
- - docs/assets/deployment.md.CHTx2eTR.js
1063
- - docs/assets/deployment.md.CHTx2eTR.lean.js
1064
- - docs/assets/dev-env-protocol.DysDAtnz.png
1065
- - docs/assets/dev-environment.md.B1S9p5ZK.js
1066
- - docs/assets/dev-environment.md.B1S9p5ZK.lean.js
1067
- - docs/assets/dir-structure.md.D1T2kGwj.js
1068
- - docs/assets/dir-structure.md.D1T2kGwj.lean.js
1069
- - docs/assets/doc-conventions.md.CDnWaEFg.js
1070
- - docs/assets/doc-conventions.md.CDnWaEFg.lean.js
1071
- - docs/assets/end-to-end-tests.md.BJJdNDYL.js
1072
- - docs/assets/end-to-end-tests.md.BJJdNDYL.lean.js
1073
- - docs/assets/features.md.BDWxnyNO.js
1074
- - docs/assets/features.md.BDWxnyNO.lean.js
1075
- - docs/assets/flash-and-session.md.CUsMxoNl.js
1076
- - docs/assets/flash-and-session.md.CUsMxoNl.lean.js
1077
- - docs/assets/form-constraints.md.KlfXSKm2.js
1078
- - docs/assets/form-constraints.md.KlfXSKm2.lean.js
1079
- - docs/assets/forms.md.RK0zkhm0.js
1080
- - docs/assets/forms.md.RK0zkhm0.lean.js
1081
- - docs/assets/getting-started.md.CGJ44juQ.js
1082
- - docs/assets/getting-started.md.CGJ44juQ.lean.js
1083
- - docs/assets/handlers.md.C5tUwmmo.js
1084
- - docs/assets/handlers.md.C5tUwmmo.lean.js
1085
- - docs/assets/hooks.md.CoiYCKRc.js
1086
- - docs/assets/hooks.md.CoiYCKRc.lean.js
1087
- - docs/assets/i18n.md.DxkCKhUw.js
1088
- - docs/assets/i18n.md.DxkCKhUw.lean.js
1089
- - docs/assets/index.md.DnphWyQd.js
1090
- - docs/assets/index.md.DnphWyQd.lean.js
1091
- - docs/assets/initial-home-page.DNIaYmgP.png
1092
- - docs/assets/instrumentation.md.BcxjC4jd.js
1093
- - docs/assets/instrumentation.md.BcxjC4jd.lean.js
1094
- - docs/assets/javascript.md.D6fxhaQb.js
1095
- - docs/assets/javascript.md.D6fxhaQb.lean.js
1096
- - docs/assets/jobs.md.Bi3qb3v6.js
1097
- - docs/assets/jobs.md.Bi3qb3v6.lean.js
1098
- - docs/assets/keyword-injection.md.CqLnnzIz.js
1099
- - docs/assets/keyword-injection.md.CqLnnzIz.lean.js
1100
- - docs/assets/layouts.md.HEbeK7Jr.js
1101
- - docs/assets/layouts.md.HEbeK7Jr.lean.js
1102
- - docs/assets/lsp.md.bE9dW8n9.js
1103
- - docs/assets/lsp.md.bE9dW8n9.lean.js
1104
- - docs/assets/markdown-examples.md.BPmtHlc-.js
1105
- - docs/assets/markdown-examples.md.BPmtHlc-.lean.js
1106
- - docs/assets/middleware.md.BhOIsg59.js
1107
- - docs/assets/middleware.md.BhOIsg59.lean.js
1108
- - docs/assets/new-post-editor.DrHr-5oh.png
1109
- - docs/assets/new-post-home-page.Bm34lyMg.png
1110
- - docs/assets/overview.md.BpWAgPFH.js
1111
- - docs/assets/overview.md.BpWAgPFH.lean.js
1112
- - docs/assets/pages.md.B3sQXpEd.js
1113
- - docs/assets/pages.md.B3sQXpEd.lean.js
1114
- - docs/assets/recipes_alternate-layouts.md.C1QzVkA7.js
1115
- - docs/assets/recipes_alternate-layouts.md.C1QzVkA7.lean.js
1116
- - docs/assets/recipes_authentication.md.CyvoIW82.js
1117
- - docs/assets/recipes_authentication.md.CyvoIW82.lean.js
1118
- - docs/assets/recipes_custom-flash.md.6gFqf2uL.js
1119
- - docs/assets/recipes_custom-flash.md.6gFqf2uL.lean.js
1120
- - docs/assets/recipes_dev-env-secrets.md.DC_jVY9U.js
1121
- - docs/assets/recipes_dev-env-secrets.md.DC_jVY9U.lean.js
1122
- - docs/assets/recipes_form-errors.md.B5ptSzMO.js
1123
- - docs/assets/recipes_form-errors.md.B5ptSzMO.lean.js
1124
- - docs/assets/recipes_indexed-forms.md.BYYQGW2C.js
1125
- - docs/assets/recipes_indexed-forms.md.BYYQGW2C.lean.js
1126
- - docs/assets/recipes_migrations.md.Cid7-3cu.js
1127
- - docs/assets/recipes_migrations.md.Cid7-3cu.lean.js
1128
- - docs/assets/recipes_text-field-component.md.VhOsCtKI.js
1129
- - docs/assets/recipes_text-field-component.md.VhOsCtKI.lean.js
1130
- - docs/assets/roadmap.md.DqC1Y7Zt.js
1131
- - docs/assets/roadmap.md.DqC1Y7Zt.lean.js
1132
- - docs/assets/routes.md.C1dgIBtD.js
1133
- - docs/assets/routes.md.C1dgIBtD.lean.js
1134
- - docs/assets/security.md.Jn4SY1uK.js
1135
- - docs/assets/security.md.Jn4SY1uK.lean.js
1136
- - docs/assets/seed-data.md.UZW0WxYN.js
1137
- - docs/assets/seed-data.md.UZW0WxYN.lean.js
1138
- - docs/assets/spa.qejUdp-5.png
1139
- - docs/assets/space-time-continuum.md.D9rYGDFH.js
1140
- - docs/assets/space-time-continuum.md.D9rYGDFH.lean.js
1141
- - docs/assets/style.B1z60PPQ.css
1142
- - docs/assets/styled-form-with-server-side-violations.Bjxd8Dpv.png
1143
- - docs/assets/styled-form-with-violations.Bv_sa9tg.png
1144
- - docs/assets/styled-home-page-with-posts.Dd4kG89D.png
1145
- - docs/assets/styled-home-page.BzdI7dWz.png
1146
- - docs/assets/tutorial.md.BX6f6l00.js
1147
- - docs/assets/tutorial.md.BX6f6l00.lean.js
1148
- - docs/assets/tutorials_01-intro.md.CzZ3kpF_.js
1149
- - docs/assets/tutorials_01-intro.md.CzZ3kpF_.lean.js
1150
- - docs/assets/tutorials_02-dialog.md.DE5WfCXI.js
1151
- - docs/assets/tutorials_02-dialog.md.DE5WfCXI.lean.js
1152
- - docs/assets/unit-tests.md.vDsdBbO_.js
1153
- - docs/assets/unit-tests.md.vDsdBbO_.lean.js
1154
- - docs/assets/welcome-to-brut.VSWzl17-.png
1155
- - docs/assets/why.md.4WpxdrQ2.js
1156
- - docs/assets/why.md.4WpxdrQ2.lean.js
1157
- - docs/assets/workspace-protocol.C0gXsoDb.png
1158
- - docs/brut-css/brut.css
1159
- - docs/brut-css/brut.max.css
1160
- - docs/brut-css/classes/appearances.html
1161
- - docs/brut-css/classes/background-colors.html
1162
- - docs/brut-css/classes/border-colors.html
1163
- - docs/brut-css/classes/borders.html
1164
- - docs/brut-css/classes/dimensions.html
1165
- - docs/brut-css/classes/flex.html
1166
- - docs/brut-css/classes/foreground-colors.html
1167
- - docs/brut-css/classes/junk-drawer.html
1168
- - docs/brut-css/classes/layout.html
1169
- - docs/brut-css/classes/lists.html
1170
- - docs/brut-css/classes/positioning.html
1171
- - docs/brut-css/classes/spacings.html
1172
- - docs/brut-css/classes/typography.html
1173
- - docs/brut-css/customization/advanced-configuration.html
1174
- - docs/brut-css/customization/breakpoints.html
1175
- - docs/brut-css/customization/design-system.html
1176
- - docs/brut-css/customization/pseudo-classes.html
1177
- - docs/brut-css/docs.css
1178
- - docs/brut-css/getting-started/core-concepts.html
1179
- - docs/brut-css/getting-started/installation.html
1180
- - docs/brut-css/getting-started/overview.html
1181
- - docs/brut-css/getting-started/simple-example.html
1182
- - docs/brut-css/index.html
1183
- - docs/brut-css/prism-twilight.min.css
1184
- - docs/brut-css/properties/colors.html
1185
- - docs/brut-css/properties/spacings.html
1186
- - docs/brut-css/properties/typography.html
1187
- - docs/brut-js.html
1188
- - docs/brut-js/api/AjaxSubmit.html
1189
- - docs/brut-js/api/AjaxSubmit.js.html
1190
- - docs/brut-js/api/Autosubmit.html
1191
- - docs/brut-js/api/Autosubmit.js.html
1192
- - docs/brut-js/api/BaseCustomElement.html
1193
- - docs/brut-js/api/BaseCustomElement.js.html
1194
- - docs/brut-js/api/BrutCustomElements.html
1195
- - docs/brut-js/api/BufferedLogger.html
1196
- - docs/brut-js/api/ConfirmSubmit.html
1197
- - docs/brut-js/api/ConfirmSubmit.js.html
1198
- - docs/brut-js/api/ConfirmationDialog.html
1199
- - docs/brut-js/api/ConfirmationDialog.js.html
1200
- - docs/brut-js/api/ConstraintViolationMessage.html
1201
- - docs/brut-js/api/ConstraintViolationMessage.js.html
1202
- - docs/brut-js/api/ConstraintViolationMessages.html
1203
- - docs/brut-js/api/ConstraintViolationMessages.js.html
1204
- - docs/brut-js/api/CopyToClipboard.html
1205
- - docs/brut-js/api/CopyToClipboard.js.html
1206
- - docs/brut-js/api/Form.html
1207
- - docs/brut-js/api/Form.js.html
1208
- - docs/brut-js/api/I18nTranslation.html
1209
- - docs/brut-js/api/I18nTranslation.js.html
1210
- - docs/brut-js/api/LocaleDetection.html
1211
- - docs/brut-js/api/LocaleDetection.js.html
1212
- - docs/brut-js/api/Logger.html
1213
- - docs/brut-js/api/Logger.js.html
1214
- - docs/brut-js/api/Message.html
1215
- - docs/brut-js/api/Message.js.html
1216
- - docs/brut-js/api/PrefixedLogger.html
1217
- - docs/brut-js/api/RichString.html
1218
- - docs/brut-js/api/RichString.js.html
1219
- - docs/brut-js/api/Tabs.html
1220
- - docs/brut-js/api/Tabs.js.html
1221
- - docs/brut-js/api/Toast.html
1222
- - docs/brut-js/api/Toast.js.html
1223
- - docs/brut-js/api/Tracing.html
1224
- - docs/brut-js/api/Tracing.js.html
1225
- - docs/brut-js/api/external-CustomElementRegistry.html
1226
- - docs/brut-js/api/external-Performance.html
1227
- - docs/brut-js/api/external-Promise.html
1228
- - docs/brut-js/api/external-ValidityState.html
1229
- - docs/brut-js/api/external-Window.html
1230
- - docs/brut-js/api/external-fetch.html
1231
- - docs/brut-js/api/global.html
1232
- - docs/brut-js/api/index.html
1233
- - docs/brut-js/api/index.js.html
1234
- - docs/brut-js/api/module-testing.html
1235
- - docs/brut-js/api/scripts/linenumber.js
1236
- - docs/brut-js/api/scripts/prettify/Apache-License-2.0.txt
1237
- - docs/brut-js/api/scripts/prettify/lang-css.js
1238
- - docs/brut-js/api/scripts/prettify/prettify.js
1239
- - docs/brut-js/api/styles/jsdoc-default.css
1240
- - docs/brut-js/api/styles/prettify-jsdoc.css
1241
- - docs/brut-js/api/styles/prettify-tomorrow.css
1242
- - docs/brut-js/api/testing.AssetMetadata.html
1243
- - docs/brut-js/api/testing.AssetMetadataLoader.html
1244
- - docs/brut-js/api/testing.CustomElementTest.html
1245
- - docs/brut-js/api/testing.DOMCreator.html
1246
- - docs/brut-js/api/testing_AssetMetadata.js.html
1247
- - docs/brut-js/api/testing_AssetMetadataLoader.js.html
1248
- - docs/brut-js/api/testing_CustomElementTest.js.html
1249
- - docs/brut-js/api/testing_DOMCreator.js.html
1250
- - docs/brut-js/api/testing_index.js.html
1251
- - docs/business-logic.html
1252
- - docs/cli.html
1253
- - docs/components.html
1254
- - docs/configuration.html
1255
- - docs/css.html
1256
- - docs/custom-element-tests.html
1257
- - docs/database-access.html
1258
- - docs/database-schema.html
1259
- - docs/deployment.html
1260
- - docs/dev-environment.html
1261
- - docs/dir-structure.html
1262
- - docs/doc-conventions.html
1263
- - docs/end-to-end-tests.html
1264
- - docs/favicon.ico
1265
- - docs/features.html
1266
- - docs/flash-and-session.html
1267
- - docs/form-constraints.html
1268
- - docs/forms.html
1269
- - docs/getting-started.html
1270
- - docs/handlers.html
1271
- - docs/hashmap.json
1272
- - docs/hooks.html
1273
- - docs/i18n.html
1274
- - docs/index.html
1275
- - docs/instrumentation.html
1276
- - docs/javascript.html
1277
- - docs/jobs.html
1278
- - docs/keyword-injection.html
1279
- - docs/layouts.html
1280
- - docs/lsp.html
1281
- - docs/markdown-examples.html
1282
- - docs/middleware.html
1283
- - docs/overview.html
1284
- - docs/pages.html
1285
- - docs/recipes/alternate-layouts.html
1286
- - docs/recipes/authentication.html
1287
- - docs/recipes/custom-flash.html
1288
- - docs/recipes/dev-env-secrets.html
1289
- - docs/recipes/form-errors.html
1290
- - docs/recipes/indexed-forms.html
1291
- - docs/recipes/migrations.html
1292
- - docs/recipes/text-field-component.html
1293
- - docs/roadmap.html
1294
- - docs/routes.html
1295
- - docs/security.html
1296
- - docs/seed-data.html
1297
- - docs/space-time-continuum.html
1298
- - docs/tutorial.html
1299
- - docs/tutorials/01-intro.html
1300
- - docs/tutorials/02-dialog.html
1301
- - docs/unit-tests.html
1302
- - docs/vp-icons.css
1303
- - docs/why.html
1304
- - dx/bash_customizations
1305
- - dx/build
1306
- - dx/build.pre
1307
- - dx/docker-compose.env
1308
- - dx/dx.sh.lib
1309
- - dx/exec
1310
- - dx/prune
1311
- - dx/setupkit.sh.lib
1312
- - dx/show-help-in-app-container-then-wait.sh
1313
- - dx/start
1314
- - dx/stop
482
+ - exe/brut
1315
483
  - lib/brut.rb
1316
484
  - lib/brut/back_end.rb
1317
485
  - lib/brut/back_end/seed_data.rb
@@ -1322,20 +490,62 @@ files:
1322
490
  - lib/brut/back_end/validator.rb
1323
491
  - lib/brut/back_end/validators/form_validator.rb
1324
492
  - lib/brut/cli.rb
1325
- - lib/brut/cli/app.rb
1326
- - lib/brut/cli/app_runner.rb
1327
493
  - lib/brut/cli/apps/build_assets.rb
1328
494
  - lib/brut/cli/apps/db.rb
495
+ - lib/brut/cli/apps/deploy.rb
1329
496
  - lib/brut/cli/apps/deploy_base.rb
1330
497
  - lib/brut/cli/apps/heroku_container_based_deploy.rb
498
+ - lib/brut/cli/apps/new.rb
499
+ - lib/brut/cli/apps/new/add_segment.rb
500
+ - lib/brut/cli/apps/new/add_segment_options.rb
501
+ - lib/brut/cli/apps/new/app.rb
502
+ - lib/brut/cli/apps/new/app_id.rb
503
+ - lib/brut/cli/apps/new/app_name.rb
504
+ - lib/brut/cli/apps/new/base.rb
505
+ - lib/brut/cli/apps/new/erb_binding_delegate.rb
506
+ - lib/brut/cli/apps/new/internet_identifier.rb
507
+ - lib/brut/cli/apps/new/invalid_identifier.rb
508
+ - lib/brut/cli/apps/new/old_app.rb
509
+ - lib/brut/cli/apps/new/ops.rb
510
+ - lib/brut/cli/apps/new/ops/add_css_import.rb
511
+ - lib/brut/cli/apps/new/ops/add_i18n_message.rb
512
+ - lib/brut/cli/apps/new/ops/add_method.rb
513
+ - lib/brut/cli/apps/new/ops/append_to_file.rb
514
+ - lib/brut/cli/apps/new/ops/base_op.rb
515
+ - lib/brut/cli/apps/new/ops/copy_file.rb
516
+ - lib/brut/cli/apps/new/ops/insert_code_in_method.rb
517
+ - lib/brut/cli/apps/new/ops/insert_into_file.rb
518
+ - lib/brut/cli/apps/new/ops/insert_route.rb
519
+ - lib/brut/cli/apps/new/ops/mkdir.rb
520
+ - lib/brut/cli/apps/new/ops/prism_parsing_op.rb
521
+ - lib/brut/cli/apps/new/ops/render_template.rb
522
+ - lib/brut/cli/apps/new/ops/skip_file.rb
523
+ - lib/brut/cli/apps/new/organization.rb
524
+ - lib/brut/cli/apps/new/prefix.rb
525
+ - lib/brut/cli/apps/new/prefixed_io.rb
526
+ - lib/brut/cli/apps/new/segments.rb
527
+ - lib/brut/cli/apps/new/segments/bare_bones.rb
528
+ - lib/brut/cli/apps/new/segments/demo.rb
529
+ - lib/brut/cli/apps/new/segments/heroku.rb
530
+ - lib/brut/cli/apps/new/segments/sidekiq.rb
531
+ - lib/brut/cli/apps/new/version.rb
532
+ - lib/brut/cli/apps/new/versions.rb
1331
533
  - lib/brut/cli/apps/scaffold.rb
1332
534
  - lib/brut/cli/apps/test.rb
1333
- - lib/brut/cli/command.rb
535
+ - lib/brut/cli/commands.rb
536
+ - lib/brut/cli/commands/base_command.rb
537
+ - lib/brut/cli/commands/compound_command.rb
538
+ - lib/brut/cli/commands/execution_context.rb
539
+ - lib/brut/cli/commands/help.rb
540
+ - lib/brut/cli/commands/output_error.rb
541
+ - lib/brut/cli/commands/raise_error.rb
1334
542
  - lib/brut/cli/error.rb
1335
- - lib/brut/cli/execution_results.rb
543
+ - lib/brut/cli/execute_result.rb
1336
544
  - lib/brut/cli/executor.rb
1337
545
  - lib/brut/cli/options.rb
1338
546
  - lib/brut/cli/output.rb
547
+ - lib/brut/cli/parsed_command_line.rb
548
+ - lib/brut/cli/runner.rb
1339
549
  - lib/brut/factory_bot.rb
1340
550
  - lib/brut/framework.rb
1341
551
  - lib/brut/framework/app.rb
@@ -1397,14 +607,12 @@ files:
1397
607
  - lib/brut/front_end/http_status.rb
1398
608
  - lib/brut/front_end/inline_svg_locator.rb
1399
609
  - lib/brut/front_end/layout.rb
1400
- - lib/brut/front_end/layouts/_internal.html.erb
1401
610
  - lib/brut/front_end/middleware.rb
1402
611
  - lib/brut/front_end/middlewares/annotate_brut_owned_paths.rb
1403
612
  - lib/brut/front_end/middlewares/favicon.rb
1404
613
  - lib/brut/front_end/middlewares/open_telemetry_span.rb
1405
614
  - lib/brut/front_end/middlewares/reload_app.rb
1406
615
  - lib/brut/front_end/page.rb
1407
- - lib/brut/front_end/pages/_missing_page.html.erb
1408
616
  - lib/brut/front_end/pages/missing_page.rb
1409
617
  - lib/brut/front_end/request_context.rb
1410
618
  - lib/brut/front_end/route_hook.rb
@@ -1429,6 +637,7 @@ files:
1429
637
  - lib/brut/rubocop_config.rb
1430
638
  - lib/brut/sinatra_helpers.rb
1431
639
  - lib/brut/spec_support.rb
640
+ - lib/brut/spec_support/cli_command_support.rb
1432
641
  - lib/brut/spec_support/clock_support.rb
1433
642
  - lib/brut/spec_support/component_support.rb
1434
643
  - lib/brut/spec_support/e2e_support.rb
@@ -1442,6 +651,7 @@ files:
1442
651
  - lib/brut/spec_support/matchers/be_page_for.rb
1443
652
  - lib/brut/spec_support/matchers/be_routing_for.rb
1444
653
  - lib/brut/spec_support/matchers/have_constraint_violation.rb
654
+ - lib/brut/spec_support/matchers/have_executed.rb
1445
655
  - lib/brut/spec_support/matchers/have_generated.rb
1446
656
  - lib/brut/spec_support/matchers/have_html_attribute.rb
1447
657
  - lib/brut/spec_support/matchers/have_i18n_string.rb
@@ -1493,191 +703,117 @@ files:
1493
703
  - lib/sequel/plugins/created_at.rb
1494
704
  - lib/sequel/plugins/external_id.rb
1495
705
  - lib/sequel/plugins/find_bang.rb
1496
- - mkbrut/.gitignore
1497
- - mkbrut/CODE_OF_CONDUCT.txt
1498
- - mkbrut/Gemfile
1499
- - mkbrut/Gemfile.lock
1500
- - mkbrut/LICENSE.txt
1501
- - mkbrut/README.md
1502
- - mkbrut/Rakefile
1503
- - mkbrut/bin/build
1504
- - mkbrut/bin/ci
1505
- - mkbrut/bin/docs
1506
- - mkbrut/bin/publish
1507
- - mkbrut/bin/rake
1508
- - mkbrut/bin/setup
1509
- - mkbrut/brut-welcome.png
1510
- - mkbrut/deploy/.dockerignore
1511
- - mkbrut/deploy/Dockerfile
1512
- - mkbrut/dx
1513
- - mkbrut/exe/mkbrut
1514
- - mkbrut/lib/mkbrut.rb
1515
- - mkbrut/lib/mkbrut/add_segment.rb
1516
- - mkbrut/lib/mkbrut/add_segment_options.rb
1517
- - mkbrut/lib/mkbrut/app.rb
1518
- - mkbrut/lib/mkbrut/app_id.rb
1519
- - mkbrut/lib/mkbrut/app_name.rb
1520
- - mkbrut/lib/mkbrut/app_options.rb
1521
- - mkbrut/lib/mkbrut/base.rb
1522
- - mkbrut/lib/mkbrut/cli.rb
1523
- - mkbrut/lib/mkbrut/erb_binding_delegate.rb
1524
- - mkbrut/lib/mkbrut/internet_identifier.rb
1525
- - mkbrut/lib/mkbrut/invalid_identifier.rb
1526
- - mkbrut/lib/mkbrut/ops.rb
1527
- - mkbrut/lib/mkbrut/ops/add_css_import.rb
1528
- - mkbrut/lib/mkbrut/ops/add_i18n_message.rb
1529
- - mkbrut/lib/mkbrut/ops/add_method.rb
1530
- - mkbrut/lib/mkbrut/ops/append_to_file.rb
1531
- - mkbrut/lib/mkbrut/ops/base_op.rb
1532
- - mkbrut/lib/mkbrut/ops/copy_file.rb
1533
- - mkbrut/lib/mkbrut/ops/insert_code_in_method.rb
1534
- - mkbrut/lib/mkbrut/ops/insert_into_file.rb
1535
- - mkbrut/lib/mkbrut/ops/insert_route.rb
1536
- - mkbrut/lib/mkbrut/ops/mkdir.rb
1537
- - mkbrut/lib/mkbrut/ops/prism_parsing_op.rb
1538
- - mkbrut/lib/mkbrut/ops/render_template.rb
1539
- - mkbrut/lib/mkbrut/ops/skip_file.rb
1540
- - mkbrut/lib/mkbrut/organization.rb
1541
- - mkbrut/lib/mkbrut/prefix.rb
1542
- - mkbrut/lib/mkbrut/prefixed_io.rb
1543
- - mkbrut/lib/mkbrut/segments.rb
1544
- - mkbrut/lib/mkbrut/segments/bare_bones.rb
1545
- - mkbrut/lib/mkbrut/segments/demo.rb
1546
- - mkbrut/lib/mkbrut/segments/heroku.rb
1547
- - mkbrut/lib/mkbrut/segments/sidekiq.rb
1548
- - mkbrut/lib/mkbrut/version.rb
1549
- - mkbrut/lib/mkbrut/versions.rb
1550
- - mkbrut/mkbrut.gemspec
1551
- - mkbrut/templates/Base/.dockerignore
1552
- - mkbrut/templates/Base/.env.development.erb
1553
- - mkbrut/templates/Base/.env.test.erb
1554
- - mkbrut/templates/Base/.gitignore
1555
- - mkbrut/templates/Base/.projections.json
1556
- - mkbrut/templates/Base/Dockerfile.dx
1557
- - mkbrut/templates/Base/Gemfile.erb
1558
- - mkbrut/templates/Base/Procfile.development
1559
- - mkbrut/templates/Base/Procfile.test
1560
- - mkbrut/templates/Base/README.md
1561
- - mkbrut/templates/Base/README.md.erb
1562
- - mkbrut/templates/Base/app/bootstrap.rb
1563
- - mkbrut/templates/Base/app/config/i18n/en/1_defaults.rb
1564
- - mkbrut/templates/Base/app/config/i18n/en/2_app.rb
1565
- - mkbrut/templates/Base/app/public/static/manifest.json.erb
1566
- - mkbrut/templates/Base/app/src/app.rb.erb
1567
- - mkbrut/templates/Base/app/src/back_end/data_models/app_data_model.rb
1568
- - mkbrut/templates/Base/app/src/back_end/data_models/db.rb
1569
- - mkbrut/templates/Base/app/src/back_end/data_models/migrations/20240101130000_citext.rb
1570
- - mkbrut/templates/Base/app/src/back_end/data_models/seed/seed_data.rb
1571
- - mkbrut/templates/Base/app/src/front_end/components/app_component.rb
1572
- - mkbrut/templates/Base/app/src/front_end/components/custom_element_registration.rb.erb
1573
- - mkbrut/templates/Base/app/src/front_end/css/index.css
1574
- - mkbrut/templates/Base/app/src/front_end/css/svgs.css
1575
- - mkbrut/templates/Base/app/src/front_end/forms/app_form.rb
1576
- - mkbrut/templates/Base/app/src/front_end/handlers/app_handler.rb
1577
- - mkbrut/templates/Base/app/src/front_end/images/LogoPylon.png
1578
- - mkbrut/templates/Base/app/src/front_end/images/LogoTransit.png
1579
- - mkbrut/templates/Base/app/src/front_end/images/apple-touch-icon-120x120.png
1580
- - mkbrut/templates/Base/app/src/front_end/images/apple-touch-icon-152x152.png
1581
- - mkbrut/templates/Base/app/src/front_end/images/apple-touch-icon-167x167.png
1582
- - mkbrut/templates/Base/app/src/front_end/images/apple-touch-icon-180x180.png
1583
- - mkbrut/templates/Base/app/src/front_end/images/favicon.ico
1584
- - mkbrut/templates/Base/app/src/front_end/images/icon.png
1585
- - mkbrut/templates/Base/app/src/front_end/images/mkicons.sh
1586
- - mkbrut/templates/Base/app/src/front_end/js/index.js
1587
- - mkbrut/templates/Base/app/src/front_end/layouts/blank_layout.rb
1588
- - mkbrut/templates/Base/app/src/front_end/layouts/default_layout.rb.erb
1589
- - mkbrut/templates/Base/app/src/front_end/pages/app_page.rb
1590
- - mkbrut/templates/Base/app/src/front_end/pages/home_page.rb
1591
- - mkbrut/templates/Base/app/src/front_end/support/app_session.rb
1592
- - mkbrut/templates/Base/app/src/front_end/svgs/README.md
1593
- - mkbrut/templates/Base/app/src/front_end/svgs/comment-button.svg
1594
- - mkbrut/templates/Base/bin/README.md.erb
1595
- - mkbrut/templates/Base/bin/build-assets
1596
- - mkbrut/templates/Base/bin/ci
1597
- - mkbrut/templates/Base/bin/console
1598
- - mkbrut/templates/Base/bin/db
1599
- - mkbrut/templates/Base/bin/dbconsole
1600
- - mkbrut/templates/Base/bin/dev
1601
- - mkbrut/templates/Base/bin/release
1602
- - mkbrut/templates/Base/bin/run
1603
- - mkbrut/templates/Base/bin/run.run
1604
- - mkbrut/templates/Base/bin/scaffold
1605
- - mkbrut/templates/Base/bin/setup
1606
- - mkbrut/templates/Base/bin/startup-message
1607
- - mkbrut/templates/Base/bin/test
1608
- - mkbrut/templates/Base/bin/test-server
1609
- - mkbrut/templates/Base/bin/watch-and-build-assets
1610
- - mkbrut/templates/Base/config.ru
1611
- - mkbrut/templates/Base/docker-compose.dx.yml
1612
- - mkbrut/templates/Base/dx/README.md
1613
- - mkbrut/templates/Base/dx/bash_customizations
1614
- - mkbrut/templates/Base/dx/bash_customizations.local
1615
- - mkbrut/templates/Base/dx/build
1616
- - mkbrut/templates/Base/dx/docker-compose.env.erb
1617
- - mkbrut/templates/Base/dx/dx.sh.lib
1618
- - mkbrut/templates/Base/dx/exec
1619
- - mkbrut/templates/Base/dx/prune
1620
- - mkbrut/templates/Base/dx/show-help-in-app-container-then-wait.sh
1621
- - mkbrut/templates/Base/dx/start
1622
- - mkbrut/templates/Base/dx/stop
1623
- - mkbrut/templates/Base/package.json.erb
1624
- - mkbrut/templates/Base/puma.config.rb
1625
- - mkbrut/templates/Base/specs/e2e/home_page.spec.rb.erb
1626
- - mkbrut/templates/Base/specs/front_end/js/SpecHelper.js
1627
- - mkbrut/templates/Base/specs/front_end/pages/home_page.spec.rb
1628
- - mkbrut/templates/Base/specs/lint_factories.spec.rb
1629
- - mkbrut/templates/Base/specs/spec_helper.rb
1630
- - mkbrut/templates/Base/specs/support.rb
1631
- - mkbrut/templates/segments/BareBones/app/src/front_end/handlers/trigger_exception_handler.rb
1632
- - mkbrut/templates/segments/BareBones/app/src/front_end/js/Example.js.erb
1633
- - mkbrut/templates/segments/BareBones/specs/front_end/handlers/trigger_exception_handler.spec.rb
1634
- - mkbrut/templates/segments/BareBones/specs/front_end/js/Example.spec.js.erb
1635
- - mkbrut/templates/segments/Demo/app/src/back_end/data_models/db/guestbook_message.rb
1636
- - mkbrut/templates/segments/Demo/app/src/back_end/data_models/migrations/20250628194124_guestbook.rb
1637
- - mkbrut/templates/segments/Demo/app/src/front_end/components/flash_component.rb
1638
- - mkbrut/templates/segments/Demo/app/src/front_end/css/constraint-violations.css
1639
- - mkbrut/templates/segments/Demo/app/src/front_end/css/fonts.css
1640
- - mkbrut/templates/segments/Demo/app/src/front_end/fonts/monaspace-xenon.ttf
1641
- - mkbrut/templates/segments/Demo/app/src/front_end/forms/guestbook_message_form.rb
1642
- - mkbrut/templates/segments/Demo/app/src/front_end/handlers/guestbook_message_handler.rb
1643
- - mkbrut/templates/segments/Demo/app/src/front_end/pages/guestbook_page.rb
1644
- - mkbrut/templates/segments/Demo/app/src/front_end/pages/guestbook_page/message_component.rb
1645
- - mkbrut/templates/segments/Demo/app/src/front_end/pages/new_guestbook_message_page.rb
1646
- - mkbrut/templates/segments/Demo/specs/back_end/data_models/db/guestbook_message.spec.rb
1647
- - mkbrut/templates/segments/Demo/specs/e2e/guest_message.spec.rb
1648
- - mkbrut/templates/segments/Demo/specs/factories/db/guestbook_message.factory.rb
1649
- - mkbrut/templates/segments/Demo/specs/front_end/components/flash_component.spec.rb
1650
- - mkbrut/templates/segments/Demo/specs/front_end/handlers/guestbook_message_handler.spec.rb
1651
- - mkbrut/templates/segments/Demo/specs/front_end/pages/guestbook_page.spec.rb
1652
- - mkbrut/templates/segments/Demo/specs/front_end/pages/guestbook_page/message_component.spec.rb
1653
- - mkbrut/templates/segments/Demo/specs/front_end/pages/new_guestbook_message_page.spec.rb
1654
- - mkbrut/templates/segments/Heroku/bin/deploy
1655
- - mkbrut/templates/segments/Heroku/deploy/Dockerfile
1656
- - mkbrut/templates/segments/Heroku/deploy/docker-entrypoint
1657
- - mkbrut/templates/segments/Heroku/deploy/heroku_config.rb
1658
- - mkbrut/templates/segments/Sidekiq/app/boot_sidekiq.rb
1659
- - mkbrut/templates/segments/Sidekiq/app/config/sidekiq.yml
1660
- - mkbrut/templates/segments/Sidekiq/app/src/back_end/jobs/app_job.rb
1661
- - mkbrut/templates/segments/Sidekiq/app/src/back_end/jobs/example_job.rb
1662
- - mkbrut/templates/segments/Sidekiq/app/src/back_end/segments/sidekiq_segment.rb
1663
- - mkbrut/templates/segments/Sidekiq/bin/run.sidekiq
1664
- - mkbrut/templates/segments/Sidekiq/specs/back_end/jobs/example_job.spec.rb
1665
- - mkbrut/templates/segments/Sidekiq/specs/integration/sidekiq_works.spec.rb
1666
- - specs/brut/front_end/forms/input.spec.rb
1667
- - specs/brut/front_end/forms/radio_button_group_input.spec.rb
1668
- - specs/brut/front_end/forms/select_input.spec.rb
1669
- - specs/brut/instrumentation/methods.spec.rb
1670
- - specs/brut/junk_drawer.spec.rb
1671
- - specs/brut/tui/ansi_escape_code.spec.rb
1672
- - specs/brut/tui/event_loop.spec.rb
1673
- - specs/brut/tui/events/base_event.spec.rb
1674
- - specs/brut/tui/events/event_bus.spec.rb
1675
- - specs/brut/tui/events/exception.spec.rb
1676
- - specs/brut/tui/events/test_event.rb
1677
- - specs/spec_helper.rb
1678
- - specs/support.rb
1679
- - specs/support/matchers.rb
1680
- - specs/support/matchers/have_constraint_violation.rb
706
+ - templates/Base/.dockerignore
707
+ - templates/Base/.env.development.erb
708
+ - templates/Base/.env.development.local
709
+ - templates/Base/.env.test.erb
710
+ - templates/Base/.gitignore
711
+ - templates/Base/.projections.json
712
+ - templates/Base/Dockerfile.dx
713
+ - templates/Base/Gemfile.erb
714
+ - templates/Base/Procfile.development
715
+ - templates/Base/Procfile.test
716
+ - templates/Base/README.md
717
+ - templates/Base/README.md.erb
718
+ - templates/Base/app/bootstrap.rb
719
+ - templates/Base/app/config/i18n/en/1_defaults.rb
720
+ - templates/Base/app/config/i18n/en/2_app.rb
721
+ - templates/Base/app/public/static/manifest.json.erb
722
+ - templates/Base/app/src/app.rb.erb
723
+ - templates/Base/app/src/back_end/data_models/app_data_model.rb
724
+ - templates/Base/app/src/back_end/data_models/db.rb
725
+ - templates/Base/app/src/back_end/data_models/migrations/20240101130000_citext.rb
726
+ - templates/Base/app/src/back_end/data_models/seed/seed_data.rb
727
+ - templates/Base/app/src/front_end/components/app_component.rb
728
+ - templates/Base/app/src/front_end/components/custom_element_registration.rb.erb
729
+ - templates/Base/app/src/front_end/css/index.css
730
+ - templates/Base/app/src/front_end/css/svgs.css
731
+ - templates/Base/app/src/front_end/forms/app_form.rb
732
+ - templates/Base/app/src/front_end/handlers/app_handler.rb
733
+ - templates/Base/app/src/front_end/images/LogoPylon.png
734
+ - templates/Base/app/src/front_end/images/LogoTransit.png
735
+ - templates/Base/app/src/front_end/images/apple-touch-icon-120x120.png
736
+ - templates/Base/app/src/front_end/images/apple-touch-icon-152x152.png
737
+ - templates/Base/app/src/front_end/images/apple-touch-icon-167x167.png
738
+ - templates/Base/app/src/front_end/images/apple-touch-icon-180x180.png
739
+ - templates/Base/app/src/front_end/images/favicon.ico
740
+ - templates/Base/app/src/front_end/images/icon.png
741
+ - templates/Base/app/src/front_end/images/mkicons.sh
742
+ - templates/Base/app/src/front_end/js/index.js
743
+ - templates/Base/app/src/front_end/layouts/blank_layout.rb
744
+ - templates/Base/app/src/front_end/layouts/default_layout.rb.erb
745
+ - templates/Base/app/src/front_end/pages/app_page.rb
746
+ - templates/Base/app/src/front_end/pages/home_page.rb
747
+ - templates/Base/app/src/front_end/support/app_session.rb
748
+ - templates/Base/app/src/front_end/svgs/README.md
749
+ - templates/Base/app/src/front_end/svgs/comment-button.svg
750
+ - templates/Base/bin/README.md.erb
751
+ - templates/Base/bin/ci
752
+ - templates/Base/bin/console
753
+ - templates/Base/bin/dbconsole
754
+ - templates/Base/bin/dev
755
+ - templates/Base/bin/release
756
+ - templates/Base/bin/run
757
+ - templates/Base/bin/run.run
758
+ - templates/Base/bin/setup
759
+ - templates/Base/bin/startup-message
760
+ - templates/Base/bin/watch-and-build-assets
761
+ - templates/Base/config.ru
762
+ - templates/Base/docker-compose.dx.yml
763
+ - templates/Base/dx/README.md
764
+ - templates/Base/dx/bash_customizations
765
+ - templates/Base/dx/bash_customizations.local
766
+ - templates/Base/dx/build
767
+ - templates/Base/dx/docker-compose.env.erb
768
+ - templates/Base/dx/dx.sh.lib
769
+ - templates/Base/dx/exec
770
+ - templates/Base/dx/prune
771
+ - templates/Base/dx/show-help-in-app-container-then-wait.sh
772
+ - templates/Base/dx/start
773
+ - templates/Base/dx/stop
774
+ - templates/Base/package.json.erb
775
+ - templates/Base/puma.config.rb
776
+ - templates/Base/specs/e2e/home_page.spec.rb.erb
777
+ - templates/Base/specs/front_end/js/SpecHelper.js
778
+ - templates/Base/specs/front_end/pages/home_page.spec.rb
779
+ - templates/Base/specs/lint_factories.spec.rb
780
+ - templates/Base/specs/spec_helper.rb
781
+ - templates/Base/specs/support.rb
782
+ - templates/segments/BareBones/app/src/front_end/handlers/trigger_exception_handler.rb
783
+ - templates/segments/BareBones/app/src/front_end/js/Example.js.erb
784
+ - templates/segments/BareBones/specs/front_end/handlers/trigger_exception_handler.spec.rb
785
+ - templates/segments/BareBones/specs/front_end/js/Example.spec.js.erb
786
+ - templates/segments/Demo/app/src/back_end/data_models/db/guestbook_message.rb
787
+ - templates/segments/Demo/app/src/back_end/data_models/migrations/20250628194124_guestbook.rb
788
+ - templates/segments/Demo/app/src/front_end/components/flash_component.rb
789
+ - templates/segments/Demo/app/src/front_end/css/constraint-violations.css
790
+ - templates/segments/Demo/app/src/front_end/css/fonts.css
791
+ - templates/segments/Demo/app/src/front_end/fonts/monaspace-xenon.ttf
792
+ - templates/segments/Demo/app/src/front_end/forms/guestbook_message_form.rb
793
+ - templates/segments/Demo/app/src/front_end/handlers/guestbook_message_handler.rb
794
+ - templates/segments/Demo/app/src/front_end/pages/guestbook_page.rb
795
+ - templates/segments/Demo/app/src/front_end/pages/guestbook_page/message_component.rb
796
+ - templates/segments/Demo/app/src/front_end/pages/new_guestbook_message_page.rb
797
+ - templates/segments/Demo/specs/back_end/data_models/db/guestbook_message.spec.rb
798
+ - templates/segments/Demo/specs/e2e/guest_message.spec.rb
799
+ - templates/segments/Demo/specs/factories/db/guestbook_message.factory.rb
800
+ - templates/segments/Demo/specs/front_end/components/flash_component.spec.rb
801
+ - templates/segments/Demo/specs/front_end/handlers/guestbook_message_handler.spec.rb
802
+ - templates/segments/Demo/specs/front_end/pages/guestbook_page.spec.rb
803
+ - templates/segments/Demo/specs/front_end/pages/guestbook_page/message_component.spec.rb
804
+ - templates/segments/Demo/specs/front_end/pages/new_guestbook_message_page.spec.rb
805
+ - templates/segments/Heroku/bin/deploy
806
+ - templates/segments/Heroku/deploy/Dockerfile
807
+ - templates/segments/Heroku/deploy/docker-entrypoint
808
+ - templates/segments/Heroku/deploy/docker_config.rb
809
+ - templates/segments/Sidekiq/app/boot_sidekiq.rb
810
+ - templates/segments/Sidekiq/app/config/sidekiq.yml
811
+ - templates/segments/Sidekiq/app/src/back_end/jobs/app_job.rb
812
+ - templates/segments/Sidekiq/app/src/back_end/jobs/example_job.rb
813
+ - templates/segments/Sidekiq/app/src/back_end/segments/sidekiq_segment.rb
814
+ - templates/segments/Sidekiq/bin/run.sidekiq
815
+ - templates/segments/Sidekiq/specs/back_end/jobs/example_job.spec.rb
816
+ - templates/segments/Sidekiq/specs/integration/sidekiq_works.spec.rb
1681
817
  homepage: https://brutrb.com
1682
818
  licenses: []
1683
819
  metadata: