brut 0.16.0.pre.pre → 0.17.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 (456) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +6 -0
  3. data/CHANGELOG.md +9 -3
  4. data/Gemfile.lock +44 -34
  5. data/bin/docs +7 -0
  6. data/brut-css/package-lock.json +2 -2
  7. data/brut-css/package.json +1 -1
  8. data/brut-js/package-lock.json +311 -2
  9. data/brut-js/package.json +2 -1
  10. data/brut.gemspec +2 -0
  11. data/brutrb.com/jobs.md +1 -1
  12. data/docs/404.html +2 -2
  13. data/docs/adrs.html +4 -4
  14. data/docs/ai.html +4 -4
  15. data/docs/api/Brut/BackEnd/SeedData.html +2 -2
  16. data/docs/api/Brut/BackEnd/Sidekiq/Middlewares/Server/FlushSpans.html +2 -2
  17. data/docs/api/Brut/BackEnd/Sidekiq/Middlewares/Server.html +2 -2
  18. data/docs/api/Brut/BackEnd/Sidekiq/Middlewares.html +2 -2
  19. data/docs/api/Brut/BackEnd/Sidekiq.html +2 -2
  20. data/docs/api/Brut/BackEnd/Validators/FormValidator.html +2 -2
  21. data/docs/api/Brut/BackEnd/Validators.html +2 -2
  22. data/docs/api/Brut/BackEnd.html +2 -2
  23. data/docs/api/Brut/CLI/App.html +2 -2
  24. data/docs/api/Brut/CLI/AppRunner.html +2 -2
  25. data/docs/api/Brut/CLI/Apps/BuildAssets/All.html +2 -2
  26. data/docs/api/Brut/CLI/Apps/BuildAssets/CSS.html +2 -2
  27. data/docs/api/Brut/CLI/Apps/BuildAssets/Images.html +3 -3
  28. data/docs/api/Brut/CLI/Apps/BuildAssets/JS.html +2 -2
  29. data/docs/api/Brut/CLI/Apps/BuildAssets.html +2 -2
  30. data/docs/api/Brut/CLI/Apps/DB/Create.html +2 -2
  31. data/docs/api/Brut/CLI/Apps/DB/Drop.html +2 -2
  32. data/docs/api/Brut/CLI/Apps/DB/Migrate.html +2 -2
  33. data/docs/api/Brut/CLI/Apps/DB/NewMigration.html +2 -2
  34. data/docs/api/Brut/CLI/Apps/DB/Rebuild.html +2 -2
  35. data/docs/api/Brut/CLI/Apps/DB/Seed.html +2 -2
  36. data/docs/api/Brut/CLI/Apps/DB/Status.html +2 -2
  37. data/docs/api/Brut/CLI/Apps/DB.html +2 -2
  38. data/docs/api/Brut/CLI/Apps/DeployBase/GitChecks.html +2 -2
  39. data/docs/api/Brut/CLI/Apps/DeployBase.html +2 -2
  40. data/docs/api/Brut/CLI/Apps/HerokuContainerBasedDeploy/Deploy.html +8 -6
  41. data/docs/api/Brut/CLI/Apps/HerokuContainerBasedDeploy.html +2 -2
  42. data/docs/api/Brut/CLI/Apps/Scaffold/Action/Route.html +2 -2
  43. data/docs/api/Brut/CLI/Apps/Scaffold/Action.html +2 -2
  44. data/docs/api/Brut/CLI/Apps/Scaffold/Component.html +2 -2
  45. data/docs/api/Brut/CLI/Apps/Scaffold/CustomElementTest.html +2 -2
  46. data/docs/api/Brut/CLI/Apps/Scaffold/DbModel.html +2 -2
  47. data/docs/api/Brut/CLI/Apps/Scaffold/E2ETest.html +2 -2
  48. data/docs/api/Brut/CLI/Apps/Scaffold/Form.html +2 -2
  49. data/docs/api/Brut/CLI/Apps/Scaffold/Page/Route.html +2 -2
  50. data/docs/api/Brut/CLI/Apps/Scaffold/Page.html +2 -2
  51. data/docs/api/Brut/CLI/Apps/Scaffold/RoutesEditor.html +2 -2
  52. data/docs/api/Brut/CLI/Apps/Scaffold/Test.html +2 -2
  53. data/docs/api/Brut/CLI/Apps/Scaffold.html +2 -2
  54. data/docs/api/Brut/CLI/Apps/Test/Audit.html +15 -7
  55. data/docs/api/Brut/CLI/Apps/Test/E2e.html +2 -2
  56. data/docs/api/Brut/CLI/Apps/Test/JS.html +2 -2
  57. data/docs/api/Brut/CLI/Apps/Test/Run.html +2 -2
  58. data/docs/api/Brut/CLI/Apps/Test.html +2 -2
  59. data/docs/api/Brut/CLI/Apps.html +2 -2
  60. data/docs/api/Brut/CLI/Command.html +2 -2
  61. data/docs/api/Brut/CLI/Error.html +2 -2
  62. data/docs/api/Brut/CLI/ExecutionResults/Result.html +2 -2
  63. data/docs/api/Brut/CLI/ExecutionResults.html +2 -2
  64. data/docs/api/Brut/CLI/Executor.html +2 -2
  65. data/docs/api/Brut/CLI/InvalidOption.html +2 -2
  66. data/docs/api/Brut/CLI/Options.html +2 -2
  67. data/docs/api/Brut/CLI/Output.html +2 -2
  68. data/docs/api/Brut/CLI/SystemExecError.html +2 -2
  69. data/docs/api/Brut/CLI.html +2 -2
  70. data/docs/api/Brut/FactoryBot.html +2 -2
  71. data/docs/api/Brut/Framework/App.html +2 -2
  72. data/docs/api/Brut/Framework/Config.html +2 -2
  73. data/docs/api/Brut/Framework/Container.html +11 -7
  74. data/docs/api/Brut/Framework/Error.html +2 -2
  75. data/docs/api/Brut/Framework/Errors/AbstractMethod.html +2 -2
  76. data/docs/api/Brut/Framework/Errors/Bug.html +2 -2
  77. data/docs/api/Brut/Framework/Errors/MissingConfiguration.html +2 -2
  78. data/docs/api/Brut/Framework/Errors/MissingParameter.html +2 -2
  79. data/docs/api/Brut/Framework/Errors/NoClassForPath.html +2 -2
  80. data/docs/api/Brut/Framework/Errors/NotFound.html +2 -2
  81. data/docs/api/Brut/Framework/Errors/NotImplemented.html +2 -2
  82. data/docs/api/Brut/Framework/Errors.html +2 -2
  83. data/docs/api/Brut/Framework/FussyTypeEnforcement.html +2 -2
  84. data/docs/api/Brut/Framework/MCP.html +3 -3
  85. data/docs/api/Brut/Framework/ProjectEnvironment.html +2 -2
  86. data/docs/api/Brut/Framework.html +2 -2
  87. data/docs/api/Brut/FrontEnd/AssetPathResolver.html +2 -2
  88. data/docs/api/Brut/FrontEnd/Component/Helpers.html +2 -2
  89. data/docs/api/Brut/FrontEnd/Component.html +2 -2
  90. data/docs/api/Brut/FrontEnd/Components/ConstraintViolations.html +2 -2
  91. data/docs/api/Brut/FrontEnd/Components/FormTag.html +2 -2
  92. data/docs/api/Brut/FrontEnd/Components/I18nTranslations.html +2 -2
  93. data/docs/api/Brut/FrontEnd/Components/Input.html +2 -2
  94. data/docs/api/Brut/FrontEnd/Components/Inputs/ButtonTag.html +2 -2
  95. data/docs/api/Brut/FrontEnd/Components/Inputs/CsrfToken.html +2 -2
  96. data/docs/api/Brut/FrontEnd/Components/Inputs/InputTag.html +2 -2
  97. data/docs/api/Brut/FrontEnd/Components/Inputs/RadioButton.html +2 -2
  98. data/docs/api/Brut/FrontEnd/Components/Inputs/SelectTagWithOptions.html +2 -2
  99. data/docs/api/Brut/FrontEnd/Components/Inputs/TextareaTag.html +2 -2
  100. data/docs/api/Brut/FrontEnd/Components/Inputs.html +2 -2
  101. data/docs/api/Brut/FrontEnd/Components/LocaleDetection.html +2 -2
  102. data/docs/api/Brut/FrontEnd/Components/PageIdentifier.html +2 -2
  103. data/docs/api/Brut/FrontEnd/Components/TimeTag.html +2 -2
  104. data/docs/api/Brut/FrontEnd/Components/Traceparent.html +2 -2
  105. data/docs/api/Brut/FrontEnd/Components.html +2 -2
  106. data/docs/api/Brut/FrontEnd/CsrfProtector.html +2 -2
  107. data/docs/api/Brut/FrontEnd/Download.html +2 -2
  108. data/docs/api/Brut/FrontEnd/Flash.html +2 -2
  109. data/docs/api/Brut/FrontEnd/Form.html +2 -2
  110. data/docs/api/Brut/FrontEnd/Forms/Button.html +2 -2
  111. data/docs/api/Brut/FrontEnd/Forms/ButtonInputDefinition.html +2 -2
  112. data/docs/api/Brut/FrontEnd/Forms/ConstraintViolation.html +2 -2
  113. data/docs/api/Brut/FrontEnd/Forms/Input/Color.html +2 -2
  114. data/docs/api/Brut/FrontEnd/Forms/Input/TimeOfDay.html +2 -2
  115. data/docs/api/Brut/FrontEnd/Forms/Input.html +2 -2
  116. data/docs/api/Brut/FrontEnd/Forms/InputDeclarations.html +2 -2
  117. data/docs/api/Brut/FrontEnd/Forms/InputDefinition.html +2 -2
  118. data/docs/api/Brut/FrontEnd/Forms/RadioButtonGroupInput.html +2 -2
  119. data/docs/api/Brut/FrontEnd/Forms/RadioButtonGroupInputDefinition.html +2 -2
  120. data/docs/api/Brut/FrontEnd/Forms/SelectInput.html +2 -2
  121. data/docs/api/Brut/FrontEnd/Forms/SelectInputDefinition.html +2 -2
  122. data/docs/api/Brut/FrontEnd/Forms/ValidityState.html +2 -2
  123. data/docs/api/Brut/FrontEnd/Forms.html +2 -2
  124. data/docs/api/Brut/FrontEnd/GenericResponse.html +2 -2
  125. data/docs/api/Brut/FrontEnd/Handler.html +2 -2
  126. data/docs/api/Brut/FrontEnd/Handlers/CspReportingHandler.html +2 -2
  127. data/docs/api/Brut/FrontEnd/Handlers/InstrumentationHandler/TraceParent.html +2 -2
  128. data/docs/api/Brut/FrontEnd/Handlers/InstrumentationHandler.html +2 -2
  129. data/docs/api/Brut/FrontEnd/Handlers/LocaleDetectionHandler.html +2 -2
  130. data/docs/api/Brut/FrontEnd/Handlers/MissingHandler/Form.html +2 -2
  131. data/docs/api/Brut/FrontEnd/Handlers/MissingHandler.html +2 -2
  132. data/docs/api/Brut/FrontEnd/Handlers.html +2 -2
  133. data/docs/api/Brut/FrontEnd/HandlingResults.html +2 -2
  134. data/docs/api/Brut/FrontEnd/HttpMethod.html +2 -2
  135. data/docs/api/Brut/FrontEnd/HttpStatus.html +2 -2
  136. data/docs/api/Brut/FrontEnd/InlineSvgLocator.html +2 -2
  137. data/docs/api/Brut/FrontEnd/Layout.html +2 -2
  138. data/docs/api/Brut/FrontEnd/Middleware.html +2 -2
  139. data/docs/api/Brut/FrontEnd/Middlewares/AnnotateBrutOwnedPaths.html +2 -2
  140. data/docs/api/Brut/FrontEnd/Middlewares/Favicon.html +2 -2
  141. data/docs/api/Brut/FrontEnd/Middlewares/OpenTelemetrySpan.html +2 -2
  142. data/docs/api/Brut/FrontEnd/Middlewares/ReloadApp.html +2 -2
  143. data/docs/api/Brut/FrontEnd/Middlewares.html +2 -2
  144. data/docs/api/Brut/FrontEnd/Page.html +2 -2
  145. data/docs/api/Brut/FrontEnd/Pages/MissingPage.html +2 -2
  146. data/docs/api/Brut/FrontEnd/Pages.html +2 -2
  147. data/docs/api/Brut/FrontEnd/RequestContext.html +2 -2
  148. data/docs/api/Brut/FrontEnd/RouteHook.html +2 -2
  149. data/docs/api/Brut/FrontEnd/RouteHooks/AgeFlash.html +2 -2
  150. data/docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineScripts.html +2 -2
  151. data/docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineStylesOrScripts/ReportOnly.html +2 -2
  152. data/docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineStylesOrScripts.html +2 -2
  153. data/docs/api/Brut/FrontEnd/RouteHooks/LocaleDetection.html +2 -2
  154. data/docs/api/Brut/FrontEnd/RouteHooks/SetupRequestContext.html +2 -2
  155. data/docs/api/Brut/FrontEnd/RouteHooks.html +2 -2
  156. data/docs/api/Brut/FrontEnd/Routing/FormHandlerRoute.html +2 -2
  157. data/docs/api/Brut/FrontEnd/Routing/FormRoute.html +2 -2
  158. data/docs/api/Brut/FrontEnd/Routing/MissingForm.html +2 -2
  159. data/docs/api/Brut/FrontEnd/Routing/MissingHandler.html +2 -2
  160. data/docs/api/Brut/FrontEnd/Routing/MissingPage.html +2 -2
  161. data/docs/api/Brut/FrontEnd/Routing/MissingPath.html +2 -2
  162. data/docs/api/Brut/FrontEnd/Routing/PageRoute.html +2 -2
  163. data/docs/api/Brut/FrontEnd/Routing/Route.html +2 -2
  164. data/docs/api/Brut/FrontEnd/Routing.html +2 -2
  165. data/docs/api/Brut/FrontEnd/Session.html +2 -2
  166. data/docs/api/Brut/FrontEnd.html +2 -2
  167. data/docs/api/Brut/I18n/BaseMethods.html +2 -2
  168. data/docs/api/Brut/I18n/ForBackEnd.html +2 -2
  169. data/docs/api/Brut/I18n/ForCLI.html +2 -2
  170. data/docs/api/Brut/I18n/ForHTML.html +2 -2
  171. data/docs/api/Brut/I18n/HTTPAcceptLanguage/AlwaysEnglish.html +2 -2
  172. data/docs/api/Brut/I18n/HTTPAcceptLanguage.html +2 -2
  173. data/docs/api/Brut/I18n.html +2 -2
  174. data/docs/api/Brut/Instrumentation/LoggerSpanExporter.html +2 -2
  175. data/docs/api/Brut/Instrumentation/Methods/ClassMethods.html +2 -2
  176. data/docs/api/Brut/Instrumentation/Methods.html +2 -2
  177. data/docs/api/Brut/Instrumentation/OpenTelemetry/NormalizedAttributes.html +2 -2
  178. data/docs/api/Brut/Instrumentation/OpenTelemetry/Span.html +2 -2
  179. data/docs/api/Brut/Instrumentation/OpenTelemetry.html +2 -2
  180. data/docs/api/Brut/Instrumentation.html +2 -2
  181. data/docs/api/Brut/RubocopConfig.html +2 -2
  182. data/docs/api/Brut/SinatraHelpers/ClassMethods.html +2 -2
  183. data/docs/api/Brut/SinatraHelpers.html +2 -2
  184. data/docs/api/Brut/SpecSupport/ClockSupport.html +2 -2
  185. data/docs/api/Brut/SpecSupport/ComponentSupport.html +2 -2
  186. data/docs/api/Brut/SpecSupport/E2ETestServer.html +2 -2
  187. data/docs/api/Brut/SpecSupport/E2eSupport.html +2 -2
  188. data/docs/api/Brut/SpecSupport/EnhancedNode.html +2 -2
  189. data/docs/api/Brut/SpecSupport/FlashSupport.html +2 -2
  190. data/docs/api/Brut/SpecSupport/GeneralSupport/ClassMethods.html +2 -2
  191. data/docs/api/Brut/SpecSupport/GeneralSupport.html +2 -2
  192. data/docs/api/Brut/SpecSupport/HandlerSupport.html +2 -2
  193. data/docs/api/Brut/SpecSupport/Matchers/BeABug.html +2 -2
  194. data/docs/api/Brut/SpecSupport/Matchers/BePageFor.html +2 -2
  195. data/docs/api/Brut/SpecSupport/Matchers/BeRoutingFor.html +2 -2
  196. data/docs/api/Brut/SpecSupport/Matchers/HaveConstraintViolation.html +2 -2
  197. data/docs/api/Brut/SpecSupport/Matchers/HaveGenerated.html +2 -2
  198. data/docs/api/Brut/SpecSupport/Matchers/HaveHTMLAttribute.html +2 -2
  199. data/docs/api/Brut/SpecSupport/Matchers/HaveI18nString.html +2 -2
  200. data/docs/api/Brut/SpecSupport/Matchers/HaveLinkTo.html +2 -2
  201. data/docs/api/Brut/SpecSupport/Matchers/HaveRedirectedTo.html +2 -2
  202. data/docs/api/Brut/SpecSupport/Matchers/HaveReturnedHttpStatus.html +2 -2
  203. data/docs/api/Brut/SpecSupport/Matchers/HaveReturnedRackResponse.html +2 -2
  204. data/docs/api/Brut/SpecSupport/Matchers.html +2 -2
  205. data/docs/api/Brut/SpecSupport/RSpecSetup/OptionalSidekiqSupport.html +2 -2
  206. data/docs/api/Brut/SpecSupport/RSpecSetup.html +2 -2
  207. data/docs/api/Brut/SpecSupport/SessionSupport.html +2 -2
  208. data/docs/api/Brut/SpecSupport.html +2 -2
  209. data/docs/api/Brut/TUI/AnsiEscapeCode/Mod.html +409 -0
  210. data/docs/api/Brut/TUI/AnsiEscapeCode.html +426 -0
  211. data/docs/api/Brut/TUI/EventLoop/Deque.html +531 -0
  212. data/docs/api/Brut/TUI/EventLoop.html +676 -0
  213. data/docs/api/Brut/TUI/Events/BaseEvent.html +449 -0
  214. data/docs/api/Brut/TUI/Events/EventBus.html +485 -0
  215. data/docs/api/Brut/TUI/Events/EventLoopStarted.html +211 -0
  216. data/docs/api/Brut/TUI/Events/Exception.html +523 -0
  217. data/docs/api/Brut/TUI/Events/Tick.html +294 -0
  218. data/docs/api/Brut/TUI/Events.html +131 -0
  219. data/docs/api/Brut/TUI/MarkupString.html +537 -0
  220. data/docs/api/Brut/TUI/Script/BlockStep.html +300 -0
  221. data/docs/api/Brut/TUI/Script/Events/CommandExecutionFailed.html +252 -0
  222. data/docs/api/Brut/TUI/Script/Events/CommandExecutionSucceeded.html +163 -0
  223. data/docs/api/Brut/TUI/Script/Events/CommandStdErr.html +163 -0
  224. data/docs/api/Brut/TUI/Script/Events/CommandStdOut.html +300 -0
  225. data/docs/api/Brut/TUI/Script/Events/ExecutingCommand.html +298 -0
  226. data/docs/api/Brut/TUI/Script/Events/Message.html +345 -0
  227. data/docs/api/Brut/TUI/Script/Events/PhaseCompleted.html +229 -0
  228. data/docs/api/Brut/TUI/Script/Events/PhaseStarted.html +350 -0
  229. data/docs/api/Brut/TUI/Script/Events/ScriptCompleted.html +282 -0
  230. data/docs/api/Brut/TUI/Script/Events/ScriptStarted.html +343 -0
  231. data/docs/api/Brut/TUI/Script/Events/StepCompleted.html +163 -0
  232. data/docs/api/Brut/TUI/Script/Events/StepStarted.html +346 -0
  233. data/docs/api/Brut/TUI/Script/Events.html +115 -0
  234. data/docs/api/Brut/TUI/Script/ExecStep/ProcessStatusFailed.html +210 -0
  235. data/docs/api/Brut/TUI/Script/ExecStep.html +493 -0
  236. data/docs/api/Brut/TUI/Script/LoggingSubscriber.html +914 -0
  237. data/docs/api/Brut/TUI/Script/PutsSubscriber.html +783 -0
  238. data/docs/api/Brut/TUI/Script/Step.html +313 -0
  239. data/docs/api/Brut/TUI/Script.html +1250 -0
  240. data/docs/api/Brut/TUI/Terminal.html +593 -0
  241. data/docs/api/Brut/TUI/TerminalTheme.html +1403 -0
  242. data/docs/api/Brut/TUI/Themes/Dark.html +706 -0
  243. data/docs/api/Brut/TUI/Themes/Light.html +804 -0
  244. data/docs/api/Brut/TUI/Themes/None.html +218 -0
  245. data/docs/api/Brut/TUI/Themes.html +115 -0
  246. data/docs/api/Brut/TUI.html +129 -0
  247. data/docs/api/Brut.html +4 -4
  248. data/docs/api/Clock.html +2 -2
  249. data/docs/api/ModuleName.html +2 -2
  250. data/docs/api/RichString.html +2 -2
  251. data/docs/api/SemanticLogger/Appender/Async.html +2 -2
  252. data/docs/api/Sequel/Extensions/BrutInstrumentation.html +2 -2
  253. data/docs/api/Sequel/Extensions/BrutMigrations.html +2 -2
  254. data/docs/api/Sequel/Extensions.html +2 -2
  255. data/docs/api/Sequel/Plugins/CreatedAt/InstanceMethods.html +2 -2
  256. data/docs/api/Sequel/Plugins/CreatedAt.html +2 -2
  257. data/docs/api/Sequel/Plugins/ExternalId/ClassMethods.html +2 -2
  258. data/docs/api/Sequel/Plugins/ExternalId/InstanceMethods.html +2 -2
  259. data/docs/api/Sequel/Plugins/ExternalId.html +2 -2
  260. data/docs/api/Sequel/Plugins/FindBang/ClassMethods.html +2 -2
  261. data/docs/api/Sequel/Plugins/FindBang.html +2 -2
  262. data/docs/api/Sequel/Plugins.html +2 -2
  263. data/docs/api/Sequel.html +2 -2
  264. data/docs/api/_index.html +247 -2
  265. data/docs/api/class_list.html +1 -1
  266. data/docs/api/file.README.html +2 -2
  267. data/docs/api/index.html +2 -2
  268. data/docs/api/method_list.html +1551 -431
  269. data/docs/api/top-level-namespace.html +2 -2
  270. data/docs/assets/{app.Dm7v_ouO.js → app.B8jAEB7R.js} +1 -1
  271. data/docs/assets/chunks/@localSearchIndexroot.DJ8mocCj.js +1 -0
  272. data/docs/assets/chunks/{VPLocalSearchBox.DQK6jQou.js → VPLocalSearchBox.gF-Po_fz.js} +1 -1
  273. data/docs/assets/chunks/{theme.BuExsdM9.js → theme.BjPAOJkz.js} +2 -2
  274. data/docs/assets/{components.md.Dfd3w6UW.js → components.md.Ber8UBM0.js} +3 -3
  275. data/docs/assets/{configuration.md.DTYoV2Ea.js → configuration.md.DrJ6YVoZ.js} +1 -1
  276. data/docs/assets/{deployment.md.C1u5ep0g.js → deployment.md.CHTx2eTR.js} +10 -3
  277. data/docs/assets/{deployment.md.C1u5ep0g.lean.js → deployment.md.CHTx2eTR.lean.js} +1 -1
  278. data/docs/assets/{forms.md.DEkmJUvb.js → forms.md.RK0zkhm0.js} +2 -2
  279. data/docs/assets/{forms.md.DEkmJUvb.lean.js → forms.md.RK0zkhm0.lean.js} +1 -1
  280. data/docs/assets/{getting-started.md.DO-4eoGW.js → getting-started.md.CGJ44juQ.js} +2 -2
  281. data/docs/assets/jobs.md.Bi3qb3v6.js +25 -0
  282. data/docs/assets/jobs.md.Bi3qb3v6.lean.js +1 -0
  283. data/docs/assets/recipes_dev-env-secrets.md.DC_jVY9U.js +12 -0
  284. data/docs/assets/recipes_dev-env-secrets.md.DC_jVY9U.lean.js +1 -0
  285. data/docs/assets/roadmap.md.DqC1Y7Zt.js +1 -0
  286. data/docs/assets/{roadmap.md.CJsbUmK_.lean.js → roadmap.md.DqC1Y7Zt.lean.js} +1 -1
  287. data/docs/assets/{tutorials_02-dialog.md.D2vSjDVf.js → tutorials_02-dialog.md.DE5WfCXI.js} +1 -1
  288. data/docs/assets.html +4 -4
  289. data/docs/brut-js/api/AjaxSubmit.html +1 -1
  290. data/docs/brut-js/api/AjaxSubmit.js.html +1 -1
  291. data/docs/brut-js/api/Autosubmit.html +1 -1
  292. data/docs/brut-js/api/Autosubmit.js.html +1 -1
  293. data/docs/brut-js/api/BaseCustomElement.html +1 -1
  294. data/docs/brut-js/api/BaseCustomElement.js.html +1 -1
  295. data/docs/brut-js/api/BrutCustomElements.html +1 -1
  296. data/docs/brut-js/api/BufferedLogger.html +1 -1
  297. data/docs/brut-js/api/ConfirmSubmit.html +1 -1
  298. data/docs/brut-js/api/ConfirmSubmit.js.html +1 -1
  299. data/docs/brut-js/api/ConfirmationDialog.html +1 -1
  300. data/docs/brut-js/api/ConfirmationDialog.js.html +1 -1
  301. data/docs/brut-js/api/ConstraintViolationMessage.html +1 -1
  302. data/docs/brut-js/api/ConstraintViolationMessage.js.html +1 -1
  303. data/docs/brut-js/api/ConstraintViolationMessages.html +1 -1
  304. data/docs/brut-js/api/ConstraintViolationMessages.js.html +1 -1
  305. data/docs/brut-js/api/CopyToClipboard.html +1 -1
  306. data/docs/brut-js/api/CopyToClipboard.js.html +1 -1
  307. data/docs/brut-js/api/Form.html +1 -1
  308. data/docs/brut-js/api/Form.js.html +1 -1
  309. data/docs/brut-js/api/I18nTranslation.html +1 -1
  310. data/docs/brut-js/api/I18nTranslation.js.html +1 -1
  311. data/docs/brut-js/api/LocaleDetection.html +1 -1
  312. data/docs/brut-js/api/LocaleDetection.js.html +1 -1
  313. data/docs/brut-js/api/Logger.html +1 -1
  314. data/docs/brut-js/api/Logger.js.html +1 -1
  315. data/docs/brut-js/api/Message.html +1 -1
  316. data/docs/brut-js/api/Message.js.html +1 -1
  317. data/docs/brut-js/api/PrefixedLogger.html +1 -1
  318. data/docs/brut-js/api/RichString.html +1 -1
  319. data/docs/brut-js/api/RichString.js.html +1 -1
  320. data/docs/brut-js/api/Tabs.html +1 -1
  321. data/docs/brut-js/api/Tabs.js.html +1 -1
  322. data/docs/brut-js/api/Toast.html +1 -1
  323. data/docs/brut-js/api/Toast.js.html +1 -1
  324. data/docs/brut-js/api/Tracing.html +1 -1
  325. data/docs/brut-js/api/Tracing.js.html +1 -1
  326. data/docs/brut-js/api/external-CustomElementRegistry.html +1 -1
  327. data/docs/brut-js/api/external-Performance.html +1 -1
  328. data/docs/brut-js/api/external-Promise.html +1 -1
  329. data/docs/brut-js/api/external-ValidityState.html +1 -1
  330. data/docs/brut-js/api/external-Window.html +1 -1
  331. data/docs/brut-js/api/external-fetch.html +1 -1
  332. data/docs/brut-js/api/global.html +1 -1
  333. data/docs/brut-js/api/index.html +1 -1
  334. data/docs/brut-js/api/index.js.html +1 -1
  335. data/docs/brut-js/api/module-testing.html +1 -1
  336. data/docs/brut-js/api/testing.AssetMetadata.html +1 -1
  337. data/docs/brut-js/api/testing.AssetMetadataLoader.html +1 -1
  338. data/docs/brut-js/api/testing.CustomElementTest.html +1 -1
  339. data/docs/brut-js/api/testing.DOMCreator.html +1 -1
  340. data/docs/brut-js/api/testing_AssetMetadata.js.html +1 -1
  341. data/docs/brut-js/api/testing_AssetMetadataLoader.js.html +1 -1
  342. data/docs/brut-js/api/testing_CustomElementTest.js.html +1 -1
  343. data/docs/brut-js/api/testing_DOMCreator.js.html +1 -1
  344. data/docs/brut-js/api/testing_index.js.html +1 -1
  345. data/docs/brut-js.html +4 -4
  346. data/docs/business-logic.html +4 -4
  347. data/docs/cli.html +4 -4
  348. data/docs/components.html +8 -8
  349. data/docs/configuration.html +5 -5
  350. data/docs/css.html +4 -4
  351. data/docs/custom-element-tests.html +4 -4
  352. data/docs/database-access.html +4 -4
  353. data/docs/database-schema.html +4 -4
  354. data/docs/deployment.html +13 -6
  355. data/docs/dev-environment.html +4 -4
  356. data/docs/dir-structure.html +4 -4
  357. data/docs/doc-conventions.html +4 -4
  358. data/docs/end-to-end-tests.html +4 -4
  359. data/docs/features.html +4 -4
  360. data/docs/flash-and-session.html +4 -4
  361. data/docs/form-constraints.html +4 -4
  362. data/docs/forms.html +6 -6
  363. data/docs/getting-started.html +7 -7
  364. data/docs/handlers.html +4 -4
  365. data/docs/hashmap.json +1 -1
  366. data/docs/hooks.html +4 -4
  367. data/docs/i18n.html +4 -4
  368. data/docs/index.html +3 -3
  369. data/docs/instrumentation.html +4 -4
  370. data/docs/javascript.html +4 -4
  371. data/docs/jobs.html +29 -5
  372. data/docs/keyword-injection.html +4 -4
  373. data/docs/layouts.html +4 -4
  374. data/docs/lsp.html +4 -4
  375. data/docs/markdown-examples.html +4 -4
  376. data/docs/middleware.html +4 -4
  377. data/docs/overview.html +4 -4
  378. data/docs/pages.html +4 -4
  379. data/docs/recipes/alternate-layouts.html +5 -5
  380. data/docs/recipes/authentication.html +5 -5
  381. data/docs/recipes/custom-flash.html +5 -5
  382. data/docs/recipes/dev-env-secrets.html +40 -0
  383. data/docs/recipes/form-errors.html +5 -5
  384. data/docs/recipes/indexed-forms.html +5 -5
  385. data/docs/recipes/migrations.html +5 -5
  386. data/docs/recipes/text-field-component.html +5 -5
  387. data/docs/roadmap.html +5 -5
  388. data/docs/routes.html +4 -4
  389. data/docs/security.html +4 -4
  390. data/docs/seed-data.html +4 -4
  391. data/docs/space-time-continuum.html +4 -4
  392. data/docs/tutorial.html +4 -4
  393. data/docs/tutorials/01-intro.html +4 -4
  394. data/docs/tutorials/02-dialog.html +5 -5
  395. data/docs/unit-tests.html +4 -4
  396. data/docs/why.html +4 -4
  397. data/lib/brut/cli/apps/build_assets.rb +1 -1
  398. data/lib/brut/cli/apps/heroku_container_based_deploy.rb +1 -1
  399. data/lib/brut/cli/apps/test.rb +6 -4
  400. data/lib/brut/tui/ansi_escape_code.rb +104 -0
  401. data/lib/brut/tui/event_loop.rb +168 -0
  402. data/lib/brut/tui/events/base_event.rb +29 -0
  403. data/lib/brut/tui/events/event_bus.rb +73 -0
  404. data/lib/brut/tui/events/event_loop_started.rb +5 -0
  405. data/lib/brut/tui/events/exception.rb +24 -0
  406. data/lib/brut/tui/events/tick.rb +12 -0
  407. data/lib/brut/tui/events.rb +7 -0
  408. data/lib/brut/tui/markup_string.rb +68 -0
  409. data/lib/brut/tui/script/block_step.rb +17 -0
  410. data/lib/brut/tui/script/events/command_execution_failed.rb +4 -0
  411. data/lib/brut/tui/script/events/command_execution_succeeded.rb +3 -0
  412. data/lib/brut/tui/script/events/command_std_err.rb +3 -0
  413. data/lib/brut/tui/script/events/command_std_out.rb +13 -0
  414. data/lib/brut/tui/script/events/executing_command.rb +12 -0
  415. data/lib/brut/tui/script/events/message.rb +15 -0
  416. data/lib/brut/tui/script/events/phase_completed.rb +4 -0
  417. data/lib/brut/tui/script/events/phase_started.rb +14 -0
  418. data/lib/brut/tui/script/events/script_completed.rb +5 -0
  419. data/lib/brut/tui/script/events/script_started.rb +12 -0
  420. data/lib/brut/tui/script/events/step_completed.rb +3 -0
  421. data/lib/brut/tui/script/events/step_started.rb +12 -0
  422. data/lib/brut/tui/script/events.rb +14 -0
  423. data/lib/brut/tui/script/exec_step.rb +60 -0
  424. data/lib/brut/tui/script/logging_subscriber.rb +98 -0
  425. data/lib/brut/tui/script/puts_subscriber.rb +109 -0
  426. data/lib/brut/tui/script/step.rb +13 -0
  427. data/lib/brut/tui/script.rb +211 -0
  428. data/lib/brut/tui/terminal.rb +74 -0
  429. data/lib/brut/tui/terminal_theme.rb +140 -0
  430. data/lib/brut/tui/themes/dark.rb +14 -0
  431. data/lib/brut/tui/themes/light.rb +17 -0
  432. data/lib/brut/tui/themes/none.rb +9 -0
  433. data/lib/brut/tui/themes.rb +5 -0
  434. data/lib/brut/tui.rb +15 -0
  435. data/lib/brut/version.rb +1 -1
  436. data/lib/brut.rb +1 -0
  437. data/mkbrut/Gemfile.lock +2 -1
  438. data/mkbrut/lib/mkbrut/version.rb +1 -1
  439. data/mkbrut/templates/segments/Heroku/deploy/Dockerfile +9 -7
  440. data/mkbrut/templates/segments/Heroku/deploy/heroku_config.rb +2 -2
  441. data/specs/brut/tui/ansi_escape_code.spec.rb +30 -0
  442. data/specs/brut/tui/event_loop.spec.rb +70 -0
  443. data/specs/brut/tui/events/base_event.spec.rb +26 -0
  444. data/specs/brut/tui/events/event_bus.spec.rb +141 -0
  445. data/specs/brut/tui/events/exception.spec.rb +19 -0
  446. data/specs/brut/tui/events/test_event.rb +5 -0
  447. data/specs/spec_helper.rb +4 -0
  448. metadata +131 -21
  449. data/docs/assets/chunks/@localSearchIndexroot.BiNFswvo.js +0 -1
  450. data/docs/assets/jobs.md.Bc7Y1YpK.js +0 -1
  451. data/docs/assets/jobs.md.Bc7Y1YpK.lean.js +0 -1
  452. data/docs/assets/roadmap.md.CJsbUmK_.js +0 -1
  453. /data/docs/assets/{components.md.Dfd3w6UW.lean.js → components.md.Ber8UBM0.lean.js} +0 -0
  454. /data/docs/assets/{configuration.md.DTYoV2Ea.lean.js → configuration.md.DrJ6YVoZ.lean.js} +0 -0
  455. /data/docs/assets/{getting-started.md.DO-4eoGW.lean.js → getting-started.md.CGJ44juQ.lean.js} +0 -0
  456. /data/docs/assets/{tutorials_02-dialog.md.D2vSjDVf.lean.js → tutorials_02-dialog.md.DE5WfCXI.lean.js} +0 -0
@@ -332,7 +332,11 @@
332
332
  213
333
333
  214
334
334
  215
335
- 216</pre>
335
+ 216
336
+ 217
337
+ 218
338
+ 219
339
+ 220</pre>
336
340
  </td>
337
341
  <td>
338
342
  <pre class="code"><span class="info file"># File 'lib/brut/cli/apps/test.rb', line 108</span>
@@ -399,34 +403,38 @@
399
403
  <span class='id identifier rubyid_type'>type</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>back_end</span><span class='tstring_end'>&quot;</span></span> <span class='op'>||</span>
400
404
  <span class='id identifier rubyid_type'>type</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>seed</span><span class='tstring_end'>&quot;</span></span> <span class='op'>||</span>
401
405
  <span class='id identifier rubyid_type'>type</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>migrations</span><span class='tstring_end'>&quot;</span></span> <span class='op'>||</span>
406
+ <span class='id identifier rubyid_type'>type</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>segments</span><span class='tstring_end'>&quot;</span></span> <span class='op'>||</span>
402
407
  <span class='id identifier rubyid_pathname'>pathname</span><span class='period'>.</span><span class='id identifier rubyid_basename'>basename</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>app_data_model.rb</span><span class='tstring_end'>&quot;</span></span> <span class='op'>||</span>
408
+ <span class='id identifier rubyid_pathname'>pathname</span><span class='period'>.</span><span class='id identifier rubyid_basename'>basename</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>app_job.rb</span><span class='tstring_end'>&quot;</span></span> <span class='op'>||</span>
403
409
  <span class='id identifier rubyid_pathname'>pathname</span><span class='period'>.</span><span class='id identifier rubyid_basename'>basename</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>db.rb</span><span class='tstring_end'>&quot;</span></span>
404
410
 
405
411
  <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='symbol'>:infrastructure</span>
406
412
  <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:test_expected</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>false</span>
407
413
  <span class='kw'>else</span>
408
- <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_type'>type</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
414
+ <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_pathname'>pathname</span><span class='period'>.</span><span class='id identifier rubyid_relative_path_from'>relative_path_from</span><span class='lparen'>(</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_back_end_src_dir'>back_end_src_dir</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_dirname'>dirname</span>
409
415
  <span class='kw'>end</span>
410
416
  <span class='kw'>else</span>
411
417
  <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='symbol'>:other</span>
412
418
  <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:test_expected</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>false</span>
413
419
  <span class='kw'>end</span>
414
420
  <span class='id identifier rubyid_hash'>hash</span>
415
- <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_compact'>compact</span>
421
+ <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_compact'>compact</span><span class='period'>.</span><span class='id identifier rubyid_sort_by'>sort_by</span> <span class='lbrace'>{</span> <span class='id identifier rubyid_it'>it</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='op'>+</span> <span class='id identifier rubyid_it'>it</span><span class='lbracket'>[</span><span class='symbol'>:source_file</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='rbrace'>}</span>
416
422
 
417
423
  <span class='id identifier rubyid_files_missing'>files_missing</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
418
424
  <span class='id identifier rubyid_printed_header'>printed_header</span> <span class='op'>=</span> <span class='kw'>false</span>
419
425
  <span class='id identifier rubyid_audit'>audit</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_file_audit'>file_audit</span><span class='op'>|</span>
420
426
  <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_file_audit'>file_audit</span><span class='lbracket'>[</span><span class='symbol'>:test_file</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_exist?'>exist?</span>
421
- <span class='kw'>if</span> <span class='id identifier rubyid_options'>options</span><span class='period'>.</span><span class='id identifier rubyid_audit_type'>audit_type</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>||</span> <span class='id identifier rubyid_file_audit'>file_audit</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='id identifier rubyid_options'>options</span><span class='period'>.</span><span class='id identifier rubyid_audit_type'>audit_type</span>
427
+ <span class='kw'>if</span> <span class='id identifier rubyid_options'>options</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>||</span> <span class='id identifier rubyid_file_audit'>file_audit</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='id identifier rubyid_options'>options</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
422
428
  <span class='kw'>if</span> <span class='id identifier rubyid_file_audit'>file_audit</span><span class='lbracket'>[</span><span class='symbol'>:test_expected</span><span class='rbracket'>]</span>
423
429
  <span class='id identifier rubyid_files_missing'>files_missing</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_file_audit'>file_audit</span><span class='lbracket'>[</span><span class='symbol'>:source_file</span><span class='rbracket'>]</span>
424
430
  <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_printed_header'>printed_header</span>
425
431
  <span class='id identifier rubyid_out'>out</span><span class='period'>.</span><span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>These files are missing tests:</span><span class='tstring_end'>&quot;</span></span>
426
432
  <span class='id identifier rubyid_out'>out</span><span class='period'>.</span><span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_end'>&quot;</span></span>
433
+ <span class='id identifier rubyid_out'>out</span><span class='period'>.</span><span class='id identifier rubyid_printf'>printf</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>%-25s %s\n</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Type</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Path</span><span class='tstring_end'>&quot;</span></span>
434
+ <span class='id identifier rubyid_out'>out</span><span class='period'>.</span><span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>-------------------------------------------</span><span class='tstring_end'>&quot;</span></span>
427
435
  <span class='id identifier rubyid_printed_header'>printed_header</span> <span class='op'>=</span> <span class='kw'>true</span>
428
436
  <span class='kw'>end</span>
429
- <span class='id identifier rubyid_out'>out</span><span class='period'>.</span><span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_file_audit'>file_audit</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_ljust'>ljust</span><span class='lparen'>(</span><span class='int'>15</span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'> - </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_file_audit'>file_audit</span><span class='lbracket'>[</span><span class='symbol'>:source_file</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span>
437
+ <span class='id identifier rubyid_out'>out</span><span class='period'>.</span><span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_file_audit'>file_audit</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_ljust'>ljust</span><span class='lparen'>(</span><span class='int'>25</span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'> - </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_file_audit'>file_audit</span><span class='lbracket'>[</span><span class='symbol'>:source_file</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span>
430
438
  <span class='kw'>end</span>
431
439
  <span class='kw'>end</span>
432
440
  <span class='kw'>end</span>
@@ -456,9 +464,9 @@
456
464
  </div>
457
465
 
458
466
  <div id="footer">
459
- Generated on Tue Sep 16 13:23:59 2025 by
467
+ Generated on Sun Nov 30 20:50:11 2025 by
460
468
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
461
- 0.9.37 (ruby-3.4.5).
469
+ 0.9.37 (ruby-3.4.6).
462
470
  </div>
463
471
 
464
472
  </div>
@@ -397,9 +397,9 @@
397
397
  </div>
398
398
 
399
399
  <div id="footer">
400
- Generated on Tue Sep 16 13:23:59 2025 by
400
+ Generated on Sun Nov 30 20:50:11 2025 by
401
401
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
402
- 0.9.37 (ruby-3.4.5).
402
+ 0.9.37 (ruby-3.4.6).
403
403
  </div>
404
404
 
405
405
  </div>
@@ -252,9 +252,9 @@
252
252
  </div>
253
253
 
254
254
  <div id="footer">
255
- Generated on Tue Sep 16 13:23:59 2025 by
255
+ Generated on Sun Nov 30 20:50:11 2025 by
256
256
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
257
- 0.9.37 (ruby-3.4.5).
257
+ 0.9.37 (ruby-3.4.6).
258
258
  </div>
259
259
 
260
260
  </div>
@@ -568,9 +568,9 @@
568
568
  </div>
569
569
 
570
570
  <div id="footer">
571
- Generated on Tue Sep 16 13:23:59 2025 by
571
+ Generated on Sun Nov 30 20:50:11 2025 by
572
572
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
573
- 0.9.37 (ruby-3.4.5).
573
+ 0.9.37 (ruby-3.4.6).
574
574
  </div>
575
575
 
576
576
  </div>
@@ -243,9 +243,9 @@
243
243
  </div>
244
244
 
245
245
  <div id="footer">
246
- Generated on Tue Sep 16 13:23:59 2025 by
246
+ Generated on Sun Nov 30 20:50:11 2025 by
247
247
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
248
- 0.9.37 (ruby-3.4.5).
248
+ 0.9.37 (ruby-3.4.6).
249
249
  </div>
250
250
 
251
251
  </div>
@@ -115,9 +115,9 @@
115
115
  </div>
116
116
 
117
117
  <div id="footer">
118
- Generated on Tue Sep 16 13:23:59 2025 by
118
+ Generated on Sun Nov 30 20:50:11 2025 by
119
119
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
120
- 0.9.37 (ruby-3.4.5).
120
+ 0.9.37 (ruby-3.4.6).
121
121
  </div>
122
122
 
123
123
  </div>
@@ -2415,9 +2415,9 @@ the built-in <span class='object_link'><a href="Apps/DB.html" title="Brut::CLI::
2415
2415
  </div>
2416
2416
 
2417
2417
  <div id="footer">
2418
- Generated on Tue Sep 16 13:23:59 2025 by
2418
+ Generated on Sun Nov 30 20:50:11 2025 by
2419
2419
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
2420
- 0.9.37 (ruby-3.4.5).
2420
+ 0.9.37 (ruby-3.4.6).
2421
2421
  </div>
2422
2422
 
2423
2423
  </div>
@@ -129,9 +129,9 @@ trace.</p>
129
129
  </div>
130
130
 
131
131
  <div id="footer">
132
- Generated on Tue Sep 16 13:23:59 2025 by
132
+ Generated on Sun Nov 30 20:50:11 2025 by
133
133
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
134
- 0.9.37 (ruby-3.4.5).
134
+ 0.9.37 (ruby-3.4.6).
135
135
  </div>
136
136
 
137
137
  </div>
@@ -654,9 +654,9 @@
654
654
  </div>
655
655
 
656
656
  <div id="footer">
657
- Generated on Tue Sep 16 13:24:00 2025 by
657
+ Generated on Sun Nov 30 20:50:12 2025 by
658
658
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
659
- 0.9.37 (ruby-3.4.5).
659
+ 0.9.37 (ruby-3.4.6).
660
660
  </div>
661
661
 
662
662
  </div>
@@ -665,9 +665,9 @@ command.</p>
665
665
  </div>
666
666
 
667
667
  <div id="footer">
668
- Generated on Tue Sep 16 13:23:59 2025 by
668
+ Generated on Sun Nov 30 20:50:11 2025 by
669
669
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
670
- 0.9.37 (ruby-3.4.5).
670
+ 0.9.37 (ruby-3.4.6).
671
671
  </div>
672
672
 
673
673
  </div>
@@ -551,9 +551,9 @@ instead, as it will not raise an exception.</p>
551
551
  </div>
552
552
 
553
553
  <div id="footer">
554
- Generated on Tue Sep 16 13:23:59 2025 by
554
+ Generated on Sun Nov 30 20:50:11 2025 by
555
555
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
556
- 0.9.37 (ruby-3.4.5).
556
+ 0.9.37 (ruby-3.4.6).
557
557
  </div>
558
558
 
559
559
  </div>
@@ -235,9 +235,9 @@ error message given the global/command optiona dichotomy.</p>
235
235
  </div>
236
236
 
237
237
  <div id="footer">
238
- Generated on Tue Sep 16 13:23:59 2025 by
238
+ Generated on Sun Nov 30 20:50:11 2025 by
239
239
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
240
- 0.9.37 (ruby-3.4.5).
240
+ 0.9.37 (ruby-3.4.6).
241
241
  </div>
242
242
 
243
243
  </div>
@@ -870,9 +870,9 @@ line.</p>
870
870
  </div>
871
871
 
872
872
  <div id="footer">
873
- Generated on Tue Sep 16 13:23:59 2025 by
873
+ Generated on Sun Nov 30 20:50:11 2025 by
874
874
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
875
- 0.9.37 (ruby-3.4.5).
875
+ 0.9.37 (ruby-3.4.6).
876
876
  </div>
877
877
 
878
878
  </div>
@@ -689,9 +689,9 @@ it's intended to be piped into another app.</p>
689
689
  </div>
690
690
 
691
691
  <div id="footer">
692
- Generated on Tue Sep 16 13:23:59 2025 by
692
+ Generated on Sun Nov 30 20:50:11 2025 by
693
693
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
694
- 0.9.37 (ruby-3.4.5).
694
+ 0.9.37 (ruby-3.4.6).
695
695
  </div>
696
696
 
697
697
  </div>
@@ -441,9 +441,9 @@
441
441
  </div>
442
442
 
443
443
  <div id="footer">
444
- Generated on Tue Sep 16 13:23:59 2025 by
444
+ Generated on Sun Nov 30 20:50:11 2025 by
445
445
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
446
- 0.9.37 (ruby-3.4.5).
446
+ 0.9.37 (ruby-3.4.6).
447
447
  </div>
448
448
 
449
449
  </div>
@@ -253,9 +253,9 @@ it via <code>bin/clean-files</code>, you'd create <code>bin/clean-files</code> l
253
253
  </div>
254
254
 
255
255
  <div id="footer">
256
- Generated on Tue Sep 16 13:23:59 2025 by
256
+ Generated on Sun Nov 30 20:50:11 2025 by
257
257
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
258
- 0.9.37 (ruby-3.4.5).
258
+ 0.9.37 (ruby-3.4.6).
259
259
  </div>
260
260
 
261
261
  </div>
@@ -215,9 +215,9 @@
215
215
  </div>
216
216
 
217
217
  <div id="footer">
218
- Generated on Tue Sep 16 13:23:59 2025 by
218
+ Generated on Sun Nov 30 20:50:11 2025 by
219
219
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
220
- 0.9.37 (ruby-3.4.5).
220
+ 0.9.37 (ruby-3.4.6).
221
221
  </div>
222
222
 
223
223
  </div>
@@ -1087,9 +1087,9 @@ actions where an app needs to exist inside some organizational context.</p>
1087
1087
  </div>
1088
1088
 
1089
1089
  <div id="footer">
1090
- Generated on Tue Sep 16 13:23:59 2025 by
1090
+ Generated on Sun Nov 30 20:50:11 2025 by
1091
1091
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1092
- 0.9.37 (ruby-3.4.5).
1092
+ 0.9.37 (ruby-3.4.6).
1093
1093
  </div>
1094
1094
 
1095
1095
  </div>
@@ -1061,9 +1061,9 @@ connection to your database.</p>
1061
1061
  </div>
1062
1062
 
1063
1063
  <div id="footer">
1064
- Generated on Tue Sep 16 13:23:59 2025 by
1064
+ Generated on Sun Nov 30 20:50:11 2025 by
1065
1065
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1066
- 0.9.37 (ruby-3.4.5).
1066
+ 0.9.37 (ruby-3.4.6).
1067
1067
  </div>
1068
1068
 
1069
1069
  </div>
@@ -798,7 +798,9 @@ The names of the parameters must match the name of another configuration value.<
798
798
  235
799
799
  236
800
800
  237
801
- 238</pre>
801
+ 238
802
+ 239
803
+ 240</pre>
802
804
  </td>
803
805
  <td>
804
806
  <pre class="code"><span class="info file"># File 'lib/brut/framework/container.rb', line 224</span>
@@ -810,10 +812,12 @@ The names of the parameters must match the name of another configuration value.<
810
812
  <span class='id identifier rubyid_contained_value'>contained_value</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:value</span><span class='rparen'>)</span>
811
813
  <span class='kw'>else</span>
812
814
  <span class='id identifier rubyid_klass'>klass</span> <span class='op'>=</span> <span class='id identifier rubyid_contained_value'>contained_value</span><span class='lbracket'>[</span><span class='symbol'>:value</span><span class='rbracket'>]</span>
813
- <span class='id identifier rubyid_new_klass'>new_klass</span> <span class='op'>=</span> <span class='id identifier rubyid_klass'>klass</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>::</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_reduce'>reduce</span><span class='lparen'>(</span><span class='const'>Module</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_mod'>mod</span><span class='comma'>,</span><span class='id identifier rubyid_part'>part</span><span class='op'>|</span>
814
- <span class='id identifier rubyid_mod'>mod</span><span class='period'>.</span><span class='id identifier rubyid_const_get'>const_get</span><span class='lparen'>(</span><span class='id identifier rubyid_part'>part</span><span class='rparen'>)</span>
815
- <span class='rbrace'>}</span>
816
- <span class='id identifier rubyid_contained_value'>contained_value</span><span class='lbracket'>[</span><span class='symbol'>:value</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_new_klass'>new_klass</span>
815
+ <span class='kw'>if</span> <span class='id identifier rubyid_klass'>klass</span>
816
+ <span class='id identifier rubyid_new_klass'>new_klass</span> <span class='op'>=</span> <span class='id identifier rubyid_klass'>klass</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>::</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_reduce'>reduce</span><span class='lparen'>(</span><span class='const'>Module</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_mod'>mod</span><span class='comma'>,</span><span class='id identifier rubyid_part'>part</span><span class='op'>|</span>
817
+ <span class='id identifier rubyid_mod'>mod</span><span class='period'>.</span><span class='id identifier rubyid_const_get'>const_get</span><span class='lparen'>(</span><span class='id identifier rubyid_part'>part</span><span class='rparen'>)</span>
818
+ <span class='rbrace'>}</span>
819
+ <span class='id identifier rubyid_contained_value'>contained_value</span><span class='lbracket'>[</span><span class='symbol'>:value</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_new_klass'>new_klass</span>
820
+ <span class='kw'>end</span>
817
821
  <span class='kw'>end</span>
818
822
  <span class='kw'>end</span>
819
823
  <span class='kw'>end</span>
@@ -1450,9 +1454,9 @@ The names of the parameters must match the name of another configuration value.<
1450
1454
  </div>
1451
1455
 
1452
1456
  <div id="footer">
1453
- Generated on Tue Sep 16 13:23:59 2025 by
1457
+ Generated on Sun Nov 30 20:50:12 2025 by
1454
1458
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1455
- 0.9.37 (ruby-3.4.5).
1459
+ 0.9.37 (ruby-3.4.6).
1456
1460
  </div>
1457
1461
 
1458
1462
  </div>
@@ -130,9 +130,9 @@ for Brut-specific error conditions.</p>
130
130
  </div>
131
131
 
132
132
  <div id="footer">
133
- Generated on Tue Sep 16 13:23:59 2025 by
133
+ Generated on Sun Nov 30 20:50:11 2025 by
134
134
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
135
- 0.9.37 (ruby-3.4.5).
135
+ 0.9.37 (ruby-3.4.6).
136
136
  </div>
137
137
 
138
138
  </div>
@@ -222,9 +222,9 @@ makes sense.</p>
222
222
  </div>
223
223
 
224
224
  <div id="footer">
225
- Generated on Tue Sep 16 13:24:00 2025 by
225
+ Generated on Sun Nov 30 20:50:12 2025 by
226
226
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
227
- 0.9.37 (ruby-3.4.5).
227
+ 0.9.37 (ruby-3.4.6).
228
228
  </div>
229
229
 
230
230
  </div>
@@ -224,9 +224,9 @@ prevented</p>
224
224
  </div>
225
225
 
226
226
  <div id="footer">
227
- Generated on Tue Sep 16 13:24:00 2025 by
227
+ Generated on Sun Nov 30 20:50:12 2025 by
228
228
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
229
- 0.9.37 (ruby-3.4.5).
229
+ 0.9.37 (ruby-3.4.6).
230
230
  </div>
231
231
 
232
232
  </div>
@@ -247,9 +247,9 @@ have not been set.</p>
247
247
  </div>
248
248
 
249
249
  <div id="footer">
250
- Generated on Tue Sep 16 13:24:00 2025 by
250
+ Generated on Sun Nov 30 20:50:12 2025 by
251
251
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
252
- 0.9.37 (ruby-3.4.5).
252
+ 0.9.37 (ruby-3.4.6).
253
253
  </div>
254
254
 
255
255
  </div>
@@ -263,9 +263,9 @@ the one provided by standard library exceptions like <code>KeyError</code></p>
263
263
  </div>
264
264
 
265
265
  <div id="footer">
266
- Generated on Tue Sep 16 13:24:00 2025 by
266
+ Generated on Sun Nov 30 20:50:12 2025 by
267
267
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
268
- 0.9.37 (ruby-3.4.5).
268
+ 0.9.37 (ruby-3.4.6).
269
269
  </div>
270
270
 
271
271
  </div>
@@ -461,9 +461,9 @@
461
461
  </div>
462
462
 
463
463
  <div id="footer">
464
- Generated on Tue Sep 16 13:24:00 2025 by
464
+ Generated on Sun Nov 30 20:50:12 2025 by
465
465
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
466
- 0.9.37 (ruby-3.4.5).
466
+ 0.9.37 (ruby-3.4.6).
467
467
  </div>
468
468
 
469
469
  </div>
@@ -298,9 +298,9 @@
298
298
  </div>
299
299
 
300
300
  <div id="footer">
301
- Generated on Tue Sep 16 13:24:00 2025 by
301
+ Generated on Sun Nov 30 20:50:12 2025 by
302
302
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
303
- 0.9.37 (ruby-3.4.5).
303
+ 0.9.37 (ruby-3.4.6).
304
304
  </div>
305
305
 
306
306
  </div>
@@ -224,9 +224,9 @@ support the same features, but for technical reasons one of the APIs does not.</
224
224
  </div>
225
225
 
226
226
  <div id="footer">
227
- Generated on Tue Sep 16 13:24:00 2025 by
227
+ Generated on Sun Nov 30 20:50:12 2025 by
228
228
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
229
- 0.9.37 (ruby-3.4.5).
229
+ 0.9.37 (ruby-3.4.6).
230
230
  </div>
231
231
 
232
232
  </div>
@@ -341,9 +341,9 @@ state of the system is such that it would never be misused.</p>
341
341
  </div>
342
342
 
343
343
  <div id="footer">
344
- Generated on Tue Sep 16 13:23:59 2025 by
344
+ Generated on Sun Nov 30 20:50:11 2025 by
345
345
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
346
- 0.9.37 (ruby-3.4.5).
346
+ 0.9.37 (ruby-3.4.6).
347
347
  </div>
348
348
 
349
349
  </div>
@@ -382,9 +382,9 @@ For example, if you accept a string but know it should be a number, pass in <cod
382
382
  </div>
383
383
 
384
384
  <div id="footer">
385
- Generated on Tue Sep 16 13:23:59 2025 by
385
+ Generated on Sun Nov 30 20:50:11 2025 by
386
386
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
387
- 0.9.37 (ruby-3.4.5).
387
+ 0.9.37 (ruby-3.4.6).
388
388
  </div>
389
389
 
390
390
  </div>
@@ -747,7 +747,7 @@ to external resources.</p>
747
747
  <span class='lbrace'>{</span>
748
748
  <span class='label'>allow_if:</span> <span class='tlambda'>-&gt;</span><span class='lparen'>(</span><span class='id identifier rubyid_env'>env</span><span class='rparen'>)</span> <span class='tlambeg'>{</span>
749
749
  <span class='id identifier rubyid_brut_owned_path'>brut_owned_path</span> <span class='op'>=</span> <span class='id identifier rubyid_env'>env</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>brut.owned_path</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span>
750
- <span class='id identifier rubyid_app_allowed'>app_allowed</span> <span class='op'>=</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_csrf_protector'>csrf_protector</span><span class='period'>.</span><span class='id identifier rubyid_tap'>tap</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid__'>_</span><span class='op'>|</span> <span class='id identifier rubyid_puts'>puts</span> <span class='id identifier rubyid__'>_</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span> <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_allowed?'>allowed?</span><span class='lparen'>(</span><span class='id identifier rubyid_env'>env</span><span class='rparen'>)</span>
750
+ <span class='id identifier rubyid_app_allowed'>app_allowed</span> <span class='op'>=</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_csrf_protector'>csrf_protector</span><span class='period'>.</span><span class='id identifier rubyid_allowed?'>allowed?</span><span class='lparen'>(</span><span class='id identifier rubyid_env'>env</span><span class='rparen'>)</span>
751
751
 
752
752
  <span class='id identifier rubyid_brut_owned_path'>brut_owned_path</span> <span class='op'>||</span> <span class='id identifier rubyid_app_allowed'>app_allowed</span>
753
753
  <span class='rbrace'>}</span><span class='comma'>,</span>
@@ -861,9 +861,9 @@ to external resources.</p>
861
861
  </div>
862
862
 
863
863
  <div id="footer">
864
- Generated on Tue Sep 16 13:23:59 2025 by
864
+ Generated on Sun Nov 30 20:50:11 2025 by
865
865
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
866
- 0.9.37 (ruby-3.4.5).
866
+ 0.9.37 (ruby-3.4.6).
867
867
  </div>
868
868
 
869
869
  </div>
@@ -638,9 +638,9 @@ to the configuration values. But, you do you.</p>
638
638
  </div>
639
639
 
640
640
  <div id="footer">
641
- Generated on Tue Sep 16 13:24:00 2025 by
641
+ Generated on Sun Nov 30 20:50:12 2025 by
642
642
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
643
- 0.9.37 (ruby-3.4.5).
643
+ 0.9.37 (ruby-3.4.6).
644
644
  </div>
645
645
 
646
646
  </div>
@@ -119,9 +119,9 @@
119
119
  </div>
120
120
 
121
121
  <div id="footer">
122
- Generated on Tue Sep 16 13:23:59 2025 by
122
+ Generated on Sun Nov 30 20:50:11 2025 by
123
123
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
124
- 0.9.37 (ruby-3.4.5).
124
+ 0.9.37 (ruby-3.4.6).
125
125
  </div>
126
126
 
127
127
  </div>
@@ -307,9 +307,9 @@
307
307
  </div>
308
308
 
309
309
  <div id="footer">
310
- Generated on Tue Sep 16 13:24:00 2025 by
310
+ Generated on Sun Nov 30 20:50:12 2025 by
311
311
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
312
- 0.9.37 (ruby-3.4.5).
312
+ 0.9.37 (ruby-3.4.6).
313
313
  </div>
314
314
 
315
315
  </div>
@@ -410,9 +410,9 @@ looking</p>
410
410
  </div>
411
411
 
412
412
  <div id="footer">
413
- Generated on Tue Sep 16 13:23:59 2025 by
413
+ Generated on Sun Nov 30 20:50:11 2025 by
414
414
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
415
- 0.9.37 (ruby-3.4.5).
415
+ 0.9.37 (ruby-3.4.6).
416
416
  </div>
417
417
 
418
418
  </div>