brut 0.14.0 → 0.15.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 (521) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -0
  3. data/Gemfile.lock +1 -1
  4. data/brut-css/package-lock.json +2 -2
  5. data/brut-css/package.json +1 -1
  6. data/brut-js/package-lock.json +2 -2
  7. data/brut-js/package.json +1 -1
  8. data/brut-js/specs/Toast.spec.js +34 -0
  9. data/brut-js/src/I18nTranslation.js +3 -0
  10. data/brut-js/src/Message.js +9 -3
  11. data/brut-js/src/RichString.js +4 -1
  12. data/brut-js/src/Toast.js +102 -0
  13. data/brut-js/src/index.js +3 -0
  14. data/brutrb.com/brut-js.md +1 -0
  15. data/docs/404.html +3 -3
  16. data/docs/adrs.html +7 -7
  17. data/docs/ai.html +7 -7
  18. data/docs/api/Brut/BackEnd/SeedData.html +1 -1
  19. data/docs/api/Brut/BackEnd/Sidekiq/Middlewares/Server/FlushSpans.html +1 -1
  20. data/docs/api/Brut/BackEnd/Sidekiq/Middlewares/Server.html +1 -1
  21. data/docs/api/Brut/BackEnd/Sidekiq/Middlewares.html +1 -1
  22. data/docs/api/Brut/BackEnd/Sidekiq.html +1 -1
  23. data/docs/api/Brut/BackEnd/Validators/FormValidator.html +1 -1
  24. data/docs/api/Brut/BackEnd/Validators.html +1 -1
  25. data/docs/api/Brut/BackEnd.html +1 -1
  26. data/docs/api/Brut/CLI/App.html +1 -1
  27. data/docs/api/Brut/CLI/AppRunner.html +1 -1
  28. data/docs/api/Brut/CLI/Apps/BuildAssets/All.html +1 -1
  29. data/docs/api/Brut/CLI/Apps/BuildAssets/CSS.html +1 -1
  30. data/docs/api/Brut/CLI/Apps/BuildAssets/Images.html +1 -1
  31. data/docs/api/Brut/CLI/Apps/BuildAssets/JS.html +1 -1
  32. data/docs/api/Brut/CLI/Apps/BuildAssets.html +1 -1
  33. data/docs/api/Brut/CLI/Apps/DB/Create.html +1 -1
  34. data/docs/api/Brut/CLI/Apps/DB/Drop.html +1 -1
  35. data/docs/api/Brut/CLI/Apps/DB/Migrate.html +1 -1
  36. data/docs/api/Brut/CLI/Apps/DB/NewMigration.html +1 -1
  37. data/docs/api/Brut/CLI/Apps/DB/Rebuild.html +1 -1
  38. data/docs/api/Brut/CLI/Apps/DB/Seed.html +1 -1
  39. data/docs/api/Brut/CLI/Apps/DB/Status.html +1 -1
  40. data/docs/api/Brut/CLI/Apps/DB.html +1 -1
  41. data/docs/api/Brut/CLI/Apps/DeployBase/GitChecks.html +1 -1
  42. data/docs/api/Brut/CLI/Apps/DeployBase.html +1 -1
  43. data/docs/api/Brut/CLI/Apps/HerokuContainerBasedDeploy/Deploy.html +1 -1
  44. data/docs/api/Brut/CLI/Apps/HerokuContainerBasedDeploy.html +1 -1
  45. data/docs/api/Brut/CLI/Apps/Scaffold/Action/Route.html +1 -1
  46. data/docs/api/Brut/CLI/Apps/Scaffold/Action.html +1 -1
  47. data/docs/api/Brut/CLI/Apps/Scaffold/Component.html +1 -1
  48. data/docs/api/Brut/CLI/Apps/Scaffold/CustomElementTest.html +1 -1
  49. data/docs/api/Brut/CLI/Apps/Scaffold/DbModel.html +1 -1
  50. data/docs/api/Brut/CLI/Apps/Scaffold/E2ETest.html +1 -1
  51. data/docs/api/Brut/CLI/Apps/Scaffold/Form.html +1 -1
  52. data/docs/api/Brut/CLI/Apps/Scaffold/Page/Route.html +1 -1
  53. data/docs/api/Brut/CLI/Apps/Scaffold/Page.html +1 -1
  54. data/docs/api/Brut/CLI/Apps/Scaffold/RoutesEditor.html +1 -1
  55. data/docs/api/Brut/CLI/Apps/Scaffold/Test.html +1 -1
  56. data/docs/api/Brut/CLI/Apps/Scaffold.html +1 -1
  57. data/docs/api/Brut/CLI/Apps/Test/Audit.html +1 -1
  58. data/docs/api/Brut/CLI/Apps/Test/E2e.html +1 -1
  59. data/docs/api/Brut/CLI/Apps/Test/JS.html +1 -1
  60. data/docs/api/Brut/CLI/Apps/Test/Run.html +1 -1
  61. data/docs/api/Brut/CLI/Apps/Test.html +1 -1
  62. data/docs/api/Brut/CLI/Apps.html +1 -1
  63. data/docs/api/Brut/CLI/Command.html +1 -1
  64. data/docs/api/Brut/CLI/Error.html +1 -1
  65. data/docs/api/Brut/CLI/ExecutionResults/Result.html +1 -1
  66. data/docs/api/Brut/CLI/ExecutionResults.html +1 -1
  67. data/docs/api/Brut/CLI/Executor.html +1 -1
  68. data/docs/api/Brut/CLI/InvalidOption.html +1 -1
  69. data/docs/api/Brut/CLI/Options.html +1 -1
  70. data/docs/api/Brut/CLI/Output.html +1 -1
  71. data/docs/api/Brut/CLI/SystemExecError.html +1 -1
  72. data/docs/api/Brut/CLI.html +1 -1
  73. data/docs/api/Brut/FactoryBot.html +1 -1
  74. data/docs/api/Brut/Framework/App.html +1 -1
  75. data/docs/api/Brut/Framework/Config.html +1 -1
  76. data/docs/api/Brut/Framework/Container.html +1 -1
  77. data/docs/api/Brut/Framework/Error.html +1 -1
  78. data/docs/api/Brut/Framework/Errors/AbstractMethod.html +1 -1
  79. data/docs/api/Brut/Framework/Errors/Bug.html +1 -1
  80. data/docs/api/Brut/Framework/Errors/MissingConfiguration.html +1 -1
  81. data/docs/api/Brut/Framework/Errors/MissingParameter.html +1 -1
  82. data/docs/api/Brut/Framework/Errors/NoClassForPath.html +1 -1
  83. data/docs/api/Brut/Framework/Errors/NotFound.html +1 -1
  84. data/docs/api/Brut/Framework/Errors/NotImplemented.html +1 -1
  85. data/docs/api/Brut/Framework/Errors.html +1 -1
  86. data/docs/api/Brut/Framework/FussyTypeEnforcement.html +1 -1
  87. data/docs/api/Brut/Framework/MCP.html +1 -1
  88. data/docs/api/Brut/Framework/ProjectEnvironment.html +1 -1
  89. data/docs/api/Brut/Framework.html +1 -1
  90. data/docs/api/Brut/FrontEnd/AssetPathResolver.html +1 -1
  91. data/docs/api/Brut/FrontEnd/Component/Helpers.html +1 -1
  92. data/docs/api/Brut/FrontEnd/Component.html +1 -1
  93. data/docs/api/Brut/FrontEnd/Components/ConstraintViolations.html +1 -1
  94. data/docs/api/Brut/FrontEnd/Components/FormTag.html +1 -1
  95. data/docs/api/Brut/FrontEnd/Components/I18nTranslations.html +1 -1
  96. data/docs/api/Brut/FrontEnd/Components/Input.html +1 -1
  97. data/docs/api/Brut/FrontEnd/Components/Inputs/ButtonTag.html +1 -1
  98. data/docs/api/Brut/FrontEnd/Components/Inputs/CsrfToken.html +1 -1
  99. data/docs/api/Brut/FrontEnd/Components/Inputs/InputTag.html +1 -1
  100. data/docs/api/Brut/FrontEnd/Components/Inputs/RadioButton.html +1 -1
  101. data/docs/api/Brut/FrontEnd/Components/Inputs/SelectTagWithOptions.html +1 -1
  102. data/docs/api/Brut/FrontEnd/Components/Inputs/TextareaTag.html +1 -1
  103. data/docs/api/Brut/FrontEnd/Components/Inputs.html +1 -1
  104. data/docs/api/Brut/FrontEnd/Components/LocaleDetection.html +1 -1
  105. data/docs/api/Brut/FrontEnd/Components/PageIdentifier.html +37 -18
  106. data/docs/api/Brut/FrontEnd/Components/TimeTag.html +1 -1
  107. data/docs/api/Brut/FrontEnd/Components/Traceparent.html +1 -1
  108. data/docs/api/Brut/FrontEnd/Components.html +1 -1
  109. data/docs/api/Brut/FrontEnd/CsrfProtector.html +1 -1
  110. data/docs/api/Brut/FrontEnd/Download.html +1 -1
  111. data/docs/api/Brut/FrontEnd/Flash.html +1 -1
  112. data/docs/api/Brut/FrontEnd/Form.html +1 -1
  113. data/docs/api/Brut/FrontEnd/Forms/Button.html +1 -1
  114. data/docs/api/Brut/FrontEnd/Forms/ButtonInputDefinition.html +1 -1
  115. data/docs/api/Brut/FrontEnd/Forms/ConstraintViolation.html +1 -1
  116. data/docs/api/Brut/FrontEnd/Forms/Input/Color.html +1 -1
  117. data/docs/api/Brut/FrontEnd/Forms/Input/TimeOfDay.html +1 -1
  118. data/docs/api/Brut/FrontEnd/Forms/Input.html +1 -1
  119. data/docs/api/Brut/FrontEnd/Forms/InputDeclarations.html +1 -1
  120. data/docs/api/Brut/FrontEnd/Forms/InputDefinition.html +1 -1
  121. data/docs/api/Brut/FrontEnd/Forms/RadioButtonGroupInput.html +1 -1
  122. data/docs/api/Brut/FrontEnd/Forms/RadioButtonGroupInputDefinition.html +1 -1
  123. data/docs/api/Brut/FrontEnd/Forms/SelectInput.html +1 -1
  124. data/docs/api/Brut/FrontEnd/Forms/SelectInputDefinition.html +1 -1
  125. data/docs/api/Brut/FrontEnd/Forms/ValidityState.html +1 -1
  126. data/docs/api/Brut/FrontEnd/Forms.html +1 -1
  127. data/docs/api/Brut/FrontEnd/GenericResponse.html +1 -1
  128. data/docs/api/Brut/FrontEnd/Handler.html +1 -1
  129. data/docs/api/Brut/FrontEnd/Handlers/CspReportingHandler.html +1 -1
  130. data/docs/api/Brut/FrontEnd/Handlers/InstrumentationHandler/TraceParent.html +1 -1
  131. data/docs/api/Brut/FrontEnd/Handlers/InstrumentationHandler.html +1 -1
  132. data/docs/api/Brut/FrontEnd/Handlers/LocaleDetectionHandler.html +1 -1
  133. data/docs/api/Brut/FrontEnd/Handlers/MissingHandler/Form.html +1 -1
  134. data/docs/api/Brut/FrontEnd/Handlers/MissingHandler.html +1 -1
  135. data/docs/api/Brut/FrontEnd/Handlers.html +1 -1
  136. data/docs/api/Brut/FrontEnd/HandlingResults.html +1 -1
  137. data/docs/api/Brut/FrontEnd/HttpMethod.html +1 -1
  138. data/docs/api/Brut/FrontEnd/HttpStatus.html +1 -1
  139. data/docs/api/Brut/FrontEnd/InlineSvgLocator.html +1 -1
  140. data/docs/api/Brut/FrontEnd/Layout.html +171 -3
  141. data/docs/api/Brut/FrontEnd/Middleware.html +1 -1
  142. data/docs/api/Brut/FrontEnd/Middlewares/AnnotateBrutOwnedPaths.html +1 -1
  143. data/docs/api/Brut/FrontEnd/Middlewares/Favicon.html +1 -1
  144. data/docs/api/Brut/FrontEnd/Middlewares/OpenTelemetrySpan.html +1 -1
  145. data/docs/api/Brut/FrontEnd/Middlewares/ReloadApp.html +1 -1
  146. data/docs/api/Brut/FrontEnd/Middlewares.html +1 -1
  147. data/docs/api/Brut/FrontEnd/Page.html +1 -1
  148. data/docs/api/Brut/FrontEnd/Pages/MissingPage.html +1 -1
  149. data/docs/api/Brut/FrontEnd/Pages.html +1 -1
  150. data/docs/api/Brut/FrontEnd/RequestContext.html +1 -1
  151. data/docs/api/Brut/FrontEnd/RouteHook.html +1 -1
  152. data/docs/api/Brut/FrontEnd/RouteHooks/AgeFlash.html +1 -1
  153. data/docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineScripts.html +1 -1
  154. data/docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineStylesOrScripts/ReportOnly.html +1 -1
  155. data/docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineStylesOrScripts.html +1 -1
  156. data/docs/api/Brut/FrontEnd/RouteHooks/LocaleDetection.html +1 -1
  157. data/docs/api/Brut/FrontEnd/RouteHooks/SetupRequestContext.html +1 -1
  158. data/docs/api/Brut/FrontEnd/RouteHooks.html +1 -1
  159. data/docs/api/Brut/FrontEnd/Routing/FormHandlerRoute.html +1 -1
  160. data/docs/api/Brut/FrontEnd/Routing/FormRoute.html +1 -1
  161. data/docs/api/Brut/FrontEnd/Routing/MissingForm.html +1 -1
  162. data/docs/api/Brut/FrontEnd/Routing/MissingHandler.html +1 -1
  163. data/docs/api/Brut/FrontEnd/Routing/MissingPage.html +1 -1
  164. data/docs/api/Brut/FrontEnd/Routing/MissingPath.html +1 -1
  165. data/docs/api/Brut/FrontEnd/Routing/PageRoute.html +1 -1
  166. data/docs/api/Brut/FrontEnd/Routing/Route.html +1 -1
  167. data/docs/api/Brut/FrontEnd/Routing.html +1 -1
  168. data/docs/api/Brut/FrontEnd/Session.html +1 -1
  169. data/docs/api/Brut/FrontEnd.html +1 -1
  170. data/docs/api/Brut/I18n/BaseMethods.html +1 -1
  171. data/docs/api/Brut/I18n/ForBackEnd.html +1 -1
  172. data/docs/api/Brut/I18n/ForCLI.html +1 -1
  173. data/docs/api/Brut/I18n/ForHTML.html +1 -1
  174. data/docs/api/Brut/I18n/HTTPAcceptLanguage/AlwaysEnglish.html +1 -1
  175. data/docs/api/Brut/I18n/HTTPAcceptLanguage.html +1 -1
  176. data/docs/api/Brut/I18n.html +1 -1
  177. data/docs/api/Brut/Instrumentation/LoggerSpanExporter.html +1 -1
  178. data/docs/api/Brut/Instrumentation/Methods/ClassMethods.html +1 -1
  179. data/docs/api/Brut/Instrumentation/Methods.html +1 -1
  180. data/docs/api/Brut/Instrumentation/OpenTelemetry/NormalizedAttributes.html +1 -1
  181. data/docs/api/Brut/Instrumentation/OpenTelemetry/Span.html +1 -1
  182. data/docs/api/Brut/Instrumentation/OpenTelemetry.html +1 -1
  183. data/docs/api/Brut/Instrumentation.html +1 -1
  184. data/docs/api/Brut/RubocopConfig.html +1 -1
  185. data/docs/api/Brut/SinatraHelpers/ClassMethods.html +1 -1
  186. data/docs/api/Brut/SinatraHelpers.html +1 -1
  187. data/docs/api/Brut/SpecSupport/ClockSupport.html +1 -1
  188. data/docs/api/Brut/SpecSupport/ComponentSupport.html +1 -1
  189. data/docs/api/Brut/SpecSupport/E2ETestServer.html +1 -1
  190. data/docs/api/Brut/SpecSupport/E2eSupport.html +1 -1
  191. data/docs/api/Brut/SpecSupport/EnhancedNode.html +1 -1
  192. data/docs/api/Brut/SpecSupport/FlashSupport.html +1 -1
  193. data/docs/api/Brut/SpecSupport/GeneralSupport/ClassMethods.html +1 -1
  194. data/docs/api/Brut/SpecSupport/GeneralSupport.html +1 -1
  195. data/docs/api/Brut/SpecSupport/HandlerSupport.html +1 -1
  196. data/docs/api/Brut/SpecSupport/Matchers/BeABug.html +1 -1
  197. data/docs/api/Brut/SpecSupport/Matchers/BePageFor.html +1 -1
  198. data/docs/api/Brut/SpecSupport/Matchers/BeRoutingFor.html +1 -1
  199. data/docs/api/Brut/SpecSupport/Matchers/HaveConstraintViolation.html +1 -1
  200. data/docs/api/Brut/SpecSupport/Matchers/HaveGenerated.html +1 -1
  201. data/docs/api/Brut/SpecSupport/Matchers/HaveHTMLAttribute.html +1 -1
  202. data/docs/api/Brut/SpecSupport/Matchers/HaveI18nString.html +1 -1
  203. data/docs/api/Brut/SpecSupport/Matchers/HaveLinkTo.html +1 -1
  204. data/docs/api/Brut/SpecSupport/Matchers/HaveRedirectedTo.html +1 -1
  205. data/docs/api/Brut/SpecSupport/Matchers/HaveReturnedHttpStatus.html +1 -1
  206. data/docs/api/Brut/SpecSupport/Matchers/HaveReturnedRackResponse.html +1 -1
  207. data/docs/api/Brut/SpecSupport/Matchers.html +1 -1
  208. data/docs/api/Brut/SpecSupport/RSpecSetup/OptionalSidekiqSupport.html +1 -1
  209. data/docs/api/Brut/SpecSupport/RSpecSetup.html +1 -1
  210. data/docs/api/Brut/SpecSupport/SessionSupport.html +1 -1
  211. data/docs/api/Brut/SpecSupport.html +1 -1
  212. data/docs/api/Brut.html +1 -1
  213. data/docs/api/Clock.html +1 -1
  214. data/docs/api/ModuleName.html +1 -1
  215. data/docs/api/RichString.html +1 -1
  216. data/docs/api/SemanticLogger/Appender/Async.html +1 -1
  217. data/docs/api/Sequel/Extensions/BrutInstrumentation.html +1 -1
  218. data/docs/api/Sequel/Extensions/BrutMigrations.html +1 -1
  219. data/docs/api/Sequel/Extensions.html +1 -1
  220. data/docs/api/Sequel/Plugins/CreatedAt/InstanceMethods.html +1 -1
  221. data/docs/api/Sequel/Plugins/CreatedAt.html +1 -1
  222. data/docs/api/Sequel/Plugins/ExternalId/ClassMethods.html +1 -1
  223. data/docs/api/Sequel/Plugins/ExternalId/InstanceMethods.html +1 -1
  224. data/docs/api/Sequel/Plugins/ExternalId.html +1 -1
  225. data/docs/api/Sequel/Plugins/FindBang/ClassMethods.html +1 -1
  226. data/docs/api/Sequel/Plugins/FindBang.html +1 -1
  227. data/docs/api/Sequel/Plugins.html +1 -1
  228. data/docs/api/Sequel.html +1 -1
  229. data/docs/api/_index.html +1 -1
  230. data/docs/api/file.README.html +1 -1
  231. data/docs/api/index.html +1 -1
  232. data/docs/api/method_list.html +157 -141
  233. data/docs/api/top-level-namespace.html +1 -1
  234. data/docs/assets/adrs.md.YglbWtQe.js +1 -0
  235. data/docs/assets/adrs.md.YglbWtQe.lean.js +1 -0
  236. data/docs/assets/ai.md.ChLnvDAX.js +1 -0
  237. data/docs/assets/ai.md.ChLnvDAX.lean.js +1 -0
  238. data/docs/assets/{app.BDtsVxyd.js → app.B0X8upRm.js} +1 -1
  239. data/docs/assets/{assets.md.7C3HWkga.js → assets.md.BEF6Oz6K.js} +2 -2
  240. data/docs/assets/assets.md.BEF6Oz6K.lean.js +1 -0
  241. data/docs/assets/{brut-js.md.B4GYxQVw.js → brut-js.md.CbJAe2Ky.js} +2 -2
  242. data/docs/assets/brut-js.md.CbJAe2Ky.lean.js +1 -0
  243. data/docs/assets/business-logic.md.DbuaOYGU.js +1 -0
  244. data/docs/assets/business-logic.md.DbuaOYGU.lean.js +1 -0
  245. data/docs/assets/chunks/@localSearchIndexroot.C0s1k0UQ.js +1 -0
  246. data/docs/assets/chunks/VPLocalSearchBox.jLmhant1.js +8 -0
  247. data/docs/assets/chunks/framework.C4nOkCZI.js +18 -0
  248. data/docs/assets/chunks/{theme.DZKmijwi.js → theme.CtVUdCdt.js} +2 -2
  249. data/docs/assets/{cli.md.CjsktgFz.js → cli.md.DDMar_51.js} +2 -2
  250. data/docs/assets/cli.md.DDMar_51.lean.js +1 -0
  251. data/docs/assets/{components.md.rMhQ0WdZ.js → components.md.C6nWgDP0.js} +5 -5
  252. data/docs/assets/components.md.C6nWgDP0.lean.js +1 -0
  253. data/docs/assets/{configuration.md.BK42Yjp_.js → configuration.md.CpbYHWPb.js} +2 -2
  254. data/docs/assets/configuration.md.CpbYHWPb.lean.js +1 -0
  255. data/docs/assets/{css.md.CltvJqAa.js → css.md.K5rOCOQY.js} +2 -2
  256. data/docs/assets/css.md.K5rOCOQY.lean.js +1 -0
  257. data/docs/assets/{custom-element-tests.md.B_rbta32.js → custom-element-tests.md.DiLe-eFw.js} +2 -2
  258. data/docs/assets/custom-element-tests.md.DiLe-eFw.lean.js +1 -0
  259. data/docs/assets/{database-access.md.gnluu54N.js → database-access.md.Dc8l2Plf.js} +2 -2
  260. data/docs/assets/database-access.md.Dc8l2Plf.lean.js +1 -0
  261. data/docs/assets/{database-schema.md.LpmBPVEU.js → database-schema.md.BJ_JhXmO.js} +2 -2
  262. data/docs/assets/database-schema.md.BJ_JhXmO.lean.js +1 -0
  263. data/docs/assets/{deployment.md.BLseERGV.js → deployment.md.C1u5ep0g.js} +2 -2
  264. data/docs/assets/deployment.md.C1u5ep0g.lean.js +1 -0
  265. data/docs/assets/{dev-environment.md.DRH2D2-O.js → dev-environment.md.B1S9p5ZK.js} +2 -2
  266. data/docs/assets/{dev-environment.md.DRH2D2-O.lean.js → dev-environment.md.B1S9p5ZK.lean.js} +1 -1
  267. data/docs/assets/{dir-structure.md.CWir1pic.js → dir-structure.md.D1T2kGwj.js} +2 -2
  268. data/docs/assets/dir-structure.md.D1T2kGwj.lean.js +1 -0
  269. data/docs/assets/doc-conventions.md.CDnWaEFg.js +1 -0
  270. data/docs/assets/doc-conventions.md.CDnWaEFg.lean.js +1 -0
  271. data/docs/assets/{end-to-end-tests.md.DzqRpZ43.js → end-to-end-tests.md.BJJdNDYL.js} +2 -2
  272. data/docs/assets/end-to-end-tests.md.BJJdNDYL.lean.js +1 -0
  273. data/docs/assets/{features.md.DPFXsy0z.js → features.md.BDWxnyNO.js} +2 -2
  274. data/docs/assets/features.md.BDWxnyNO.lean.js +1 -0
  275. data/docs/assets/{flash-and-session.md.nPvUpnUx.js → flash-and-session.md.CUsMxoNl.js} +2 -2
  276. data/docs/assets/flash-and-session.md.CUsMxoNl.lean.js +1 -0
  277. data/docs/assets/{form-constraints.md.KTv5cdR4.js → form-constraints.md.KlfXSKm2.js} +2 -2
  278. data/docs/assets/form-constraints.md.KlfXSKm2.lean.js +1 -0
  279. data/docs/assets/{forms.md.v9qIbmUM.js → forms.md.Bii91k3E.js} +3 -3
  280. data/docs/assets/forms.md.Bii91k3E.lean.js +1 -0
  281. data/docs/assets/{getting-started.md.DTOl4c2g.js → getting-started.md.ChAvueK7.js} +4 -4
  282. data/docs/assets/getting-started.md.ChAvueK7.lean.js +1 -0
  283. data/docs/assets/{handlers.md.h84MMB1R.js → handlers.md.C5tUwmmo.js} +2 -2
  284. data/docs/assets/handlers.md.C5tUwmmo.lean.js +1 -0
  285. data/docs/assets/{hooks.md.Jmb5VOLA.js → hooks.md.CoiYCKRc.js} +2 -2
  286. data/docs/assets/hooks.md.CoiYCKRc.lean.js +1 -0
  287. data/docs/assets/{i18n.md.BAm9t9JJ.js → i18n.md.DxkCKhUw.js} +2 -2
  288. data/docs/assets/i18n.md.DxkCKhUw.lean.js +1 -0
  289. data/docs/assets/{index.md.Bn9e0sRJ.js → index.md.DnphWyQd.js} +1 -1
  290. data/docs/assets/{index.md.Bn9e0sRJ.lean.js → index.md.DnphWyQd.lean.js} +1 -1
  291. data/docs/assets/{instrumentation.md._lNSriEZ.js → instrumentation.md.BcxjC4jd.js} +2 -2
  292. data/docs/assets/instrumentation.md.BcxjC4jd.lean.js +1 -0
  293. data/docs/assets/{javascript.md.DzrMxUmI.js → javascript.md.D6fxhaQb.js} +2 -2
  294. data/docs/assets/javascript.md.D6fxhaQb.lean.js +1 -0
  295. data/docs/assets/jobs.md.Bc7Y1YpK.js +1 -0
  296. data/docs/assets/jobs.md.Bc7Y1YpK.lean.js +1 -0
  297. data/docs/assets/{keyword-injection.md.95Zgh2eN.js → keyword-injection.md.CqLnnzIz.js} +2 -2
  298. data/docs/assets/keyword-injection.md.CqLnnzIz.lean.js +1 -0
  299. data/docs/assets/layouts.md.HEbeK7Jr.js +68 -0
  300. data/docs/assets/layouts.md.HEbeK7Jr.lean.js +1 -0
  301. data/docs/assets/lsp.md.bE9dW8n9.js +1 -0
  302. data/docs/assets/lsp.md.bE9dW8n9.lean.js +1 -0
  303. data/docs/assets/{markdown-examples.md.CCFEQO44.js → markdown-examples.md.BPmtHlc-.js} +2 -2
  304. data/docs/assets/markdown-examples.md.BPmtHlc-.lean.js +1 -0
  305. data/docs/assets/{middleware.md.Czz_UlJN.js → middleware.md.BhOIsg59.js} +2 -2
  306. data/docs/assets/middleware.md.BhOIsg59.lean.js +1 -0
  307. data/docs/assets/overview.md.BpWAgPFH.js +1 -0
  308. data/docs/assets/overview.md.BpWAgPFH.lean.js +1 -0
  309. data/docs/assets/{pages.md.B7Hc-i6H.js → pages.md.B3sQXpEd.js} +2 -2
  310. data/docs/assets/pages.md.B3sQXpEd.lean.js +1 -0
  311. data/docs/assets/{recipes_alternate-layouts.md.BwEytl59.js → recipes_alternate-layouts.md.C1QzVkA7.js} +2 -2
  312. data/docs/assets/recipes_alternate-layouts.md.C1QzVkA7.lean.js +1 -0
  313. data/docs/assets/{recipes_authentication.md.nwO6F7Ou.js → recipes_authentication.md.CyvoIW82.js} +2 -2
  314. data/docs/assets/recipes_authentication.md.CyvoIW82.lean.js +1 -0
  315. data/docs/assets/{recipes_custom-flash.md.CrQbI5eH.js → recipes_custom-flash.md.6gFqf2uL.js} +2 -2
  316. data/docs/assets/recipes_custom-flash.md.6gFqf2uL.lean.js +1 -0
  317. data/docs/assets/{recipes_form-errors.md.Bv5RCKqH.js → recipes_form-errors.md.B5ptSzMO.js} +2 -2
  318. data/docs/assets/recipes_form-errors.md.B5ptSzMO.lean.js +1 -0
  319. data/docs/assets/{recipes_indexed-forms.md.CstYyOSo.js → recipes_indexed-forms.md.BYYQGW2C.js} +2 -2
  320. data/docs/assets/recipes_indexed-forms.md.BYYQGW2C.lean.js +1 -0
  321. data/docs/assets/{recipes_migrations.md.CTcnWDJF.js → recipes_migrations.md.Cid7-3cu.js} +2 -2
  322. data/docs/assets/recipes_migrations.md.Cid7-3cu.lean.js +1 -0
  323. data/docs/assets/{recipes_text-field-component.md.H4wLAK0Z.js → recipes_text-field-component.md.VhOsCtKI.js} +2 -2
  324. data/docs/assets/recipes_text-field-component.md.VhOsCtKI.lean.js +1 -0
  325. data/docs/assets/roadmap.md.CJsbUmK_.js +1 -0
  326. data/docs/assets/roadmap.md.CJsbUmK_.lean.js +1 -0
  327. data/docs/assets/{routes.md.BD6y2i-f.js → routes.md.C1dgIBtD.js} +2 -2
  328. data/docs/assets/routes.md.C1dgIBtD.lean.js +1 -0
  329. data/docs/assets/security.md.Jn4SY1uK.js +1 -0
  330. data/docs/assets/security.md.Jn4SY1uK.lean.js +1 -0
  331. data/docs/assets/{seed-data.md.BvFZlqIk.js → seed-data.md.UZW0WxYN.js} +2 -2
  332. data/docs/assets/seed-data.md.UZW0WxYN.lean.js +1 -0
  333. data/docs/assets/space-time-continuum.md.D9rYGDFH.js +1 -0
  334. data/docs/assets/space-time-continuum.md.D9rYGDFH.lean.js +1 -0
  335. data/docs/assets/{tutorial.md.BM40jnoq.js → tutorial.md.BX6f6l00.js} +2 -2
  336. data/docs/assets/tutorial.md.BX6f6l00.lean.js +1 -0
  337. data/docs/assets/{tutorials_01-intro.md.B4sUBY3X.js → tutorials_01-intro.md.CzZ3kpF_.js} +2 -2
  338. data/docs/assets/{tutorials_01-intro.md.B4sUBY3X.lean.js → tutorials_01-intro.md.CzZ3kpF_.lean.js} +1 -1
  339. data/docs/assets/{tutorials_02-dialog.md.CPNK1SC_.js → tutorials_02-dialog.md.De6iTsWX.js} +2 -2
  340. data/docs/assets/{tutorials_02-dialog.md.CPNK1SC_.lean.js → tutorials_02-dialog.md.De6iTsWX.lean.js} +1 -1
  341. data/docs/assets/{unit-tests.md.DUGrnLj5.js → unit-tests.md.vDsdBbO_.js} +2 -2
  342. data/docs/assets/unit-tests.md.vDsdBbO_.lean.js +1 -0
  343. data/docs/assets/why.md.4WpxdrQ2.js +1 -0
  344. data/docs/assets/why.md.4WpxdrQ2.lean.js +1 -0
  345. data/docs/assets.html +7 -7
  346. data/docs/brut-js/api/AjaxSubmit.html +1 -1
  347. data/docs/brut-js/api/AjaxSubmit.js.html +1 -1
  348. data/docs/brut-js/api/Autosubmit.html +1 -1
  349. data/docs/brut-js/api/Autosubmit.js.html +1 -1
  350. data/docs/brut-js/api/BaseCustomElement.html +1 -1
  351. data/docs/brut-js/api/BaseCustomElement.js.html +1 -1
  352. data/docs/brut-js/api/BrutCustomElements.html +1 -1
  353. data/docs/brut-js/api/BufferedLogger.html +1 -1
  354. data/docs/brut-js/api/ConfirmSubmit.html +1 -1
  355. data/docs/brut-js/api/ConfirmSubmit.js.html +1 -1
  356. data/docs/brut-js/api/ConfirmationDialog.html +1 -1
  357. data/docs/brut-js/api/ConfirmationDialog.js.html +1 -1
  358. data/docs/brut-js/api/ConstraintViolationMessage.html +1 -1
  359. data/docs/brut-js/api/ConstraintViolationMessage.js.html +1 -1
  360. data/docs/brut-js/api/ConstraintViolationMessages.html +1 -1
  361. data/docs/brut-js/api/ConstraintViolationMessages.js.html +1 -1
  362. data/docs/brut-js/api/CopyToClipboard.html +1 -1
  363. data/docs/brut-js/api/CopyToClipboard.js.html +1 -1
  364. data/docs/brut-js/api/Form.html +1 -1
  365. data/docs/brut-js/api/Form.js.html +1 -1
  366. data/docs/brut-js/api/I18nTranslation.html +1 -1
  367. data/docs/brut-js/api/I18nTranslation.js.html +1 -1
  368. data/docs/brut-js/api/LocaleDetection.html +1 -1
  369. data/docs/brut-js/api/LocaleDetection.js.html +1 -1
  370. data/docs/brut-js/api/Logger.html +1 -1
  371. data/docs/brut-js/api/Logger.js.html +1 -1
  372. data/docs/brut-js/api/Message.html +1 -1
  373. data/docs/brut-js/api/Message.js.html +1 -1
  374. data/docs/brut-js/api/PrefixedLogger.html +1 -1
  375. data/docs/brut-js/api/RichString.html +1 -1
  376. data/docs/brut-js/api/RichString.js.html +1 -1
  377. data/docs/brut-js/api/Tabs.html +1 -1
  378. data/docs/brut-js/api/Tabs.js.html +1 -1
  379. data/docs/brut-js/api/Tracing.html +1 -1
  380. data/docs/brut-js/api/Tracing.js.html +1 -1
  381. data/docs/brut-js/api/external-CustomElementRegistry.html +1 -1
  382. data/docs/brut-js/api/external-Performance.html +1 -1
  383. data/docs/brut-js/api/external-Promise.html +1 -1
  384. data/docs/brut-js/api/external-ValidityState.html +1 -1
  385. data/docs/brut-js/api/external-Window.html +1 -1
  386. data/docs/brut-js/api/external-fetch.html +1 -1
  387. data/docs/brut-js/api/global.html +1 -1
  388. data/docs/brut-js/api/index.html +1 -1
  389. data/docs/brut-js/api/index.js.html +1 -1
  390. data/docs/brut-js/api/module-testing.html +1 -1
  391. data/docs/brut-js/api/testing.AssetMetadata.html +1 -1
  392. data/docs/brut-js/api/testing.AssetMetadataLoader.html +1 -1
  393. data/docs/brut-js/api/testing.CustomElementTest.html +1 -1
  394. data/docs/brut-js/api/testing.DOMCreator.html +1 -1
  395. data/docs/brut-js/api/testing_AssetMetadata.js.html +1 -1
  396. data/docs/brut-js/api/testing_AssetMetadataLoader.js.html +1 -1
  397. data/docs/brut-js/api/testing_CustomElementTest.js.html +1 -1
  398. data/docs/brut-js/api/testing_DOMCreator.js.html +1 -1
  399. data/docs/brut-js/api/testing_index.js.html +1 -1
  400. data/docs/brut-js.html +7 -7
  401. data/docs/business-logic.html +7 -7
  402. data/docs/cli.html +7 -7
  403. data/docs/components.html +10 -10
  404. data/docs/configuration.html +7 -7
  405. data/docs/css.html +7 -7
  406. data/docs/custom-element-tests.html +7 -7
  407. data/docs/database-access.html +7 -7
  408. data/docs/database-schema.html +7 -7
  409. data/docs/deployment.html +7 -7
  410. data/docs/dev-environment.html +7 -7
  411. data/docs/dir-structure.html +7 -7
  412. data/docs/doc-conventions.html +7 -7
  413. data/docs/end-to-end-tests.html +7 -7
  414. data/docs/features.html +7 -7
  415. data/docs/flash-and-session.html +7 -7
  416. data/docs/form-constraints.html +7 -7
  417. data/docs/forms.html +8 -8
  418. data/docs/getting-started.html +9 -9
  419. data/docs/handlers.html +7 -7
  420. data/docs/hashmap.json +1 -1
  421. data/docs/hooks.html +7 -7
  422. data/docs/i18n.html +7 -7
  423. data/docs/index.html +6 -6
  424. data/docs/instrumentation.html +7 -7
  425. data/docs/javascript.html +7 -7
  426. data/docs/jobs.html +7 -7
  427. data/docs/keyword-injection.html +7 -7
  428. data/docs/layouts.html +42 -12
  429. data/docs/lsp.html +7 -7
  430. data/docs/markdown-examples.html +7 -7
  431. data/docs/middleware.html +7 -7
  432. data/docs/overview.html +7 -7
  433. data/docs/pages.html +7 -7
  434. data/docs/recipes/alternate-layouts.html +8 -8
  435. data/docs/recipes/authentication.html +7 -7
  436. data/docs/recipes/custom-flash.html +8 -8
  437. data/docs/recipes/form-errors.html +7 -7
  438. data/docs/recipes/indexed-forms.html +7 -7
  439. data/docs/recipes/migrations.html +7 -7
  440. data/docs/recipes/text-field-component.html +7 -7
  441. data/docs/roadmap.html +7 -7
  442. data/docs/routes.html +7 -7
  443. data/docs/security.html +7 -7
  444. data/docs/seed-data.html +7 -7
  445. data/docs/space-time-continuum.html +7 -7
  446. data/docs/tutorial.html +7 -7
  447. data/docs/tutorials/01-intro.html +7 -7
  448. data/docs/tutorials/02-dialog.html +7 -7
  449. data/docs/unit-tests.html +7 -7
  450. data/docs/why.html +7 -7
  451. data/lib/brut/version.rb +1 -1
  452. data/mkbrut/Gemfile.lock +1 -1
  453. data/mkbrut/lib/mkbrut/version.rb +1 -1
  454. metadata +114 -115
  455. data/docs/assets/adrs.md.BxjHi9-8.js +0 -1
  456. data/docs/assets/adrs.md.BxjHi9-8.lean.js +0 -1
  457. data/docs/assets/ai.md.Cy9GWnER.js +0 -1
  458. data/docs/assets/ai.md.Cy9GWnER.lean.js +0 -1
  459. data/docs/assets/assets.md.7C3HWkga.lean.js +0 -1
  460. data/docs/assets/brut-js.md.B4GYxQVw.lean.js +0 -1
  461. data/docs/assets/business-logic.md.BY4hGy0m.js +0 -1
  462. data/docs/assets/business-logic.md.BY4hGy0m.lean.js +0 -1
  463. data/docs/assets/chunks/@localSearchIndexroot.BWVzhs5N.js +0 -1
  464. data/docs/assets/chunks/VPLocalSearchBox.DCJk5nAW.js +0 -8
  465. data/docs/assets/chunks/framework.1L-BeKqY.js +0 -18
  466. data/docs/assets/cli.md.CjsktgFz.lean.js +0 -1
  467. data/docs/assets/components.md.rMhQ0WdZ.lean.js +0 -1
  468. data/docs/assets/configuration.md.BK42Yjp_.lean.js +0 -1
  469. data/docs/assets/css.md.CltvJqAa.lean.js +0 -1
  470. data/docs/assets/custom-element-tests.md.B_rbta32.lean.js +0 -1
  471. data/docs/assets/database-access.md.gnluu54N.lean.js +0 -1
  472. data/docs/assets/database-schema.md.LpmBPVEU.lean.js +0 -1
  473. data/docs/assets/deployment.md.BLseERGV.lean.js +0 -1
  474. data/docs/assets/dir-structure.md.CWir1pic.lean.js +0 -1
  475. data/docs/assets/doc-conventions.md.DOkAuXlt.js +0 -1
  476. data/docs/assets/doc-conventions.md.DOkAuXlt.lean.js +0 -1
  477. data/docs/assets/end-to-end-tests.md.DzqRpZ43.lean.js +0 -1
  478. data/docs/assets/features.md.DPFXsy0z.lean.js +0 -1
  479. data/docs/assets/flash-and-session.md.nPvUpnUx.lean.js +0 -1
  480. data/docs/assets/form-constraints.md.KTv5cdR4.lean.js +0 -1
  481. data/docs/assets/forms.md.v9qIbmUM.lean.js +0 -1
  482. data/docs/assets/getting-started.md.DTOl4c2g.lean.js +0 -1
  483. data/docs/assets/handlers.md.h84MMB1R.lean.js +0 -1
  484. data/docs/assets/hooks.md.Jmb5VOLA.lean.js +0 -1
  485. data/docs/assets/i18n.md.BAm9t9JJ.lean.js +0 -1
  486. data/docs/assets/instrumentation.md._lNSriEZ.lean.js +0 -1
  487. data/docs/assets/javascript.md.DzrMxUmI.lean.js +0 -1
  488. data/docs/assets/jobs.md.S-2amAYp.js +0 -1
  489. data/docs/assets/jobs.md.S-2amAYp.lean.js +0 -1
  490. data/docs/assets/keyword-injection.md.95Zgh2eN.lean.js +0 -1
  491. data/docs/assets/layouts.md.CVGl9xIO.js +0 -38
  492. data/docs/assets/layouts.md.CVGl9xIO.lean.js +0 -1
  493. data/docs/assets/lsp.md.Dn1rIiW0.js +0 -1
  494. data/docs/assets/lsp.md.Dn1rIiW0.lean.js +0 -1
  495. data/docs/assets/markdown-examples.md.CCFEQO44.lean.js +0 -1
  496. data/docs/assets/middleware.md.Czz_UlJN.lean.js +0 -1
  497. data/docs/assets/overview.md.DlKiRRG_.js +0 -1
  498. data/docs/assets/overview.md.DlKiRRG_.lean.js +0 -1
  499. data/docs/assets/pages.md.B7Hc-i6H.lean.js +0 -1
  500. data/docs/assets/recipes_alternate-layouts.md.BwEytl59.lean.js +0 -1
  501. data/docs/assets/recipes_authentication.md.nwO6F7Ou.lean.js +0 -1
  502. data/docs/assets/recipes_blank-layouts.md.fyAUJyJR.js +0 -15
  503. data/docs/assets/recipes_blank-layouts.md.fyAUJyJR.lean.js +0 -1
  504. data/docs/assets/recipes_custom-flash.md.CrQbI5eH.lean.js +0 -1
  505. data/docs/assets/recipes_form-errors.md.Bv5RCKqH.lean.js +0 -1
  506. data/docs/assets/recipes_indexed-forms.md.CstYyOSo.lean.js +0 -1
  507. data/docs/assets/recipes_migrations.md.CTcnWDJF.lean.js +0 -1
  508. data/docs/assets/recipes_text-field-component.md.H4wLAK0Z.lean.js +0 -1
  509. data/docs/assets/roadmap.md.C6PRi0DX.js +0 -1
  510. data/docs/assets/roadmap.md.C6PRi0DX.lean.js +0 -1
  511. data/docs/assets/routes.md.BD6y2i-f.lean.js +0 -1
  512. data/docs/assets/security.md.C0G_AZR-.js +0 -1
  513. data/docs/assets/security.md.C0G_AZR-.lean.js +0 -1
  514. data/docs/assets/seed-data.md.BvFZlqIk.lean.js +0 -1
  515. data/docs/assets/space-time-continuum.md.xl44xDos.js +0 -1
  516. data/docs/assets/space-time-continuum.md.xl44xDos.lean.js +0 -1
  517. data/docs/assets/tutorial.md.BM40jnoq.lean.js +0 -1
  518. data/docs/assets/unit-tests.md.DUGrnLj5.lean.js +0 -1
  519. data/docs/assets/why.md.C-hk5xgJ.js +0 -1
  520. data/docs/assets/why.md.C-hk5xgJ.lean.js +0 -1
  521. data/docs/recipes/blank-layouts.html +0 -43
@@ -105,7 +105,7 @@
105
105
 
106
106
  <h2>Overview</h2><div class="docstring">
107
107
  <div class="discussion">
108
- <p>Renders a <code>&lt;meta&gt;</code> tag that contains the name of the page. This is useful for end to end tests to assert that they are on a specific page before continuing with the test. It can eliminate a lot of confusion when a test fails.</p>
108
+ <p>Renders a <code>&lt;meta&gt;</code> tag (in dev and test) that contains the name of the page. This is useful for end to end tests to assert that they are on a specific page before continuing with the test. It can eliminate a lot of confusion when a test fails.</p>
109
109
 
110
110
 
111
111
  </div>
@@ -131,7 +131,7 @@
131
131
  <li class="public ">
132
132
  <span class="summary_signature">
133
133
 
134
- <a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(page_name) &#x21d2; PageIdentifier </a>
134
+ <a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(page) &#x21d2; PageIdentifier </a>
135
135
 
136
136
 
137
137
 
@@ -147,7 +147,7 @@
147
147
 
148
148
 
149
149
 
150
- <span class="summary_desc"><div class='inline'><p>A new instance of PageIdentifier.</p>
150
+ <span class="summary_desc"><div class='inline'><p>Create the component.</p>
151
151
  </div></span>
152
152
 
153
153
  </li>
@@ -241,7 +241,7 @@
241
241
  <div class="method_details first">
242
242
  <h3 class="signature first" id="initialize-instance_method">
243
243
 
244
- #<strong>initialize</strong>(page_name) &#x21d2; <tt><span class='object_link'><a href="" title="Brut::FrontEnd::Components::PageIdentifier (class)">PageIdentifier</a></span></tt>
244
+ #<strong>initialize</strong>(page) &#x21d2; <tt><span class='object_link'><a href="" title="Brut::FrontEnd::Components::PageIdentifier (class)">PageIdentifier</a></span></tt>
245
245
 
246
246
 
247
247
 
@@ -249,13 +249,32 @@
249
249
 
250
250
  </h3><div class="docstring">
251
251
  <div class="discussion">
252
- <p>Returns a new instance of PageIdentifier.</p>
252
+ <p>Create the component</p>
253
253
 
254
254
 
255
255
  </div>
256
256
  </div>
257
257
  <div class="tags">
258
+ <p class="tag_title">Parameters:</p>
259
+ <ul class="param">
258
260
 
261
+ <li>
262
+
263
+ <span class='name'>page</span>
264
+
265
+
266
+ <span class='type'>(<tt><span class='object_link'><a href="../Page.html" title="Brut::FrontEnd::Page (class)">Brut::FrontEnd::Page</a></span></tt>)</span>
267
+
268
+
269
+
270
+ &mdash;
271
+ <div class='inline'><p>the current page</p>
272
+ </div>
273
+
274
+ </li>
275
+
276
+ </ul>
277
+
259
278
 
260
279
  </div><table class="source_code">
261
280
  <tr>
@@ -263,15 +282,15 @@
263
282
  <pre class="lines">
264
283
 
265
284
 
266
- 3
267
- 4
268
- 5</pre>
285
+ 6
286
+ 7
287
+ 8</pre>
269
288
  </td>
270
289
  <td>
271
- <pre class="code"><span class="info file"># File 'lib/brut/front_end/components/page_identifier.rb', line 3</span>
290
+ <pre class="code"><span class="info file"># File 'lib/brut/front_end/components/page_identifier.rb', line 6</span>
272
291
 
273
- <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_page_name'>page_name</span><span class='rparen'>)</span>
274
- <span class='ivar'>@page_name</span> <span class='op'>=</span> <span class='id identifier rubyid_page_name'>page_name</span>
292
+ <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_page'>page</span><span class='rparen'>)</span>
293
+ <span class='ivar'>@page</span> <span class='op'>=</span> <span class='id identifier rubyid_page'>page</span>
275
294
  <span class='kw'>end</span></pre>
276
295
  </td>
277
296
  </tr>
@@ -300,21 +319,21 @@
300
319
  <pre class="lines">
301
320
 
302
321
 
303
- 7
304
- 8
305
- 9
306
322
  10
307
323
  11
308
- 12</pre>
324
+ 12
325
+ 13
326
+ 14
327
+ 15</pre>
309
328
  </td>
310
329
  <td>
311
- <pre class="code"><span class="info file"># File 'lib/brut/front_end/components/page_identifier.rb', line 7</span>
330
+ <pre class="code"><span class="info file"># File 'lib/brut/front_end/components/page_identifier.rb', line 10</span>
312
331
 
313
332
  <span class='kw'>def</span> <span class='id identifier rubyid_view_template'>view_template</span>
314
333
  <span class='kw'>if</span> <span class='const'><span class='object_link'><a href="../../../Brut.html" title="Brut (module)">Brut</a></span></span><span class='period'>.</span><span class='id identifier rubyid_container'><span class='object_link'><a href="../../../Brut.html#container-class_method" title="Brut.container (method)">container</a></span></span><span class='period'>.</span><span class='id identifier rubyid_project_env'>project_env</span><span class='period'>.</span><span class='id identifier rubyid_production?'>production?</span>
315
334
  <span class='kw'>return</span> <span class='kw'>nil</span>
316
335
  <span class='kw'>end</span>
317
- <span class='id identifier rubyid_meta'>meta</span><span class='lparen'>(</span><span class='label'>name:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>class</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='label'>content:</span> <span class='ivar'>@page_name</span><span class='rparen'>)</span>
336
+ <span class='id identifier rubyid_meta'>meta</span><span class='lparen'>(</span><span class='label'>name:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>class</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='label'>content:</span> <span class='ivar'>@page</span><span class='period'>.</span><span class='id identifier rubyid_page_name'>page_name</span><span class='rparen'>)</span>
318
337
  <span class='kw'>end</span></pre>
319
338
  </td>
320
339
  </tr>
@@ -326,7 +345,7 @@
326
345
  </div>
327
346
 
328
347
  <div id="footer">
329
- Generated on Mon Sep 8 22:18:06 2025 by
348
+ Generated on Tue Sep 9 14:11:15 2025 by
330
349
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
331
350
  0.9.37 (ruby-3.4.5).
332
351
  </div>
@@ -645,7 +645,7 @@ you would like to be accessible. If omitted, the tag's contents will be the for
645
645
  </div>
646
646
 
647
647
  <div id="footer">
648
- Generated on Mon Sep 8 22:18:06 2025 by
648
+ Generated on Tue Sep 9 14:11:15 2025 by
649
649
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
650
650
  0.9.37 (ruby-3.4.5).
651
651
  </div>
@@ -342,7 +342,7 @@
342
342
  </div>
343
343
 
344
344
  <div id="footer">
345
- Generated on Mon Sep 8 22:18:06 2025 by
345
+ Generated on Tue Sep 9 14:11:15 2025 by
346
346
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
347
347
  0.9.37 (ruby-3.4.5).
348
348
  </div>
@@ -146,7 +146,7 @@ end</code></pre>
146
146
  </div>
147
147
 
148
148
  <div id="footer">
149
- Generated on Mon Sep 8 22:18:05 2025 by
149
+ Generated on Tue Sep 9 14:11:14 2025 by
150
150
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
151
151
  0.9.37 (ruby-3.4.5).
152
152
  </div>
@@ -240,7 +240,7 @@ class App &lt; Brut::Framework::App
240
240
  </div>
241
241
 
242
242
  <div id="footer">
243
- Generated on Mon Sep 8 22:18:06 2025 by
243
+ Generated on Tue Sep 9 14:11:15 2025 by
244
244
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
245
245
  0.9.37 (ruby-3.4.5).
246
246
  </div>
@@ -457,7 +457,7 @@ download the same file mulitple times but you want to make each name different a
457
457
  </div>
458
458
 
459
459
  <div id="footer">
460
- Generated on Mon Sep 8 22:18:05 2025 by
460
+ Generated on Tue Sep 9 14:11:14 2025 by
461
461
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
462
462
  0.9.37 (ruby-3.4.5).
463
463
  </div>
@@ -1140,7 +1140,7 @@ flash from being more than 1 request old. This is usually sufficient for a hand
1140
1140
  </div>
1141
1141
 
1142
1142
  <div id="footer">
1143
- Generated on Mon Sep 8 22:18:05 2025 by
1143
+ Generated on Tue Sep 9 14:11:14 2025 by
1144
1144
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1145
1145
  0.9.37 (ruby-3.4.5).
1146
1146
  </div>
@@ -1217,7 +1217,7 @@ will be represented as a key in the resulting hash—only those keys that were p
1217
1217
  </div>
1218
1218
 
1219
1219
  <div id="footer">
1220
- Generated on Mon Sep 8 22:18:05 2025 by
1220
+ Generated on Tue Sep 9 14:11:14 2025 by
1221
1221
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1222
1222
  0.9.37 (ruby-3.4.5).
1223
1223
  </div>
@@ -321,7 +321,7 @@ default this value to <code>"true"</code>.</p>
321
321
  </div>
322
322
 
323
323
  <div id="footer">
324
- Generated on Mon Sep 8 22:18:06 2025 by
324
+ Generated on Tue Sep 9 14:11:15 2025 by
325
325
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
326
326
  0.9.37 (ruby-3.4.5).
327
327
  </div>
@@ -527,7 +527,7 @@ inputs. <code>nil</code> is allowed only if the input definition is not for an a
527
527
  </div>
528
528
 
529
529
  <div id="footer">
530
- Generated on Mon Sep 8 22:18:06 2025 by
530
+ Generated on Tue Sep 9 14:11:15 2025 by
531
531
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
532
532
  0.9.37 (ruby-3.4.5).
533
533
  </div>
@@ -580,7 +580,7 @@ form-related classes.</p>
580
580
  </div>
581
581
 
582
582
  <div id="footer">
583
- Generated on Mon Sep 8 22:18:06 2025 by
583
+ Generated on Tue Sep 9 14:11:15 2025 by
584
584
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
585
585
  0.9.37 (ruby-3.4.5).
586
586
  </div>
@@ -191,7 +191,7 @@
191
191
  </div>
192
192
 
193
193
  <div id="footer">
194
- Generated on Mon Sep 8 22:18:06 2025 by
194
+ Generated on Tue Sep 9 14:11:14 2025 by
195
195
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
196
196
  0.9.37 (ruby-3.4.5).
197
197
  </div>
@@ -525,7 +525,7 @@
525
525
  </div>
526
526
 
527
527
  <div id="footer">
528
- Generated on Mon Sep 8 22:18:06 2025 by
528
+ Generated on Tue Sep 9 14:11:14 2025 by
529
529
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
530
530
  0.9.37 (ruby-3.4.5).
531
531
  </div>
@@ -1557,7 +1557,7 @@ initializer</p>
1557
1557
  </div>
1558
1558
 
1559
1559
  <div id="footer">
1560
- Generated on Mon Sep 8 22:18:06 2025 by
1560
+ Generated on Tue Sep 9 14:11:14 2025 by
1561
1561
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1562
1562
  0.9.37 (ruby-3.4.5).
1563
1563
  </div>
@@ -625,7 +625,7 @@ Components::Inputs::Select</p>
625
625
  </div>
626
626
 
627
627
  <div id="footer">
628
- Generated on Mon Sep 8 22:18:05 2025 by
628
+ Generated on Tue Sep 9 14:11:14 2025 by
629
629
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
630
630
  0.9.37 (ruby-3.4.5).
631
631
  </div>
@@ -1326,7 +1326,7 @@ inputs. <code>nil</code> is allowed only if the input definition is not for an a
1326
1326
  </div>
1327
1327
 
1328
1328
  <div id="footer">
1329
- Generated on Mon Sep 8 22:18:06 2025 by
1329
+ Generated on Tue Sep 9 14:11:15 2025 by
1330
1330
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1331
1331
  0.9.37 (ruby-3.4.5).
1332
1332
  </div>
@@ -720,7 +720,7 @@ that <code>key</code> should not be a key used for client-side validations.</p>
720
720
  </div>
721
721
 
722
722
  <div id="footer">
723
- Generated on Mon Sep 8 22:18:06 2025 by
723
+ Generated on Tue Sep 9 14:11:15 2025 by
724
724
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
725
725
  0.9.37 (ruby-3.4.5).
726
726
  </div>
@@ -577,7 +577,7 @@ supported by the browser. Also note that arrays of radio button groups are not
577
577
  </div>
578
578
 
579
579
  <div id="footer">
580
- Generated on Mon Sep 8 22:18:06 2025 by
580
+ Generated on Tue Sep 9 14:11:15 2025 by
581
581
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
582
582
  0.9.37 (ruby-3.4.5).
583
583
  </div>
@@ -724,7 +724,7 @@ that <code>key</code> should not be a key used for client-side validations.</p>
724
724
  </div>
725
725
 
726
726
  <div id="footer">
727
- Generated on Mon Sep 8 22:18:06 2025 by
727
+ Generated on Tue Sep 9 14:11:15 2025 by
728
728
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
729
729
  0.9.37 (ruby-3.4.5).
730
730
  </div>
@@ -572,7 +572,7 @@ such as implementing a <span class='object_link'><a href="../../BackEnd/Validato
572
572
  </div>
573
573
 
574
574
  <div id="footer">
575
- Generated on Mon Sep 8 22:18:06 2025 by
575
+ Generated on Tue Sep 9 14:11:15 2025 by
576
576
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
577
577
  0.9.37 (ruby-3.4.5).
578
578
  </div>
@@ -649,7 +649,7 @@ on your use-case.</p>
649
649
  </div>
650
650
 
651
651
  <div id="footer">
652
- Generated on Mon Sep 8 22:18:06 2025 by
652
+ Generated on Tue Sep 9 14:11:15 2025 by
653
653
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
654
654
  0.9.37 (ruby-3.4.5).
655
655
  </div>
@@ -117,7 +117,7 @@
117
117
  </div>
118
118
 
119
119
  <div id="footer">
120
- Generated on Mon Sep 8 22:18:05 2025 by
120
+ Generated on Tue Sep 9 14:11:14 2025 by
121
121
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
122
122
  0.9.37 (ruby-3.4.5).
123
123
  </div>
@@ -367,7 +367,7 @@ something that responds to <code>each</code>.</p>
367
367
  </div>
368
368
 
369
369
  <div id="footer">
370
- Generated on Mon Sep 8 22:18:06 2025 by
370
+ Generated on Tue Sep 9 14:11:15 2025 by
371
371
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
372
372
  0.9.37 (ruby-3.4.5).
373
373
  </div>
@@ -432,7 +432,7 @@ returns is returned here.</p>
432
432
  </div>
433
433
 
434
434
  <div id="footer">
435
- Generated on Mon Sep 8 22:18:05 2025 by
435
+ Generated on Tue Sep 9 14:11:14 2025 by
436
436
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
437
437
  0.9.37 (ruby-3.4.5).
438
438
  </div>
@@ -308,7 +308,7 @@ configured in <span class='object_link'><a href="../RouteHooks/CSPNoInlineStyles
308
308
  </div>
309
309
 
310
310
  <div id="footer">
311
- Generated on Mon Sep 8 22:18:06 2025 by
311
+ Generated on Tue Sep 9 14:11:15 2025 by
312
312
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
313
313
  0.9.37 (ruby-3.4.5).
314
314
  </div>
@@ -326,7 +326,7 @@
326
326
  </div>
327
327
 
328
328
  <div id="footer">
329
- Generated on Mon Sep 8 22:18:06 2025 by
329
+ Generated on Tue Sep 9 14:11:15 2025 by
330
330
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
331
331
  0.9.37 (ruby-3.4.5).
332
332
  </div>
@@ -389,7 +389,7 @@
389
389
  </div>
390
390
 
391
391
  <div id="footer">
392
- Generated on Mon Sep 8 22:18:06 2025 by
392
+ Generated on Tue Sep 9 14:11:15 2025 by
393
393
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
394
394
  0.9.37 (ruby-3.4.5).
395
395
  </div>
@@ -344,7 +344,7 @@ the app.</p>
344
344
  </div>
345
345
 
346
346
  <div id="footer">
347
- Generated on Mon Sep 8 22:18:06 2025 by
347
+ Generated on Tue Sep 9 14:11:15 2025 by
348
348
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
349
349
  0.9.37 (ruby-3.4.5).
350
350
  </div>
@@ -141,7 +141,7 @@
141
141
  </div>
142
142
 
143
143
  <div id="footer">
144
- Generated on Mon Sep 8 22:18:06 2025 by
144
+ Generated on Tue Sep 9 14:11:15 2025 by
145
145
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
146
146
  0.9.37 (ruby-3.4.5).
147
147
  </div>
@@ -305,7 +305,7 @@
305
305
  </div>
306
306
 
307
307
  <div id="footer">
308
- Generated on Mon Sep 8 22:18:06 2025 by
308
+ Generated on Tue Sep 9 14:11:15 2025 by
309
309
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
310
310
  0.9.37 (ruby-3.4.5).
311
311
  </div>
@@ -115,7 +115,7 @@
115
115
  </div>
116
116
 
117
117
  <div id="footer">
118
- Generated on Mon Sep 8 22:18:05 2025 by
118
+ Generated on Tue Sep 9 14:11:14 2025 by
119
119
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
120
120
  0.9.37 (ruby-3.4.5).
121
121
  </div>
@@ -329,7 +329,7 @@ redirect to a non-GET.</p>
329
329
  </div>
330
330
 
331
331
  <div id="footer">
332
- Generated on Mon Sep 8 22:18:05 2025 by
332
+ Generated on Tue Sep 9 14:11:14 2025 by
333
333
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
334
334
  0.9.37 (ruby-3.4.5).
335
335
  </div>
@@ -651,7 +651,7 @@
651
651
  </div>
652
652
 
653
653
  <div id="footer">
654
- Generated on Mon Sep 8 22:18:06 2025 by
654
+ Generated on Tue Sep 9 14:11:15 2025 by
655
655
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
656
656
  0.9.37 (ruby-3.4.5).
657
657
  </div>
@@ -486,7 +486,7 @@ considered a valid HTTP status code</p>
486
486
  </div>
487
487
 
488
488
  <div id="footer">
489
- Generated on Mon Sep 8 22:18:06 2025 by
489
+ Generated on Tue Sep 9 14:11:15 2025 by
490
490
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
491
491
  0.9.37 (ruby-3.4.5).
492
492
  </div>
@@ -274,7 +274,7 @@
274
274
  </div>
275
275
 
276
276
  <div id="footer">
277
- Generated on Mon Sep 8 22:18:06 2025 by
277
+ Generated on Tue Sep 9 14:11:15 2025 by
278
278
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
279
279
  0.9.37 (ruby-3.4.5).
280
280
  </div>