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.
- checksums.yaml +4 -4
- data/.gitignore +6 -0
- data/CHANGELOG.md +9 -3
- data/Gemfile.lock +44 -34
- data/bin/docs +7 -0
- data/brut-css/package-lock.json +2 -2
- data/brut-css/package.json +1 -1
- data/brut-js/package-lock.json +311 -2
- data/brut-js/package.json +2 -1
- data/brut.gemspec +2 -0
- data/brutrb.com/jobs.md +1 -1
- data/docs/404.html +2 -2
- data/docs/adrs.html +4 -4
- data/docs/ai.html +4 -4
- data/docs/api/Brut/BackEnd/SeedData.html +2 -2
- data/docs/api/Brut/BackEnd/Sidekiq/Middlewares/Server/FlushSpans.html +2 -2
- data/docs/api/Brut/BackEnd/Sidekiq/Middlewares/Server.html +2 -2
- data/docs/api/Brut/BackEnd/Sidekiq/Middlewares.html +2 -2
- data/docs/api/Brut/BackEnd/Sidekiq.html +2 -2
- data/docs/api/Brut/BackEnd/Validators/FormValidator.html +2 -2
- data/docs/api/Brut/BackEnd/Validators.html +2 -2
- data/docs/api/Brut/BackEnd.html +2 -2
- data/docs/api/Brut/CLI/App.html +2 -2
- data/docs/api/Brut/CLI/AppRunner.html +2 -2
- data/docs/api/Brut/CLI/Apps/BuildAssets/All.html +2 -2
- data/docs/api/Brut/CLI/Apps/BuildAssets/CSS.html +2 -2
- data/docs/api/Brut/CLI/Apps/BuildAssets/Images.html +3 -3
- data/docs/api/Brut/CLI/Apps/BuildAssets/JS.html +2 -2
- data/docs/api/Brut/CLI/Apps/BuildAssets.html +2 -2
- data/docs/api/Brut/CLI/Apps/DB/Create.html +2 -2
- data/docs/api/Brut/CLI/Apps/DB/Drop.html +2 -2
- data/docs/api/Brut/CLI/Apps/DB/Migrate.html +2 -2
- data/docs/api/Brut/CLI/Apps/DB/NewMigration.html +2 -2
- data/docs/api/Brut/CLI/Apps/DB/Rebuild.html +2 -2
- data/docs/api/Brut/CLI/Apps/DB/Seed.html +2 -2
- data/docs/api/Brut/CLI/Apps/DB/Status.html +2 -2
- data/docs/api/Brut/CLI/Apps/DB.html +2 -2
- data/docs/api/Brut/CLI/Apps/DeployBase/GitChecks.html +2 -2
- data/docs/api/Brut/CLI/Apps/DeployBase.html +2 -2
- data/docs/api/Brut/CLI/Apps/HerokuContainerBasedDeploy/Deploy.html +8 -6
- data/docs/api/Brut/CLI/Apps/HerokuContainerBasedDeploy.html +2 -2
- data/docs/api/Brut/CLI/Apps/Scaffold/Action/Route.html +2 -2
- data/docs/api/Brut/CLI/Apps/Scaffold/Action.html +2 -2
- data/docs/api/Brut/CLI/Apps/Scaffold/Component.html +2 -2
- data/docs/api/Brut/CLI/Apps/Scaffold/CustomElementTest.html +2 -2
- data/docs/api/Brut/CLI/Apps/Scaffold/DbModel.html +2 -2
- data/docs/api/Brut/CLI/Apps/Scaffold/E2ETest.html +2 -2
- data/docs/api/Brut/CLI/Apps/Scaffold/Form.html +2 -2
- data/docs/api/Brut/CLI/Apps/Scaffold/Page/Route.html +2 -2
- data/docs/api/Brut/CLI/Apps/Scaffold/Page.html +2 -2
- data/docs/api/Brut/CLI/Apps/Scaffold/RoutesEditor.html +2 -2
- data/docs/api/Brut/CLI/Apps/Scaffold/Test.html +2 -2
- data/docs/api/Brut/CLI/Apps/Scaffold.html +2 -2
- data/docs/api/Brut/CLI/Apps/Test/Audit.html +15 -7
- data/docs/api/Brut/CLI/Apps/Test/E2e.html +2 -2
- data/docs/api/Brut/CLI/Apps/Test/JS.html +2 -2
- data/docs/api/Brut/CLI/Apps/Test/Run.html +2 -2
- data/docs/api/Brut/CLI/Apps/Test.html +2 -2
- data/docs/api/Brut/CLI/Apps.html +2 -2
- data/docs/api/Brut/CLI/Command.html +2 -2
- data/docs/api/Brut/CLI/Error.html +2 -2
- data/docs/api/Brut/CLI/ExecutionResults/Result.html +2 -2
- data/docs/api/Brut/CLI/ExecutionResults.html +2 -2
- data/docs/api/Brut/CLI/Executor.html +2 -2
- data/docs/api/Brut/CLI/InvalidOption.html +2 -2
- data/docs/api/Brut/CLI/Options.html +2 -2
- data/docs/api/Brut/CLI/Output.html +2 -2
- data/docs/api/Brut/CLI/SystemExecError.html +2 -2
- data/docs/api/Brut/CLI.html +2 -2
- data/docs/api/Brut/FactoryBot.html +2 -2
- data/docs/api/Brut/Framework/App.html +2 -2
- data/docs/api/Brut/Framework/Config.html +2 -2
- data/docs/api/Brut/Framework/Container.html +11 -7
- data/docs/api/Brut/Framework/Error.html +2 -2
- data/docs/api/Brut/Framework/Errors/AbstractMethod.html +2 -2
- data/docs/api/Brut/Framework/Errors/Bug.html +2 -2
- data/docs/api/Brut/Framework/Errors/MissingConfiguration.html +2 -2
- data/docs/api/Brut/Framework/Errors/MissingParameter.html +2 -2
- data/docs/api/Brut/Framework/Errors/NoClassForPath.html +2 -2
- data/docs/api/Brut/Framework/Errors/NotFound.html +2 -2
- data/docs/api/Brut/Framework/Errors/NotImplemented.html +2 -2
- data/docs/api/Brut/Framework/Errors.html +2 -2
- data/docs/api/Brut/Framework/FussyTypeEnforcement.html +2 -2
- data/docs/api/Brut/Framework/MCP.html +3 -3
- data/docs/api/Brut/Framework/ProjectEnvironment.html +2 -2
- data/docs/api/Brut/Framework.html +2 -2
- data/docs/api/Brut/FrontEnd/AssetPathResolver.html +2 -2
- data/docs/api/Brut/FrontEnd/Component/Helpers.html +2 -2
- data/docs/api/Brut/FrontEnd/Component.html +2 -2
- data/docs/api/Brut/FrontEnd/Components/ConstraintViolations.html +2 -2
- data/docs/api/Brut/FrontEnd/Components/FormTag.html +2 -2
- data/docs/api/Brut/FrontEnd/Components/I18nTranslations.html +2 -2
- data/docs/api/Brut/FrontEnd/Components/Input.html +2 -2
- data/docs/api/Brut/FrontEnd/Components/Inputs/ButtonTag.html +2 -2
- data/docs/api/Brut/FrontEnd/Components/Inputs/CsrfToken.html +2 -2
- data/docs/api/Brut/FrontEnd/Components/Inputs/InputTag.html +2 -2
- data/docs/api/Brut/FrontEnd/Components/Inputs/RadioButton.html +2 -2
- data/docs/api/Brut/FrontEnd/Components/Inputs/SelectTagWithOptions.html +2 -2
- data/docs/api/Brut/FrontEnd/Components/Inputs/TextareaTag.html +2 -2
- data/docs/api/Brut/FrontEnd/Components/Inputs.html +2 -2
- data/docs/api/Brut/FrontEnd/Components/LocaleDetection.html +2 -2
- data/docs/api/Brut/FrontEnd/Components/PageIdentifier.html +2 -2
- data/docs/api/Brut/FrontEnd/Components/TimeTag.html +2 -2
- data/docs/api/Brut/FrontEnd/Components/Traceparent.html +2 -2
- data/docs/api/Brut/FrontEnd/Components.html +2 -2
- data/docs/api/Brut/FrontEnd/CsrfProtector.html +2 -2
- data/docs/api/Brut/FrontEnd/Download.html +2 -2
- data/docs/api/Brut/FrontEnd/Flash.html +2 -2
- data/docs/api/Brut/FrontEnd/Form.html +2 -2
- data/docs/api/Brut/FrontEnd/Forms/Button.html +2 -2
- data/docs/api/Brut/FrontEnd/Forms/ButtonInputDefinition.html +2 -2
- data/docs/api/Brut/FrontEnd/Forms/ConstraintViolation.html +2 -2
- data/docs/api/Brut/FrontEnd/Forms/Input/Color.html +2 -2
- data/docs/api/Brut/FrontEnd/Forms/Input/TimeOfDay.html +2 -2
- data/docs/api/Brut/FrontEnd/Forms/Input.html +2 -2
- data/docs/api/Brut/FrontEnd/Forms/InputDeclarations.html +2 -2
- data/docs/api/Brut/FrontEnd/Forms/InputDefinition.html +2 -2
- data/docs/api/Brut/FrontEnd/Forms/RadioButtonGroupInput.html +2 -2
- data/docs/api/Brut/FrontEnd/Forms/RadioButtonGroupInputDefinition.html +2 -2
- data/docs/api/Brut/FrontEnd/Forms/SelectInput.html +2 -2
- data/docs/api/Brut/FrontEnd/Forms/SelectInputDefinition.html +2 -2
- data/docs/api/Brut/FrontEnd/Forms/ValidityState.html +2 -2
- data/docs/api/Brut/FrontEnd/Forms.html +2 -2
- data/docs/api/Brut/FrontEnd/GenericResponse.html +2 -2
- data/docs/api/Brut/FrontEnd/Handler.html +2 -2
- data/docs/api/Brut/FrontEnd/Handlers/CspReportingHandler.html +2 -2
- data/docs/api/Brut/FrontEnd/Handlers/InstrumentationHandler/TraceParent.html +2 -2
- data/docs/api/Brut/FrontEnd/Handlers/InstrumentationHandler.html +2 -2
- data/docs/api/Brut/FrontEnd/Handlers/LocaleDetectionHandler.html +2 -2
- data/docs/api/Brut/FrontEnd/Handlers/MissingHandler/Form.html +2 -2
- data/docs/api/Brut/FrontEnd/Handlers/MissingHandler.html +2 -2
- data/docs/api/Brut/FrontEnd/Handlers.html +2 -2
- data/docs/api/Brut/FrontEnd/HandlingResults.html +2 -2
- data/docs/api/Brut/FrontEnd/HttpMethod.html +2 -2
- data/docs/api/Brut/FrontEnd/HttpStatus.html +2 -2
- data/docs/api/Brut/FrontEnd/InlineSvgLocator.html +2 -2
- data/docs/api/Brut/FrontEnd/Layout.html +2 -2
- data/docs/api/Brut/FrontEnd/Middleware.html +2 -2
- data/docs/api/Brut/FrontEnd/Middlewares/AnnotateBrutOwnedPaths.html +2 -2
- data/docs/api/Brut/FrontEnd/Middlewares/Favicon.html +2 -2
- data/docs/api/Brut/FrontEnd/Middlewares/OpenTelemetrySpan.html +2 -2
- data/docs/api/Brut/FrontEnd/Middlewares/ReloadApp.html +2 -2
- data/docs/api/Brut/FrontEnd/Middlewares.html +2 -2
- data/docs/api/Brut/FrontEnd/Page.html +2 -2
- data/docs/api/Brut/FrontEnd/Pages/MissingPage.html +2 -2
- data/docs/api/Brut/FrontEnd/Pages.html +2 -2
- data/docs/api/Brut/FrontEnd/RequestContext.html +2 -2
- data/docs/api/Brut/FrontEnd/RouteHook.html +2 -2
- data/docs/api/Brut/FrontEnd/RouteHooks/AgeFlash.html +2 -2
- data/docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineScripts.html +2 -2
- data/docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineStylesOrScripts/ReportOnly.html +2 -2
- data/docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineStylesOrScripts.html +2 -2
- data/docs/api/Brut/FrontEnd/RouteHooks/LocaleDetection.html +2 -2
- data/docs/api/Brut/FrontEnd/RouteHooks/SetupRequestContext.html +2 -2
- data/docs/api/Brut/FrontEnd/RouteHooks.html +2 -2
- data/docs/api/Brut/FrontEnd/Routing/FormHandlerRoute.html +2 -2
- data/docs/api/Brut/FrontEnd/Routing/FormRoute.html +2 -2
- data/docs/api/Brut/FrontEnd/Routing/MissingForm.html +2 -2
- data/docs/api/Brut/FrontEnd/Routing/MissingHandler.html +2 -2
- data/docs/api/Brut/FrontEnd/Routing/MissingPage.html +2 -2
- data/docs/api/Brut/FrontEnd/Routing/MissingPath.html +2 -2
- data/docs/api/Brut/FrontEnd/Routing/PageRoute.html +2 -2
- data/docs/api/Brut/FrontEnd/Routing/Route.html +2 -2
- data/docs/api/Brut/FrontEnd/Routing.html +2 -2
- data/docs/api/Brut/FrontEnd/Session.html +2 -2
- data/docs/api/Brut/FrontEnd.html +2 -2
- data/docs/api/Brut/I18n/BaseMethods.html +2 -2
- data/docs/api/Brut/I18n/ForBackEnd.html +2 -2
- data/docs/api/Brut/I18n/ForCLI.html +2 -2
- data/docs/api/Brut/I18n/ForHTML.html +2 -2
- data/docs/api/Brut/I18n/HTTPAcceptLanguage/AlwaysEnglish.html +2 -2
- data/docs/api/Brut/I18n/HTTPAcceptLanguage.html +2 -2
- data/docs/api/Brut/I18n.html +2 -2
- data/docs/api/Brut/Instrumentation/LoggerSpanExporter.html +2 -2
- data/docs/api/Brut/Instrumentation/Methods/ClassMethods.html +2 -2
- data/docs/api/Brut/Instrumentation/Methods.html +2 -2
- data/docs/api/Brut/Instrumentation/OpenTelemetry/NormalizedAttributes.html +2 -2
- data/docs/api/Brut/Instrumentation/OpenTelemetry/Span.html +2 -2
- data/docs/api/Brut/Instrumentation/OpenTelemetry.html +2 -2
- data/docs/api/Brut/Instrumentation.html +2 -2
- data/docs/api/Brut/RubocopConfig.html +2 -2
- data/docs/api/Brut/SinatraHelpers/ClassMethods.html +2 -2
- data/docs/api/Brut/SinatraHelpers.html +2 -2
- data/docs/api/Brut/SpecSupport/ClockSupport.html +2 -2
- data/docs/api/Brut/SpecSupport/ComponentSupport.html +2 -2
- data/docs/api/Brut/SpecSupport/E2ETestServer.html +2 -2
- data/docs/api/Brut/SpecSupport/E2eSupport.html +2 -2
- data/docs/api/Brut/SpecSupport/EnhancedNode.html +2 -2
- data/docs/api/Brut/SpecSupport/FlashSupport.html +2 -2
- data/docs/api/Brut/SpecSupport/GeneralSupport/ClassMethods.html +2 -2
- data/docs/api/Brut/SpecSupport/GeneralSupport.html +2 -2
- data/docs/api/Brut/SpecSupport/HandlerSupport.html +2 -2
- data/docs/api/Brut/SpecSupport/Matchers/BeABug.html +2 -2
- data/docs/api/Brut/SpecSupport/Matchers/BePageFor.html +2 -2
- data/docs/api/Brut/SpecSupport/Matchers/BeRoutingFor.html +2 -2
- data/docs/api/Brut/SpecSupport/Matchers/HaveConstraintViolation.html +2 -2
- data/docs/api/Brut/SpecSupport/Matchers/HaveGenerated.html +2 -2
- data/docs/api/Brut/SpecSupport/Matchers/HaveHTMLAttribute.html +2 -2
- data/docs/api/Brut/SpecSupport/Matchers/HaveI18nString.html +2 -2
- data/docs/api/Brut/SpecSupport/Matchers/HaveLinkTo.html +2 -2
- data/docs/api/Brut/SpecSupport/Matchers/HaveRedirectedTo.html +2 -2
- data/docs/api/Brut/SpecSupport/Matchers/HaveReturnedHttpStatus.html +2 -2
- data/docs/api/Brut/SpecSupport/Matchers/HaveReturnedRackResponse.html +2 -2
- data/docs/api/Brut/SpecSupport/Matchers.html +2 -2
- data/docs/api/Brut/SpecSupport/RSpecSetup/OptionalSidekiqSupport.html +2 -2
- data/docs/api/Brut/SpecSupport/RSpecSetup.html +2 -2
- data/docs/api/Brut/SpecSupport/SessionSupport.html +2 -2
- data/docs/api/Brut/SpecSupport.html +2 -2
- data/docs/api/Brut/TUI/AnsiEscapeCode/Mod.html +409 -0
- data/docs/api/Brut/TUI/AnsiEscapeCode.html +426 -0
- data/docs/api/Brut/TUI/EventLoop/Deque.html +531 -0
- data/docs/api/Brut/TUI/EventLoop.html +676 -0
- data/docs/api/Brut/TUI/Events/BaseEvent.html +449 -0
- data/docs/api/Brut/TUI/Events/EventBus.html +485 -0
- data/docs/api/Brut/TUI/Events/EventLoopStarted.html +211 -0
- data/docs/api/Brut/TUI/Events/Exception.html +523 -0
- data/docs/api/Brut/TUI/Events/Tick.html +294 -0
- data/docs/api/Brut/TUI/Events.html +131 -0
- data/docs/api/Brut/TUI/MarkupString.html +537 -0
- data/docs/api/Brut/TUI/Script/BlockStep.html +300 -0
- data/docs/api/Brut/TUI/Script/Events/CommandExecutionFailed.html +252 -0
- data/docs/api/Brut/TUI/Script/Events/CommandExecutionSucceeded.html +163 -0
- data/docs/api/Brut/TUI/Script/Events/CommandStdErr.html +163 -0
- data/docs/api/Brut/TUI/Script/Events/CommandStdOut.html +300 -0
- data/docs/api/Brut/TUI/Script/Events/ExecutingCommand.html +298 -0
- data/docs/api/Brut/TUI/Script/Events/Message.html +345 -0
- data/docs/api/Brut/TUI/Script/Events/PhaseCompleted.html +229 -0
- data/docs/api/Brut/TUI/Script/Events/PhaseStarted.html +350 -0
- data/docs/api/Brut/TUI/Script/Events/ScriptCompleted.html +282 -0
- data/docs/api/Brut/TUI/Script/Events/ScriptStarted.html +343 -0
- data/docs/api/Brut/TUI/Script/Events/StepCompleted.html +163 -0
- data/docs/api/Brut/TUI/Script/Events/StepStarted.html +346 -0
- data/docs/api/Brut/TUI/Script/Events.html +115 -0
- data/docs/api/Brut/TUI/Script/ExecStep/ProcessStatusFailed.html +210 -0
- data/docs/api/Brut/TUI/Script/ExecStep.html +493 -0
- data/docs/api/Brut/TUI/Script/LoggingSubscriber.html +914 -0
- data/docs/api/Brut/TUI/Script/PutsSubscriber.html +783 -0
- data/docs/api/Brut/TUI/Script/Step.html +313 -0
- data/docs/api/Brut/TUI/Script.html +1250 -0
- data/docs/api/Brut/TUI/Terminal.html +593 -0
- data/docs/api/Brut/TUI/TerminalTheme.html +1403 -0
- data/docs/api/Brut/TUI/Themes/Dark.html +706 -0
- data/docs/api/Brut/TUI/Themes/Light.html +804 -0
- data/docs/api/Brut/TUI/Themes/None.html +218 -0
- data/docs/api/Brut/TUI/Themes.html +115 -0
- data/docs/api/Brut/TUI.html +129 -0
- data/docs/api/Brut.html +4 -4
- data/docs/api/Clock.html +2 -2
- data/docs/api/ModuleName.html +2 -2
- data/docs/api/RichString.html +2 -2
- data/docs/api/SemanticLogger/Appender/Async.html +2 -2
- data/docs/api/Sequel/Extensions/BrutInstrumentation.html +2 -2
- data/docs/api/Sequel/Extensions/BrutMigrations.html +2 -2
- data/docs/api/Sequel/Extensions.html +2 -2
- data/docs/api/Sequel/Plugins/CreatedAt/InstanceMethods.html +2 -2
- data/docs/api/Sequel/Plugins/CreatedAt.html +2 -2
- data/docs/api/Sequel/Plugins/ExternalId/ClassMethods.html +2 -2
- data/docs/api/Sequel/Plugins/ExternalId/InstanceMethods.html +2 -2
- data/docs/api/Sequel/Plugins/ExternalId.html +2 -2
- data/docs/api/Sequel/Plugins/FindBang/ClassMethods.html +2 -2
- data/docs/api/Sequel/Plugins/FindBang.html +2 -2
- data/docs/api/Sequel/Plugins.html +2 -2
- data/docs/api/Sequel.html +2 -2
- data/docs/api/_index.html +247 -2
- data/docs/api/class_list.html +1 -1
- data/docs/api/file.README.html +2 -2
- data/docs/api/index.html +2 -2
- data/docs/api/method_list.html +1551 -431
- data/docs/api/top-level-namespace.html +2 -2
- data/docs/assets/{app.Dm7v_ouO.js → app.B8jAEB7R.js} +1 -1
- data/docs/assets/chunks/@localSearchIndexroot.DJ8mocCj.js +1 -0
- data/docs/assets/chunks/{VPLocalSearchBox.DQK6jQou.js → VPLocalSearchBox.gF-Po_fz.js} +1 -1
- data/docs/assets/chunks/{theme.BuExsdM9.js → theme.BjPAOJkz.js} +2 -2
- data/docs/assets/{components.md.Dfd3w6UW.js → components.md.Ber8UBM0.js} +3 -3
- data/docs/assets/{configuration.md.DTYoV2Ea.js → configuration.md.DrJ6YVoZ.js} +1 -1
- data/docs/assets/{deployment.md.C1u5ep0g.js → deployment.md.CHTx2eTR.js} +10 -3
- data/docs/assets/{deployment.md.C1u5ep0g.lean.js → deployment.md.CHTx2eTR.lean.js} +1 -1
- data/docs/assets/{forms.md.DEkmJUvb.js → forms.md.RK0zkhm0.js} +2 -2
- data/docs/assets/{forms.md.DEkmJUvb.lean.js → forms.md.RK0zkhm0.lean.js} +1 -1
- data/docs/assets/{getting-started.md.DO-4eoGW.js → getting-started.md.CGJ44juQ.js} +2 -2
- data/docs/assets/jobs.md.Bi3qb3v6.js +25 -0
- data/docs/assets/jobs.md.Bi3qb3v6.lean.js +1 -0
- data/docs/assets/recipes_dev-env-secrets.md.DC_jVY9U.js +12 -0
- data/docs/assets/recipes_dev-env-secrets.md.DC_jVY9U.lean.js +1 -0
- data/docs/assets/roadmap.md.DqC1Y7Zt.js +1 -0
- data/docs/assets/{roadmap.md.CJsbUmK_.lean.js → roadmap.md.DqC1Y7Zt.lean.js} +1 -1
- data/docs/assets/{tutorials_02-dialog.md.D2vSjDVf.js → tutorials_02-dialog.md.DE5WfCXI.js} +1 -1
- data/docs/assets.html +4 -4
- data/docs/brut-js/api/AjaxSubmit.html +1 -1
- data/docs/brut-js/api/AjaxSubmit.js.html +1 -1
- data/docs/brut-js/api/Autosubmit.html +1 -1
- data/docs/brut-js/api/Autosubmit.js.html +1 -1
- data/docs/brut-js/api/BaseCustomElement.html +1 -1
- data/docs/brut-js/api/BaseCustomElement.js.html +1 -1
- data/docs/brut-js/api/BrutCustomElements.html +1 -1
- data/docs/brut-js/api/BufferedLogger.html +1 -1
- data/docs/brut-js/api/ConfirmSubmit.html +1 -1
- data/docs/brut-js/api/ConfirmSubmit.js.html +1 -1
- data/docs/brut-js/api/ConfirmationDialog.html +1 -1
- data/docs/brut-js/api/ConfirmationDialog.js.html +1 -1
- data/docs/brut-js/api/ConstraintViolationMessage.html +1 -1
- data/docs/brut-js/api/ConstraintViolationMessage.js.html +1 -1
- data/docs/brut-js/api/ConstraintViolationMessages.html +1 -1
- data/docs/brut-js/api/ConstraintViolationMessages.js.html +1 -1
- data/docs/brut-js/api/CopyToClipboard.html +1 -1
- data/docs/brut-js/api/CopyToClipboard.js.html +1 -1
- data/docs/brut-js/api/Form.html +1 -1
- data/docs/brut-js/api/Form.js.html +1 -1
- data/docs/brut-js/api/I18nTranslation.html +1 -1
- data/docs/brut-js/api/I18nTranslation.js.html +1 -1
- data/docs/brut-js/api/LocaleDetection.html +1 -1
- data/docs/brut-js/api/LocaleDetection.js.html +1 -1
- data/docs/brut-js/api/Logger.html +1 -1
- data/docs/brut-js/api/Logger.js.html +1 -1
- data/docs/brut-js/api/Message.html +1 -1
- data/docs/brut-js/api/Message.js.html +1 -1
- data/docs/brut-js/api/PrefixedLogger.html +1 -1
- data/docs/brut-js/api/RichString.html +1 -1
- data/docs/brut-js/api/RichString.js.html +1 -1
- data/docs/brut-js/api/Tabs.html +1 -1
- data/docs/brut-js/api/Tabs.js.html +1 -1
- data/docs/brut-js/api/Toast.html +1 -1
- data/docs/brut-js/api/Toast.js.html +1 -1
- data/docs/brut-js/api/Tracing.html +1 -1
- data/docs/brut-js/api/Tracing.js.html +1 -1
- data/docs/brut-js/api/external-CustomElementRegistry.html +1 -1
- data/docs/brut-js/api/external-Performance.html +1 -1
- data/docs/brut-js/api/external-Promise.html +1 -1
- data/docs/brut-js/api/external-ValidityState.html +1 -1
- data/docs/brut-js/api/external-Window.html +1 -1
- data/docs/brut-js/api/external-fetch.html +1 -1
- data/docs/brut-js/api/global.html +1 -1
- data/docs/brut-js/api/index.html +1 -1
- data/docs/brut-js/api/index.js.html +1 -1
- data/docs/brut-js/api/module-testing.html +1 -1
- data/docs/brut-js/api/testing.AssetMetadata.html +1 -1
- data/docs/brut-js/api/testing.AssetMetadataLoader.html +1 -1
- data/docs/brut-js/api/testing.CustomElementTest.html +1 -1
- data/docs/brut-js/api/testing.DOMCreator.html +1 -1
- data/docs/brut-js/api/testing_AssetMetadata.js.html +1 -1
- data/docs/brut-js/api/testing_AssetMetadataLoader.js.html +1 -1
- data/docs/brut-js/api/testing_CustomElementTest.js.html +1 -1
- data/docs/brut-js/api/testing_DOMCreator.js.html +1 -1
- data/docs/brut-js/api/testing_index.js.html +1 -1
- data/docs/brut-js.html +4 -4
- data/docs/business-logic.html +4 -4
- data/docs/cli.html +4 -4
- data/docs/components.html +8 -8
- data/docs/configuration.html +5 -5
- data/docs/css.html +4 -4
- data/docs/custom-element-tests.html +4 -4
- data/docs/database-access.html +4 -4
- data/docs/database-schema.html +4 -4
- data/docs/deployment.html +13 -6
- data/docs/dev-environment.html +4 -4
- data/docs/dir-structure.html +4 -4
- data/docs/doc-conventions.html +4 -4
- data/docs/end-to-end-tests.html +4 -4
- data/docs/features.html +4 -4
- data/docs/flash-and-session.html +4 -4
- data/docs/form-constraints.html +4 -4
- data/docs/forms.html +6 -6
- data/docs/getting-started.html +7 -7
- data/docs/handlers.html +4 -4
- data/docs/hashmap.json +1 -1
- data/docs/hooks.html +4 -4
- data/docs/i18n.html +4 -4
- data/docs/index.html +3 -3
- data/docs/instrumentation.html +4 -4
- data/docs/javascript.html +4 -4
- data/docs/jobs.html +29 -5
- data/docs/keyword-injection.html +4 -4
- data/docs/layouts.html +4 -4
- data/docs/lsp.html +4 -4
- data/docs/markdown-examples.html +4 -4
- data/docs/middleware.html +4 -4
- data/docs/overview.html +4 -4
- data/docs/pages.html +4 -4
- data/docs/recipes/alternate-layouts.html +5 -5
- data/docs/recipes/authentication.html +5 -5
- data/docs/recipes/custom-flash.html +5 -5
- data/docs/recipes/dev-env-secrets.html +40 -0
- data/docs/recipes/form-errors.html +5 -5
- data/docs/recipes/indexed-forms.html +5 -5
- data/docs/recipes/migrations.html +5 -5
- data/docs/recipes/text-field-component.html +5 -5
- data/docs/roadmap.html +5 -5
- data/docs/routes.html +4 -4
- data/docs/security.html +4 -4
- data/docs/seed-data.html +4 -4
- data/docs/space-time-continuum.html +4 -4
- data/docs/tutorial.html +4 -4
- data/docs/tutorials/01-intro.html +4 -4
- data/docs/tutorials/02-dialog.html +5 -5
- data/docs/unit-tests.html +4 -4
- data/docs/why.html +4 -4
- data/lib/brut/cli/apps/build_assets.rb +1 -1
- data/lib/brut/cli/apps/heroku_container_based_deploy.rb +1 -1
- data/lib/brut/cli/apps/test.rb +6 -4
- data/lib/brut/tui/ansi_escape_code.rb +104 -0
- data/lib/brut/tui/event_loop.rb +168 -0
- data/lib/brut/tui/events/base_event.rb +29 -0
- data/lib/brut/tui/events/event_bus.rb +73 -0
- data/lib/brut/tui/events/event_loop_started.rb +5 -0
- data/lib/brut/tui/events/exception.rb +24 -0
- data/lib/brut/tui/events/tick.rb +12 -0
- data/lib/brut/tui/events.rb +7 -0
- data/lib/brut/tui/markup_string.rb +68 -0
- data/lib/brut/tui/script/block_step.rb +17 -0
- data/lib/brut/tui/script/events/command_execution_failed.rb +4 -0
- data/lib/brut/tui/script/events/command_execution_succeeded.rb +3 -0
- data/lib/brut/tui/script/events/command_std_err.rb +3 -0
- data/lib/brut/tui/script/events/command_std_out.rb +13 -0
- data/lib/brut/tui/script/events/executing_command.rb +12 -0
- data/lib/brut/tui/script/events/message.rb +15 -0
- data/lib/brut/tui/script/events/phase_completed.rb +4 -0
- data/lib/brut/tui/script/events/phase_started.rb +14 -0
- data/lib/brut/tui/script/events/script_completed.rb +5 -0
- data/lib/brut/tui/script/events/script_started.rb +12 -0
- data/lib/brut/tui/script/events/step_completed.rb +3 -0
- data/lib/brut/tui/script/events/step_started.rb +12 -0
- data/lib/brut/tui/script/events.rb +14 -0
- data/lib/brut/tui/script/exec_step.rb +60 -0
- data/lib/brut/tui/script/logging_subscriber.rb +98 -0
- data/lib/brut/tui/script/puts_subscriber.rb +109 -0
- data/lib/brut/tui/script/step.rb +13 -0
- data/lib/brut/tui/script.rb +211 -0
- data/lib/brut/tui/terminal.rb +74 -0
- data/lib/brut/tui/terminal_theme.rb +140 -0
- data/lib/brut/tui/themes/dark.rb +14 -0
- data/lib/brut/tui/themes/light.rb +17 -0
- data/lib/brut/tui/themes/none.rb +9 -0
- data/lib/brut/tui/themes.rb +5 -0
- data/lib/brut/tui.rb +15 -0
- data/lib/brut/version.rb +1 -1
- data/lib/brut.rb +1 -0
- data/mkbrut/Gemfile.lock +2 -1
- data/mkbrut/lib/mkbrut/version.rb +1 -1
- data/mkbrut/templates/segments/Heroku/deploy/Dockerfile +9 -7
- data/mkbrut/templates/segments/Heroku/deploy/heroku_config.rb +2 -2
- data/specs/brut/tui/ansi_escape_code.spec.rb +30 -0
- data/specs/brut/tui/event_loop.spec.rb +70 -0
- data/specs/brut/tui/events/base_event.spec.rb +26 -0
- data/specs/brut/tui/events/event_bus.spec.rb +141 -0
- data/specs/brut/tui/events/exception.spec.rb +19 -0
- data/specs/brut/tui/events/test_event.rb +5 -0
- data/specs/spec_helper.rb +4 -0
- metadata +131 -21
- data/docs/assets/chunks/@localSearchIndexroot.BiNFswvo.js +0 -1
- data/docs/assets/jobs.md.Bc7Y1YpK.js +0 -1
- data/docs/assets/jobs.md.Bc7Y1YpK.lean.js +0 -1
- data/docs/assets/roadmap.md.CJsbUmK_.js +0 -1
- /data/docs/assets/{components.md.Dfd3w6UW.lean.js → components.md.Ber8UBM0.lean.js} +0 -0
- /data/docs/assets/{configuration.md.DTYoV2Ea.lean.js → configuration.md.DrJ6YVoZ.lean.js} +0 -0
- /data/docs/assets/{getting-started.md.DO-4eoGW.lean.js → getting-started.md.CGJ44juQ.lean.js} +0 -0
- /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
|
|
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'>"</span><span class='tstring_content'>back_end</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>seed</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>migrations</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>segments</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>app_data_model.rb</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>app_job.rb</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>db.rb</span><span class='tstring_end'>"</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
|
|
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
|
|
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'><<</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'>"</span><span class='tstring_content'>These files are missing tests:</span><span class='tstring_end'>"</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'>"</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>%-25s %s\n</span><span class='tstring_end'>"</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Type</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Path</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>-------------------------------------------</span><span class='tstring_end'>"</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'>"</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'>
|
|
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'>"</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'>"</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
|
|
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.
|
|
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
|
|
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.
|
|
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
|
|
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.
|
|
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
|
|
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.
|
|
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
|
|
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.
|
|
248
|
+
0.9.37 (ruby-3.4.6).
|
|
249
249
|
</div>
|
|
250
250
|
|
|
251
251
|
</div>
|
data/docs/api/Brut/CLI/Apps.html
CHANGED
|
@@ -115,9 +115,9 @@
|
|
|
115
115
|
</div>
|
|
116
116
|
|
|
117
117
|
<div id="footer">
|
|
118
|
-
Generated on
|
|
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.
|
|
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
|
|
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.
|
|
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
|
|
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.
|
|
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
|
|
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.
|
|
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
|
|
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.
|
|
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
|
|
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.
|
|
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
|
|
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.
|
|
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
|
|
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.
|
|
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
|
|
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.
|
|
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
|
|
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.
|
|
446
|
+
0.9.37 (ruby-3.4.6).
|
|
447
447
|
</div>
|
|
448
448
|
|
|
449
449
|
</div>
|
data/docs/api/Brut/CLI.html
CHANGED
|
@@ -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
|
|
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.
|
|
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
|
|
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.
|
|
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
|
|
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.
|
|
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
|
|
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.
|
|
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
|
|
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='
|
|
814
|
-
<span class='id identifier
|
|
815
|
-
|
|
816
|
-
|
|
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
|
|
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.
|
|
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
|
|
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.
|
|
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
|
|
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.
|
|
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
|
|
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.
|
|
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
|
|
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.
|
|
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
|
|
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.
|
|
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
|
|
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.
|
|
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
|
|
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.
|
|
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
|
|
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.
|
|
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
|
|
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.
|
|
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
|
|
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.
|
|
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'>-></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'>"</span><span class='tstring_content'>brut.owned_path</span><span class='tstring_end'>"</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
|
|
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
|
|
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.
|
|
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
|
|
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.
|
|
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
|
|
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.
|
|
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
|
|
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.
|
|
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
|
|
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.
|
|
415
|
+
0.9.37 (ruby-3.4.6).
|
|
416
416
|
</div>
|
|
417
417
|
|
|
418
418
|
</div>
|