brut 0.16.0 → 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 +5 -0
- data/Gemfile.lock +4 -1
- 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 +2 -2
- data/brut-js/package.json +1 -1
- data/brut.gemspec +2 -0
- data/docs/404.html +2 -2
- data/docs/adrs.html +3 -3
- data/docs/ai.html +3 -3
- data/docs/api/Brut/BackEnd/SeedData.html +1 -1
- data/docs/api/Brut/BackEnd/Sidekiq/Middlewares/Server/FlushSpans.html +1 -1
- data/docs/api/Brut/BackEnd/Sidekiq/Middlewares/Server.html +1 -1
- data/docs/api/Brut/BackEnd/Sidekiq/Middlewares.html +1 -1
- data/docs/api/Brut/BackEnd/Sidekiq.html +1 -1
- data/docs/api/Brut/BackEnd/Validators/FormValidator.html +1 -1
- data/docs/api/Brut/BackEnd/Validators.html +1 -1
- data/docs/api/Brut/BackEnd.html +1 -1
- data/docs/api/Brut/CLI/App.html +1 -1
- data/docs/api/Brut/CLI/AppRunner.html +1 -1
- data/docs/api/Brut/CLI/Apps/BuildAssets/All.html +1 -1
- data/docs/api/Brut/CLI/Apps/BuildAssets/CSS.html +1 -1
- data/docs/api/Brut/CLI/Apps/BuildAssets/Images.html +2 -2
- data/docs/api/Brut/CLI/Apps/BuildAssets/JS.html +1 -1
- data/docs/api/Brut/CLI/Apps/BuildAssets.html +1 -1
- data/docs/api/Brut/CLI/Apps/DB/Create.html +1 -1
- data/docs/api/Brut/CLI/Apps/DB/Drop.html +1 -1
- data/docs/api/Brut/CLI/Apps/DB/Migrate.html +1 -1
- data/docs/api/Brut/CLI/Apps/DB/NewMigration.html +1 -1
- data/docs/api/Brut/CLI/Apps/DB/Rebuild.html +1 -1
- data/docs/api/Brut/CLI/Apps/DB/Seed.html +1 -1
- data/docs/api/Brut/CLI/Apps/DB/Status.html +1 -1
- data/docs/api/Brut/CLI/Apps/DB.html +1 -1
- data/docs/api/Brut/CLI/Apps/DeployBase/GitChecks.html +1 -1
- data/docs/api/Brut/CLI/Apps/DeployBase.html +1 -1
- data/docs/api/Brut/CLI/Apps/HerokuContainerBasedDeploy/Deploy.html +2 -2
- data/docs/api/Brut/CLI/Apps/HerokuContainerBasedDeploy.html +1 -1
- data/docs/api/Brut/CLI/Apps/Scaffold/Action/Route.html +1 -1
- data/docs/api/Brut/CLI/Apps/Scaffold/Action.html +1 -1
- data/docs/api/Brut/CLI/Apps/Scaffold/Component.html +1 -1
- data/docs/api/Brut/CLI/Apps/Scaffold/CustomElementTest.html +1 -1
- data/docs/api/Brut/CLI/Apps/Scaffold/DbModel.html +1 -1
- data/docs/api/Brut/CLI/Apps/Scaffold/E2ETest.html +1 -1
- data/docs/api/Brut/CLI/Apps/Scaffold/Form.html +1 -1
- data/docs/api/Brut/CLI/Apps/Scaffold/Page/Route.html +1 -1
- data/docs/api/Brut/CLI/Apps/Scaffold/Page.html +1 -1
- data/docs/api/Brut/CLI/Apps/Scaffold/RoutesEditor.html +1 -1
- data/docs/api/Brut/CLI/Apps/Scaffold/Test.html +1 -1
- data/docs/api/Brut/CLI/Apps/Scaffold.html +1 -1
- data/docs/api/Brut/CLI/Apps/Test/Audit.html +10 -6
- data/docs/api/Brut/CLI/Apps/Test/E2e.html +1 -1
- data/docs/api/Brut/CLI/Apps/Test/JS.html +1 -1
- data/docs/api/Brut/CLI/Apps/Test/Run.html +1 -1
- data/docs/api/Brut/CLI/Apps/Test.html +1 -1
- data/docs/api/Brut/CLI/Apps.html +1 -1
- data/docs/api/Brut/CLI/Command.html +1 -1
- data/docs/api/Brut/CLI/Error.html +1 -1
- data/docs/api/Brut/CLI/ExecutionResults/Result.html +1 -1
- data/docs/api/Brut/CLI/ExecutionResults.html +1 -1
- data/docs/api/Brut/CLI/Executor.html +1 -1
- data/docs/api/Brut/CLI/InvalidOption.html +1 -1
- data/docs/api/Brut/CLI/Options.html +1 -1
- data/docs/api/Brut/CLI/Output.html +1 -1
- data/docs/api/Brut/CLI/SystemExecError.html +1 -1
- data/docs/api/Brut/CLI.html +1 -1
- data/docs/api/Brut/FactoryBot.html +1 -1
- data/docs/api/Brut/Framework/App.html +1 -1
- data/docs/api/Brut/Framework/Config.html +1 -1
- data/docs/api/Brut/Framework/Container.html +1 -1
- data/docs/api/Brut/Framework/Error.html +1 -1
- data/docs/api/Brut/Framework/Errors/AbstractMethod.html +1 -1
- data/docs/api/Brut/Framework/Errors/Bug.html +1 -1
- data/docs/api/Brut/Framework/Errors/MissingConfiguration.html +1 -1
- data/docs/api/Brut/Framework/Errors/MissingParameter.html +1 -1
- data/docs/api/Brut/Framework/Errors/NoClassForPath.html +1 -1
- data/docs/api/Brut/Framework/Errors/NotFound.html +1 -1
- data/docs/api/Brut/Framework/Errors/NotImplemented.html +1 -1
- data/docs/api/Brut/Framework/Errors.html +1 -1
- data/docs/api/Brut/Framework/FussyTypeEnforcement.html +1 -1
- data/docs/api/Brut/Framework/MCP.html +1 -1
- data/docs/api/Brut/Framework/ProjectEnvironment.html +1 -1
- data/docs/api/Brut/Framework.html +1 -1
- data/docs/api/Brut/FrontEnd/AssetPathResolver.html +1 -1
- data/docs/api/Brut/FrontEnd/Component/Helpers.html +1 -1
- data/docs/api/Brut/FrontEnd/Component.html +1 -1
- data/docs/api/Brut/FrontEnd/Components/ConstraintViolations.html +1 -1
- data/docs/api/Brut/FrontEnd/Components/FormTag.html +1 -1
- data/docs/api/Brut/FrontEnd/Components/I18nTranslations.html +1 -1
- data/docs/api/Brut/FrontEnd/Components/Input.html +1 -1
- data/docs/api/Brut/FrontEnd/Components/Inputs/ButtonTag.html +1 -1
- data/docs/api/Brut/FrontEnd/Components/Inputs/CsrfToken.html +1 -1
- data/docs/api/Brut/FrontEnd/Components/Inputs/InputTag.html +1 -1
- data/docs/api/Brut/FrontEnd/Components/Inputs/RadioButton.html +1 -1
- data/docs/api/Brut/FrontEnd/Components/Inputs/SelectTagWithOptions.html +1 -1
- data/docs/api/Brut/FrontEnd/Components/Inputs/TextareaTag.html +1 -1
- data/docs/api/Brut/FrontEnd/Components/Inputs.html +1 -1
- data/docs/api/Brut/FrontEnd/Components/LocaleDetection.html +1 -1
- data/docs/api/Brut/FrontEnd/Components/PageIdentifier.html +1 -1
- data/docs/api/Brut/FrontEnd/Components/TimeTag.html +1 -1
- data/docs/api/Brut/FrontEnd/Components/Traceparent.html +1 -1
- data/docs/api/Brut/FrontEnd/Components.html +1 -1
- data/docs/api/Brut/FrontEnd/CsrfProtector.html +1 -1
- data/docs/api/Brut/FrontEnd/Download.html +1 -1
- data/docs/api/Brut/FrontEnd/Flash.html +1 -1
- data/docs/api/Brut/FrontEnd/Form.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/Button.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/ButtonInputDefinition.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/ConstraintViolation.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/Input/Color.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/Input/TimeOfDay.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/Input.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/InputDeclarations.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/InputDefinition.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/RadioButtonGroupInput.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/RadioButtonGroupInputDefinition.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/SelectInput.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/SelectInputDefinition.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/ValidityState.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms.html +1 -1
- data/docs/api/Brut/FrontEnd/GenericResponse.html +1 -1
- data/docs/api/Brut/FrontEnd/Handler.html +1 -1
- data/docs/api/Brut/FrontEnd/Handlers/CspReportingHandler.html +1 -1
- data/docs/api/Brut/FrontEnd/Handlers/InstrumentationHandler/TraceParent.html +1 -1
- data/docs/api/Brut/FrontEnd/Handlers/InstrumentationHandler.html +1 -1
- data/docs/api/Brut/FrontEnd/Handlers/LocaleDetectionHandler.html +1 -1
- data/docs/api/Brut/FrontEnd/Handlers/MissingHandler/Form.html +1 -1
- data/docs/api/Brut/FrontEnd/Handlers/MissingHandler.html +1 -1
- data/docs/api/Brut/FrontEnd/Handlers.html +1 -1
- data/docs/api/Brut/FrontEnd/HandlingResults.html +1 -1
- data/docs/api/Brut/FrontEnd/HttpMethod.html +1 -1
- data/docs/api/Brut/FrontEnd/HttpStatus.html +1 -1
- data/docs/api/Brut/FrontEnd/InlineSvgLocator.html +1 -1
- data/docs/api/Brut/FrontEnd/Layout.html +1 -1
- data/docs/api/Brut/FrontEnd/Middleware.html +1 -1
- data/docs/api/Brut/FrontEnd/Middlewares/AnnotateBrutOwnedPaths.html +1 -1
- data/docs/api/Brut/FrontEnd/Middlewares/Favicon.html +1 -1
- data/docs/api/Brut/FrontEnd/Middlewares/OpenTelemetrySpan.html +1 -1
- data/docs/api/Brut/FrontEnd/Middlewares/ReloadApp.html +1 -1
- data/docs/api/Brut/FrontEnd/Middlewares.html +1 -1
- data/docs/api/Brut/FrontEnd/Page.html +1 -1
- data/docs/api/Brut/FrontEnd/Pages/MissingPage.html +1 -1
- data/docs/api/Brut/FrontEnd/Pages.html +1 -1
- data/docs/api/Brut/FrontEnd/RequestContext.html +1 -1
- data/docs/api/Brut/FrontEnd/RouteHook.html +1 -1
- data/docs/api/Brut/FrontEnd/RouteHooks/AgeFlash.html +1 -1
- data/docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineScripts.html +1 -1
- data/docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineStylesOrScripts/ReportOnly.html +1 -1
- data/docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineStylesOrScripts.html +1 -1
- data/docs/api/Brut/FrontEnd/RouteHooks/LocaleDetection.html +1 -1
- data/docs/api/Brut/FrontEnd/RouteHooks/SetupRequestContext.html +1 -1
- data/docs/api/Brut/FrontEnd/RouteHooks.html +1 -1
- data/docs/api/Brut/FrontEnd/Routing/FormHandlerRoute.html +1 -1
- data/docs/api/Brut/FrontEnd/Routing/FormRoute.html +1 -1
- data/docs/api/Brut/FrontEnd/Routing/MissingForm.html +1 -1
- data/docs/api/Brut/FrontEnd/Routing/MissingHandler.html +1 -1
- data/docs/api/Brut/FrontEnd/Routing/MissingPage.html +1 -1
- data/docs/api/Brut/FrontEnd/Routing/MissingPath.html +1 -1
- data/docs/api/Brut/FrontEnd/Routing/PageRoute.html +1 -1
- data/docs/api/Brut/FrontEnd/Routing/Route.html +1 -1
- data/docs/api/Brut/FrontEnd/Routing.html +1 -1
- data/docs/api/Brut/FrontEnd/Session.html +1 -1
- data/docs/api/Brut/FrontEnd.html +1 -1
- data/docs/api/Brut/I18n/BaseMethods.html +1 -1
- data/docs/api/Brut/I18n/ForBackEnd.html +1 -1
- data/docs/api/Brut/I18n/ForCLI.html +1 -1
- data/docs/api/Brut/I18n/ForHTML.html +1 -1
- data/docs/api/Brut/I18n/HTTPAcceptLanguage/AlwaysEnglish.html +1 -1
- data/docs/api/Brut/I18n/HTTPAcceptLanguage.html +1 -1
- data/docs/api/Brut/I18n.html +1 -1
- data/docs/api/Brut/Instrumentation/LoggerSpanExporter.html +1 -1
- data/docs/api/Brut/Instrumentation/Methods/ClassMethods.html +1 -1
- data/docs/api/Brut/Instrumentation/Methods.html +1 -1
- data/docs/api/Brut/Instrumentation/OpenTelemetry/NormalizedAttributes.html +1 -1
- data/docs/api/Brut/Instrumentation/OpenTelemetry/Span.html +1 -1
- data/docs/api/Brut/Instrumentation/OpenTelemetry.html +1 -1
- data/docs/api/Brut/Instrumentation.html +1 -1
- data/docs/api/Brut/RubocopConfig.html +1 -1
- data/docs/api/Brut/SinatraHelpers/ClassMethods.html +1 -1
- data/docs/api/Brut/SinatraHelpers.html +1 -1
- data/docs/api/Brut/SpecSupport/ClockSupport.html +1 -1
- data/docs/api/Brut/SpecSupport/ComponentSupport.html +1 -1
- data/docs/api/Brut/SpecSupport/E2ETestServer.html +1 -1
- data/docs/api/Brut/SpecSupport/E2eSupport.html +1 -1
- data/docs/api/Brut/SpecSupport/EnhancedNode.html +1 -1
- data/docs/api/Brut/SpecSupport/FlashSupport.html +1 -1
- data/docs/api/Brut/SpecSupport/GeneralSupport/ClassMethods.html +1 -1
- data/docs/api/Brut/SpecSupport/GeneralSupport.html +1 -1
- data/docs/api/Brut/SpecSupport/HandlerSupport.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/BeABug.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/BePageFor.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/BeRoutingFor.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/HaveConstraintViolation.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/HaveGenerated.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/HaveHTMLAttribute.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/HaveI18nString.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/HaveLinkTo.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/HaveRedirectedTo.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/HaveReturnedHttpStatus.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/HaveReturnedRackResponse.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers.html +1 -1
- data/docs/api/Brut/SpecSupport/RSpecSetup/OptionalSidekiqSupport.html +1 -1
- data/docs/api/Brut/SpecSupport/RSpecSetup.html +1 -1
- data/docs/api/Brut/SpecSupport/SessionSupport.html +1 -1
- data/docs/api/Brut/SpecSupport.html +1 -1
- 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 +3 -3
- data/docs/api/Clock.html +1 -1
- data/docs/api/ModuleName.html +1 -1
- data/docs/api/RichString.html +1 -1
- data/docs/api/SemanticLogger/Appender/Async.html +1 -1
- data/docs/api/Sequel/Extensions/BrutInstrumentation.html +1 -1
- data/docs/api/Sequel/Extensions/BrutMigrations.html +1 -1
- data/docs/api/Sequel/Extensions.html +1 -1
- data/docs/api/Sequel/Plugins/CreatedAt/InstanceMethods.html +1 -1
- data/docs/api/Sequel/Plugins/CreatedAt.html +1 -1
- data/docs/api/Sequel/Plugins/ExternalId/ClassMethods.html +1 -1
- data/docs/api/Sequel/Plugins/ExternalId/InstanceMethods.html +1 -1
- data/docs/api/Sequel/Plugins/ExternalId.html +1 -1
- data/docs/api/Sequel/Plugins/FindBang/ClassMethods.html +1 -1
- data/docs/api/Sequel/Plugins/FindBang.html +1 -1
- data/docs/api/Sequel/Plugins.html +1 -1
- data/docs/api/Sequel.html +1 -1
- data/docs/api/SpecSupport/Matchers/BeABug.html +143 -0
- data/docs/api/_index.html +246 -1
- data/docs/api/class_list.html +1 -1
- data/docs/api/file.README.html +1 -1
- data/docs/api/index.html +1 -1
- data/docs/api/method_list.html +1551 -431
- data/docs/api/top-level-namespace.html +1 -1
- data/docs/assets/{app.CovevI7X.js → app.B8jAEB7R.js} +1 -1
- data/docs/assets/chunks/@localSearchIndexroot.DJ8mocCj.js +1 -0
- data/docs/assets/chunks/{VPLocalSearchBox.CrvLAvKW.js → VPLocalSearchBox.gF-Po_fz.js} +1 -1
- data/docs/assets/chunks/{theme.BAi5_yQI.js → theme.BjPAOJkz.js} +2 -2
- data/docs/assets/{components.md.9sqJ27Oc.js → components.md.Ber8UBM0.js} +3 -3
- data/docs/assets/{configuration.md.Cb_oAR8Z.js → configuration.md.DrJ6YVoZ.js} +1 -1
- data/docs/assets/{forms.md.BdpYpNIk.js → forms.md.RK0zkhm0.js} +2 -2
- data/docs/assets/{forms.md.BdpYpNIk.lean.js → forms.md.RK0zkhm0.lean.js} +1 -1
- data/docs/assets/{getting-started.md.CKpNGvno.js → getting-started.md.CGJ44juQ.js} +2 -2
- data/docs/assets/{tutorials_02-dialog.md.Z_DOF2mU.js → tutorials_02-dialog.md.DE5WfCXI.js} +1 -1
- data/docs/assets.html +3 -3
- data/docs/brut-css/brut.css +1 -0
- 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 +3 -3
- data/docs/business-logic.html +3 -3
- data/docs/cli.html +3 -3
- data/docs/components.html +7 -7
- data/docs/configuration.html +5 -5
- data/docs/css.html +3 -3
- data/docs/custom-element-tests.html +3 -3
- data/docs/database-access.html +3 -3
- data/docs/database-schema.html +3 -3
- data/docs/deployment.html +3 -3
- data/docs/dev-environment.html +3 -3
- data/docs/dir-structure.html +3 -3
- data/docs/doc-conventions.html +3 -3
- data/docs/end-to-end-tests.html +3 -3
- data/docs/features.html +3 -3
- data/docs/flash-and-session.html +3 -3
- data/docs/form-constraints.html +3 -3
- data/docs/forms.html +5 -5
- data/docs/getting-started.html +6 -6
- data/docs/handlers.html +3 -3
- data/docs/hashmap.json +1 -1
- data/docs/hooks.html +3 -3
- data/docs/i18n.html +3 -3
- data/docs/index.html +3 -3
- data/docs/instrumentation.html +3 -3
- data/docs/javascript.html +3 -3
- data/docs/jobs.html +3 -3
- data/docs/keyword-injection.html +3 -3
- data/docs/layouts.html +3 -3
- data/docs/lsp.html +3 -3
- data/docs/markdown-examples.html +3 -3
- data/docs/middleware.html +3 -3
- data/docs/overview.html +3 -3
- data/docs/pages.html +3 -3
- data/docs/recipes/alternate-layouts.html +3 -3
- data/docs/recipes/authentication.html +3 -3
- data/docs/recipes/custom-flash.html +3 -3
- data/docs/recipes/dev-env-secrets.html +3 -3
- data/docs/recipes/form-errors.html +3 -3
- data/docs/recipes/indexed-forms.html +3 -3
- data/docs/recipes/migrations.html +3 -3
- data/docs/recipes/text-field-component.html +3 -3
- data/docs/roadmap.html +3 -3
- data/docs/routes.html +3 -3
- data/docs/security.html +3 -3
- data/docs/seed-data.html +3 -3
- data/docs/space-time-continuum.html +3 -3
- data/docs/tutorial.html +3 -3
- data/docs/tutorials/01-intro.html +3 -3
- data/docs/tutorials/02-dialog.html +5 -5
- data/docs/unit-tests.html +3 -3
- data/docs/why.html +3 -3
- 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 +1 -1
- data/mkbrut/lib/mkbrut/version.rb +1 -1
- 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 +124 -15
- data/docs/assets/chunks/@localSearchIndexroot.BiNc3tFI.js +0 -1
- /data/docs/assets/{components.md.9sqJ27Oc.lean.js → components.md.Ber8UBM0.lean.js} +0 -0
- /data/docs/assets/{configuration.md.Cb_oAR8Z.lean.js → configuration.md.DrJ6YVoZ.lean.js} +0 -0
- /data/docs/assets/{getting-started.md.CKpNGvno.lean.js → getting-started.md.CGJ44juQ.lean.js} +0 -0
- /data/docs/assets/{tutorials_02-dialog.md.Z_DOF2mU.lean.js → tutorials_02-dialog.md.DE5WfCXI.lean.js} +0 -0
|
@@ -115,7 +115,7 @@
|
|
|
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
120
|
0.9.37 (ruby-3.4.6).
|
|
121
121
|
</div>
|
|
@@ -115,7 +115,7 @@
|
|
|
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
120
|
0.9.37 (ruby-3.4.6).
|
|
121
121
|
</div>
|
|
@@ -404,7 +404,7 @@ Your subclass of this class is a standalone object that will operate on a form.<
|
|
|
404
404
|
</div>
|
|
405
405
|
|
|
406
406
|
<div id="footer">
|
|
407
|
-
Generated on
|
|
407
|
+
Generated on Sun Nov 30 20:50:12 2025 by
|
|
408
408
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
409
409
|
0.9.37 (ruby-3.4.6).
|
|
410
410
|
</div>
|
|
@@ -118,7 +118,7 @@ data integrity, use your databases constraints and other features.</p>
|
|
|
118
118
|
</div>
|
|
119
119
|
|
|
120
120
|
<div id="footer">
|
|
121
|
-
Generated on
|
|
121
|
+
Generated on Sun Nov 30 20:50:11 2025 by
|
|
122
122
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
123
123
|
0.9.37 (ruby-3.4.6).
|
|
124
124
|
</div>
|
data/docs/api/Brut/BackEnd.html
CHANGED
|
@@ -122,7 +122,7 @@ that than it is the front end.</p>
|
|
|
122
122
|
</div>
|
|
123
123
|
|
|
124
124
|
<div id="footer">
|
|
125
|
-
Generated on
|
|
125
|
+
Generated on Sun Nov 30 20:50:11 2025 by
|
|
126
126
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
127
127
|
0.9.37 (ruby-3.4.6).
|
|
128
128
|
</div>
|
data/docs/api/Brut/CLI/App.html
CHANGED
|
@@ -1591,7 +1591,7 @@ caused execution to be aborted.</p>
|
|
|
1591
1591
|
</div>
|
|
1592
1592
|
|
|
1593
1593
|
<div id="footer">
|
|
1594
|
-
Generated on
|
|
1594
|
+
Generated on Sun Nov 30 20:50:11 2025 by
|
|
1595
1595
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
1596
1596
|
0.9.37 (ruby-3.4.6).
|
|
1597
1597
|
</div>
|
|
@@ -481,7 +481,7 @@
|
|
|
481
481
|
</div>
|
|
482
482
|
|
|
483
483
|
<div id="footer">
|
|
484
|
-
Generated on
|
|
484
|
+
Generated on Sun Nov 30 20:50:11 2025 by
|
|
485
485
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
486
486
|
0.9.37 (ruby-3.4.6).
|
|
487
487
|
</div>
|
|
@@ -254,7 +254,7 @@
|
|
|
254
254
|
</div>
|
|
255
255
|
|
|
256
256
|
<div id="footer">
|
|
257
|
-
Generated on
|
|
257
|
+
Generated on Sun Nov 30 20:50:12 2025 by
|
|
258
258
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
259
259
|
0.9.37 (ruby-3.4.6).
|
|
260
260
|
</div>
|
|
@@ -296,7 +296,7 @@
|
|
|
296
296
|
</div>
|
|
297
297
|
|
|
298
298
|
<div id="footer">
|
|
299
|
-
Generated on
|
|
299
|
+
Generated on Sun Nov 30 20:50:12 2025 by
|
|
300
300
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
301
301
|
0.9.37 (ruby-3.4.6).
|
|
302
302
|
</div>
|
|
@@ -239,7 +239,7 @@
|
|
|
239
239
|
<span class='id identifier rubyid_src_dir'>src_dir</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_images_src_dir'>images_src_dir</span>
|
|
240
240
|
<span class='id identifier rubyid_dest_dir'>dest_dir</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_images_root_dir'>images_root_dir</span>
|
|
241
241
|
|
|
242
|
-
<span class='id identifier rubyid_command'>command</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>rsync --archive --delete --verbose
|
|
242
|
+
<span class='id identifier rubyid_command'>command</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>rsync --archive --delete --verbose \"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_src_dir'>src_dir</span><span class='embexpr_end'>}</span><span class='tstring_content'>/\" \"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_dest_dir'>dest_dir</span><span class='embexpr_end'>}</span><span class='tstring_content'>\"</span><span class='tstring_end'>"</span></span>
|
|
243
243
|
<span class='id identifier rubyid_system!'>system!</span> <span class='id identifier rubyid_command'>command</span>
|
|
244
244
|
<span class='kw'>end</span></pre>
|
|
245
245
|
</td>
|
|
@@ -252,7 +252,7 @@
|
|
|
252
252
|
</div>
|
|
253
253
|
|
|
254
254
|
<div id="footer">
|
|
255
|
-
Generated on
|
|
255
|
+
Generated on Sun Nov 30 20:50:12 2025 by
|
|
256
256
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
257
257
|
0.9.37 (ruby-3.4.6).
|
|
258
258
|
</div>
|
|
@@ -304,7 +304,7 @@
|
|
|
304
304
|
</div>
|
|
305
305
|
|
|
306
306
|
<div id="footer">
|
|
307
|
-
Generated on
|
|
307
|
+
Generated on Sun Nov 30 20:50:12 2025 by
|
|
308
308
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
309
309
|
0.9.37 (ruby-3.4.6).
|
|
310
310
|
</div>
|
|
@@ -173,7 +173,7 @@
|
|
|
173
173
|
</div>
|
|
174
174
|
|
|
175
175
|
<div id="footer">
|
|
176
|
-
Generated on
|
|
176
|
+
Generated on Sun Nov 30 20:50:12 2025 by
|
|
177
177
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
178
178
|
0.9.37 (ruby-3.4.6).
|
|
179
179
|
</div>
|
|
@@ -355,7 +355,7 @@
|
|
|
355
355
|
</div>
|
|
356
356
|
|
|
357
357
|
<div id="footer">
|
|
358
|
-
Generated on
|
|
358
|
+
Generated on Sun Nov 30 20:50:11 2025 by
|
|
359
359
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
360
360
|
0.9.37 (ruby-3.4.6).
|
|
361
361
|
</div>
|
|
@@ -347,7 +347,7 @@
|
|
|
347
347
|
</div>
|
|
348
348
|
|
|
349
349
|
<div id="footer">
|
|
350
|
-
Generated on
|
|
350
|
+
Generated on Sun Nov 30 20:50:11 2025 by
|
|
351
351
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
352
352
|
0.9.37 (ruby-3.4.6).
|
|
353
353
|
</div>
|
|
@@ -379,7 +379,7 @@
|
|
|
379
379
|
</div>
|
|
380
380
|
|
|
381
381
|
<div id="footer">
|
|
382
|
-
Generated on
|
|
382
|
+
Generated on Sun Nov 30 20:50:11 2025 by
|
|
383
383
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
384
384
|
0.9.37 (ruby-3.4.6).
|
|
385
385
|
</div>
|
|
@@ -329,7 +329,7 @@
|
|
|
329
329
|
</div>
|
|
330
330
|
|
|
331
331
|
<div id="footer">
|
|
332
|
-
Generated on
|
|
332
|
+
Generated on Sun Nov 30 20:50:11 2025 by
|
|
333
333
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
334
334
|
0.9.37 (ruby-3.4.6).
|
|
335
335
|
</div>
|
|
@@ -319,7 +319,7 @@
|
|
|
319
319
|
</div>
|
|
320
320
|
|
|
321
321
|
<div id="footer">
|
|
322
|
-
Generated on
|
|
322
|
+
Generated on Sun Nov 30 20:50:11 2025 by
|
|
323
323
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
324
324
|
0.9.37 (ruby-3.4.6).
|
|
325
325
|
</div>
|
|
@@ -337,7 +337,7 @@
|
|
|
337
337
|
</div>
|
|
338
338
|
|
|
339
339
|
<div id="footer">
|
|
340
|
-
Generated on
|
|
340
|
+
Generated on Sun Nov 30 20:50:11 2025 by
|
|
341
341
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
342
342
|
0.9.37 (ruby-3.4.6).
|
|
343
343
|
</div>
|
|
@@ -373,7 +373,7 @@
|
|
|
373
373
|
</div>
|
|
374
374
|
|
|
375
375
|
<div id="footer">
|
|
376
|
-
Generated on
|
|
376
|
+
Generated on Sun Nov 30 20:50:11 2025 by
|
|
377
377
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
378
378
|
0.9.37 (ruby-3.4.6).
|
|
379
379
|
</div>
|
|
@@ -173,7 +173,7 @@
|
|
|
173
173
|
</div>
|
|
174
174
|
|
|
175
175
|
<div id="footer">
|
|
176
|
-
Generated on
|
|
176
|
+
Generated on Sun Nov 30 20:50:11 2025 by
|
|
177
177
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
178
178
|
0.9.37 (ruby-3.4.6).
|
|
179
179
|
</div>
|
|
@@ -260,7 +260,7 @@
|
|
|
260
260
|
</div>
|
|
261
261
|
|
|
262
262
|
<div id="footer">
|
|
263
|
-
Generated on
|
|
263
|
+
Generated on Sun Nov 30 20:50:12 2025 by
|
|
264
264
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
265
265
|
0.9.37 (ruby-3.4.6).
|
|
266
266
|
</div>
|
|
@@ -247,7 +247,7 @@
|
|
|
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
252
|
0.9.37 (ruby-3.4.6).
|
|
253
253
|
</div>
|
|
@@ -556,7 +556,7 @@
|
|
|
556
556
|
<span class='kw'>end</span>
|
|
557
557
|
|
|
558
558
|
<span class='id identifier rubyid_names'>names</span> <span class='op'>=</span> <span class='id identifier rubyid_images'>images</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:first</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> </span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
|
559
|
-
<span class='id identifier rubyid_deploy_command'>deploy_command</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>heroku container:release </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_names'>names</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
|
559
|
+
<span class='id identifier rubyid_deploy_command'>deploy_command</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>heroku container:release </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_names'>names</span><span class='embexpr_end'>}</span><span class='tstring_content'> -a </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_heroku_app_name'>heroku_app_name</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
|
560
560
|
<span class='kw'>if</span> <span class='id identifier rubyid_options'>options</span><span class='period'>.</span><span class='id identifier rubyid_deploy?'>deploy?</span>
|
|
561
561
|
<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'>Deploying images to Heroku</span><span class='tstring_end'>"</span></span>
|
|
562
562
|
<span class='id identifier rubyid_system!'>system!</span><span class='lparen'>(</span><span class='id identifier rubyid_deploy_command'>deploy_command</span><span class='rparen'>)</span>
|
|
@@ -577,7 +577,7 @@
|
|
|
577
577
|
</div>
|
|
578
578
|
|
|
579
579
|
<div id="footer">
|
|
580
|
-
Generated on
|
|
580
|
+
Generated on Sun Nov 30 20:50:12 2025 by
|
|
581
581
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
582
582
|
0.9.37 (ruby-3.4.6).
|
|
583
583
|
</div>
|
|
@@ -186,7 +186,7 @@
|
|
|
186
186
|
</div>
|
|
187
187
|
|
|
188
188
|
<div id="footer">
|
|
189
|
-
Generated on
|
|
189
|
+
Generated on Sun Nov 30 20:50:12 2025 by
|
|
190
190
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
191
191
|
0.9.37 (ruby-3.4.6).
|
|
192
192
|
</div>
|
|
@@ -293,7 +293,7 @@
|
|
|
293
293
|
</div>
|
|
294
294
|
|
|
295
295
|
<div id="footer">
|
|
296
|
-
Generated on
|
|
296
|
+
Generated on Sun Nov 30 20:50:11 2025 by
|
|
297
297
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
298
298
|
0.9.37 (ruby-3.4.6).
|
|
299
299
|
</div>
|
|
@@ -498,7 +498,7 @@ end</span><span class='tstring_end'>}</span></span>
|
|
|
498
498
|
</div>
|
|
499
499
|
|
|
500
500
|
<div id="footer">
|
|
501
|
-
Generated on
|
|
501
|
+
Generated on Sun Nov 30 20:50:11 2025 by
|
|
502
502
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
503
503
|
0.9.37 (ruby-3.4.6).
|
|
504
504
|
</div>
|
|
@@ -388,7 +388,7 @@ end</span><span class='tstring_end'>}</span></span>
|
|
|
388
388
|
</div>
|
|
389
389
|
|
|
390
390
|
<div id="footer">
|
|
391
|
-
Generated on
|
|
391
|
+
Generated on Sun Nov 30 20:50:11 2025 by
|
|
392
392
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
393
393
|
0.9.37 (ruby-3.4.6).
|
|
394
394
|
</div>
|
|
@@ -364,7 +364,7 @@ assert.fail("test goes here")
|
|
|
364
364
|
</div>
|
|
365
365
|
|
|
366
366
|
<div id="footer">
|
|
367
|
-
Generated on
|
|
367
|
+
Generated on Sun Nov 30 20:50:11 2025 by
|
|
368
368
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
369
369
|
0.9.37 (ruby-3.4.6).
|
|
370
370
|
</div>
|
|
@@ -374,7 +374,7 @@ end
|
|
|
374
374
|
</div>
|
|
375
375
|
|
|
376
376
|
<div id="footer">
|
|
377
|
-
Generated on
|
|
377
|
+
Generated on Sun Nov 30 20:50:11 2025 by
|
|
378
378
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
379
379
|
0.9.37 (ruby-3.4.6).
|
|
380
380
|
</div>
|
|
@@ -400,7 +400,7 @@ end</span><span class='tstring_end'>}</span></span>
|
|
|
400
400
|
</div>
|
|
401
401
|
|
|
402
402
|
<div id="footer">
|
|
403
|
-
Generated on
|
|
403
|
+
Generated on Sun Nov 30 20:50:11 2025 by
|
|
404
404
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
405
405
|
0.9.37 (ruby-3.4.6).
|
|
406
406
|
</div>
|
|
@@ -252,7 +252,7 @@
|
|
|
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
257
|
0.9.37 (ruby-3.4.6).
|
|
258
258
|
</div>
|
|
@@ -293,7 +293,7 @@
|
|
|
293
293
|
</div>
|
|
294
294
|
|
|
295
295
|
<div id="footer">
|
|
296
|
-
Generated on
|
|
296
|
+
Generated on Sun Nov 30 20:50:11 2025 by
|
|
297
297
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
298
298
|
0.9.37 (ruby-3.4.6).
|
|
299
299
|
</div>
|
|
@@ -470,7 +470,7 @@ end</span><span class='tstring_end'>}</span></span>
|
|
|
470
470
|
</div>
|
|
471
471
|
|
|
472
472
|
<div id="footer">
|
|
473
|
-
Generated on
|
|
473
|
+
Generated on Sun Nov 30 20:50:11 2025 by
|
|
474
474
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
475
475
|
0.9.37 (ruby-3.4.6).
|
|
476
476
|
</div>
|
|
@@ -440,7 +440,7 @@
|
|
|
440
440
|
</div>
|
|
441
441
|
|
|
442
442
|
<div id="footer">
|
|
443
|
-
Generated on
|
|
443
|
+
Generated on Sun Nov 30 20:50:11 2025 by
|
|
444
444
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
445
445
|
0.9.37 (ruby-3.4.6).
|
|
446
446
|
</div>
|
|
@@ -370,7 +370,7 @@ end</span><span class='tstring_end'>}</span></span>
|
|
|
370
370
|
</div>
|
|
371
371
|
|
|
372
372
|
<div id="footer">
|
|
373
|
-
Generated on
|
|
373
|
+
Generated on Sun Nov 30 20:50:11 2025 by
|
|
374
374
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
375
375
|
0.9.37 (ruby-3.4.6).
|
|
376
376
|
</div>
|
|
@@ -243,7 +243,7 @@
|
|
|
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
248
|
0.9.37 (ruby-3.4.6).
|
|
249
249
|
</div>
|
|
@@ -334,7 +334,9 @@
|
|
|
334
334
|
215
|
|
335
335
|
216
|
|
336
336
|
217
|
|
337
|
-
218
|
|
337
|
+
218
|
|
338
|
+
219
|
|
339
|
+
220</pre>
|
|
338
340
|
</td>
|
|
339
341
|
<td>
|
|
340
342
|
<pre class="code"><span class="info file"># File 'lib/brut/cli/apps/test.rb', line 108</span>
|
|
@@ -409,28 +411,30 @@
|
|
|
409
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>
|
|
410
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>
|
|
411
413
|
<span class='kw'>else</span>
|
|
412
|
-
<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>
|
|
413
415
|
<span class='kw'>end</span>
|
|
414
416
|
<span class='kw'>else</span>
|
|
415
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>
|
|
416
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>
|
|
417
419
|
<span class='kw'>end</span>
|
|
418
420
|
<span class='id identifier rubyid_hash'>hash</span>
|
|
419
|
-
<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>
|
|
420
422
|
|
|
421
423
|
<span class='id identifier rubyid_files_missing'>files_missing</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
|
422
424
|
<span class='id identifier rubyid_printed_header'>printed_header</span> <span class='op'>=</span> <span class='kw'>false</span>
|
|
423
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>
|
|
424
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>
|
|
425
|
-
<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>
|
|
426
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>
|
|
427
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>
|
|
428
430
|
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_printed_header'>printed_header</span>
|
|
429
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>
|
|
430
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>
|
|
431
435
|
<span class='id identifier rubyid_printed_header'>printed_header</span> <span class='op'>=</span> <span class='kw'>true</span>
|
|
432
436
|
<span class='kw'>end</span>
|
|
433
|
-
<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>
|
|
434
438
|
<span class='kw'>end</span>
|
|
435
439
|
<span class='kw'>end</span>
|
|
436
440
|
<span class='kw'>end</span>
|
|
@@ -460,7 +464,7 @@
|
|
|
460
464
|
</div>
|
|
461
465
|
|
|
462
466
|
<div id="footer">
|
|
463
|
-
Generated on
|
|
467
|
+
Generated on Sun Nov 30 20:50:11 2025 by
|
|
464
468
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
465
469
|
0.9.37 (ruby-3.4.6).
|
|
466
470
|
</div>
|
|
@@ -397,7 +397,7 @@
|
|
|
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
402
|
0.9.37 (ruby-3.4.6).
|
|
403
403
|
</div>
|
|
@@ -252,7 +252,7 @@
|
|
|
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
257
|
0.9.37 (ruby-3.4.6).
|
|
258
258
|
</div>
|
|
@@ -568,7 +568,7 @@
|
|
|
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
573
|
0.9.37 (ruby-3.4.6).
|
|
574
574
|
</div>
|
|
@@ -243,7 +243,7 @@
|
|
|
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
248
|
0.9.37 (ruby-3.4.6).
|
|
249
249
|
</div>
|
data/docs/api/Brut/CLI/Apps.html
CHANGED
|
@@ -115,7 +115,7 @@
|
|
|
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
120
|
0.9.37 (ruby-3.4.6).
|
|
121
121
|
</div>
|
|
@@ -2415,7 +2415,7 @@ 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
2420
|
0.9.37 (ruby-3.4.6).
|
|
2421
2421
|
</div>
|
|
@@ -129,7 +129,7 @@ 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
134
|
0.9.37 (ruby-3.4.6).
|
|
135
135
|
</div>
|
|
@@ -654,7 +654,7 @@
|
|
|
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
659
|
0.9.37 (ruby-3.4.6).
|
|
660
660
|
</div>
|
|
@@ -665,7 +665,7 @@ 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
670
|
0.9.37 (ruby-3.4.6).
|
|
671
671
|
</div>
|
|
@@ -551,7 +551,7 @@ 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
556
|
0.9.37 (ruby-3.4.6).
|
|
557
557
|
</div>
|
|
@@ -235,7 +235,7 @@ 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
240
|
0.9.37 (ruby-3.4.6).
|
|
241
241
|
</div>
|
|
@@ -870,7 +870,7 @@ 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
875
|
0.9.37 (ruby-3.4.6).
|
|
876
876
|
</div>
|