brut 0.16.0.pre → 0.16.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/CHANGELOG.md +4 -3
- data/Gemfile.lock +41 -34
- 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/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 +2 -2
- 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 +7 -5
- 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 +7 -3
- 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.html +2 -2
- 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 +2 -2
- data/docs/api/file.README.html +2 -2
- data/docs/api/index.html +2 -2
- data/docs/api/top-level-namespace.html +2 -2
- data/docs/assets/{app.Dm7v_ouO.js → app.CovevI7X.js} +1 -1
- data/docs/assets/chunks/@localSearchIndexroot.BiNc3tFI.js +1 -0
- data/docs/assets/chunks/{VPLocalSearchBox.DQK6jQou.js → VPLocalSearchBox.CrvLAvKW.js} +1 -1
- data/docs/assets/chunks/{theme.BuExsdM9.js → theme.BAi5_yQI.js} +2 -2
- data/docs/assets/{components.md.Dfd3w6UW.js → components.md.9sqJ27Oc.js} +3 -3
- data/docs/assets/{configuration.md.DTYoV2Ea.js → configuration.md.Cb_oAR8Z.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.BdpYpNIk.js} +1 -1
- data/docs/assets/{getting-started.md.DO-4eoGW.js → getting-started.md.CKpNGvno.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.Z_DOF2mU.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/version.rb +1 -1
- 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
- metadata +24 -23
- data/docs/api/SpecSupport/Matchers/BeABug.html +0 -143
- 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/brut-css/brut.css +0 -1
- /data/docs/assets/{components.md.Dfd3w6UW.lean.js → components.md.9sqJ27Oc.lean.js} +0 -0
- /data/docs/assets/{configuration.md.DTYoV2Ea.lean.js → configuration.md.Cb_oAR8Z.lean.js} +0 -0
- /data/docs/assets/{forms.md.DEkmJUvb.lean.js → forms.md.BdpYpNIk.lean.js} +0 -0
- /data/docs/assets/{getting-started.md.DO-4eoGW.lean.js → getting-started.md.CKpNGvno.lean.js} +0 -0
- /data/docs/assets/{tutorials_02-dialog.md.D2vSjDVf.lean.js → tutorials_02-dialog.md.Z_DOF2mU.lean.js} +0 -0
data/mkbrut/Gemfile.lock
CHANGED
@@ -55,8 +55,8 @@ RUN --mount=type=cache,target=/var/cache/apt \
|
|
55
55
|
#
|
56
56
|
# Incancation is based on: https://www.postgresql.org/download/linux/debian/
|
57
57
|
RUN /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh -y && \
|
58
|
-
apt-get update && \
|
59
|
-
apt-get --yes --quiet install postgresql-client-16 && \
|
58
|
+
apt-get update --quiet --yes && \
|
59
|
+
apt-get --yes --quiet --no-install-recommends install postgresql-client-16 && \
|
60
60
|
rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/*
|
61
61
|
|
62
62
|
# Set basic env vars for production
|
@@ -65,6 +65,8 @@ ENV RACK_ENV="production" \
|
|
65
65
|
BUNDLE_PATH="/usr/local/bundle" \
|
66
66
|
BUNDLE_WITHOUT="development"
|
67
67
|
|
68
|
+
RUN rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/*
|
69
|
+
|
68
70
|
# This makes a new image that we'll throw away after building
|
69
71
|
# needed artifacts.
|
70
72
|
FROM base AS build
|
@@ -82,9 +84,11 @@ RUN --mount=type=cache,target=/var/cache/apt \
|
|
82
84
|
libpq-dev \
|
83
85
|
pkg-config
|
84
86
|
|
85
|
-
#
|
87
|
+
# Copy NodeJS from the official image. This should be faster than
|
88
|
+
# installing it via e.g. nvm
|
86
89
|
COPY --from=node:22-slim /usr/local /usr/local
|
87
90
|
|
91
|
+
# Copy Gemfile only as it may not change between deploys
|
88
92
|
COPY Gemfile Gemfile.lock .
|
89
93
|
|
90
94
|
# Install RubyGems from app's Gemfile
|
@@ -99,9 +103,7 @@ RUN npm clean-install --no-audit --no-fund --verbose
|
|
99
103
|
COPY . .
|
100
104
|
|
101
105
|
# Build all assets
|
102
|
-
RUN
|
103
|
-
nvm use default && \
|
104
|
-
bin/build-assets && \
|
106
|
+
RUN bin/build-assets && \
|
105
107
|
rm -rf node_modules
|
106
108
|
|
107
109
|
# We are now switching back to building the image that will be deployed.
|
@@ -118,7 +120,7 @@ RUN groupadd --system --gid 1000 brut && \
|
|
118
120
|
USER 1000:1000
|
119
121
|
|
120
122
|
ENV APP_GIT_SHA1="${app_git_sha1}"
|
123
|
+
|
121
124
|
# This is used to execute other commands. When the app is run in production,
|
122
125
|
# this script is used to run it.
|
123
126
|
ENTRYPOINT ["/brut-app/deploy/docker-entrypoint"]
|
124
|
-
|
@@ -13,12 +13,12 @@ class HerokuConfig
|
|
13
13
|
# }
|
14
14
|
# }
|
15
15
|
#
|
16
|
-
# For example, if you have the Sidekiq segment installed, `bin/run
|
16
|
+
# For example, if you have the Sidekiq segment installed, `bin/run sidekiq`
|
17
17
|
# runs Sidekiq, so you would return this hash:
|
18
18
|
#
|
19
19
|
# {
|
20
20
|
# "sidekiq" => {
|
21
|
-
# cmd: "bin/run
|
21
|
+
# cmd: "bin/run sidekiq",
|
22
22
|
# }
|
23
23
|
# }
|
24
24
|
#
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: brut
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.16.0
|
4
|
+
version: 0.16.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Bryant Copeland
|
@@ -939,7 +939,6 @@ files:
|
|
939
939
|
- docs/api/Sequel/Plugins/ExternalId/InstanceMethods.html
|
940
940
|
- docs/api/Sequel/Plugins/FindBang.html
|
941
941
|
- docs/api/Sequel/Plugins/FindBang/ClassMethods.html
|
942
|
-
- docs/api/SpecSupport/Matchers/BeABug.html
|
943
942
|
- docs/api/_index.html
|
944
943
|
- docs/api/class_list.html
|
945
944
|
- docs/api/css/common.css
|
@@ -966,7 +965,7 @@ files:
|
|
966
965
|
- docs/assets/adrs.md.YglbWtQe.lean.js
|
967
966
|
- docs/assets/ai.md.ChLnvDAX.js
|
968
967
|
- docs/assets/ai.md.ChLnvDAX.lean.js
|
969
|
-
- docs/assets/app.
|
968
|
+
- docs/assets/app.CovevI7X.js
|
970
969
|
- docs/assets/assets.md.BEF6Oz6K.js
|
971
970
|
- docs/assets/assets.md.BEF6Oz6K.lean.js
|
972
971
|
- docs/assets/basic-form-with-violations.Cv6Y9-Q_.png
|
@@ -975,16 +974,16 @@ files:
|
|
975
974
|
- docs/assets/brut-js.md.BMz0X1Rz.lean.js
|
976
975
|
- docs/assets/business-logic.md.DbuaOYGU.js
|
977
976
|
- docs/assets/business-logic.md.DbuaOYGU.lean.js
|
978
|
-
- docs/assets/chunks/@localSearchIndexroot.
|
979
|
-
- docs/assets/chunks/VPLocalSearchBox.
|
977
|
+
- docs/assets/chunks/@localSearchIndexroot.BiNc3tFI.js
|
978
|
+
- docs/assets/chunks/VPLocalSearchBox.CrvLAvKW.js
|
980
979
|
- docs/assets/chunks/framework.C4nOkCZI.js
|
981
|
-
- docs/assets/chunks/theme.
|
980
|
+
- docs/assets/chunks/theme.BAi5_yQI.js
|
982
981
|
- docs/assets/cli.md.DDMar_51.js
|
983
982
|
- docs/assets/cli.md.DDMar_51.lean.js
|
984
|
-
- docs/assets/components.md.
|
985
|
-
- docs/assets/components.md.
|
986
|
-
- docs/assets/configuration.md.
|
987
|
-
- docs/assets/configuration.md.
|
983
|
+
- docs/assets/components.md.9sqJ27Oc.js
|
984
|
+
- docs/assets/components.md.9sqJ27Oc.lean.js
|
985
|
+
- docs/assets/configuration.md.Cb_oAR8Z.js
|
986
|
+
- docs/assets/configuration.md.Cb_oAR8Z.lean.js
|
988
987
|
- docs/assets/css.md.K5rOCOQY.js
|
989
988
|
- docs/assets/css.md.K5rOCOQY.lean.js
|
990
989
|
- docs/assets/custom-element-tests.md.DiLe-eFw.js
|
@@ -993,8 +992,8 @@ files:
|
|
993
992
|
- docs/assets/database-access.md.Dc8l2Plf.lean.js
|
994
993
|
- docs/assets/database-schema.md.BJ_JhXmO.js
|
995
994
|
- docs/assets/database-schema.md.BJ_JhXmO.lean.js
|
996
|
-
- docs/assets/deployment.md.
|
997
|
-
- docs/assets/deployment.md.
|
995
|
+
- docs/assets/deployment.md.CHTx2eTR.js
|
996
|
+
- docs/assets/deployment.md.CHTx2eTR.lean.js
|
998
997
|
- docs/assets/dev-env-protocol.DysDAtnz.png
|
999
998
|
- docs/assets/dev-environment.md.B1S9p5ZK.js
|
1000
999
|
- docs/assets/dev-environment.md.B1S9p5ZK.lean.js
|
@@ -1010,10 +1009,10 @@ files:
|
|
1010
1009
|
- docs/assets/flash-and-session.md.CUsMxoNl.lean.js
|
1011
1010
|
- docs/assets/form-constraints.md.KlfXSKm2.js
|
1012
1011
|
- docs/assets/form-constraints.md.KlfXSKm2.lean.js
|
1013
|
-
- docs/assets/forms.md.
|
1014
|
-
- docs/assets/forms.md.
|
1015
|
-
- docs/assets/getting-started.md.
|
1016
|
-
- docs/assets/getting-started.md.
|
1012
|
+
- docs/assets/forms.md.BdpYpNIk.js
|
1013
|
+
- docs/assets/forms.md.BdpYpNIk.lean.js
|
1014
|
+
- docs/assets/getting-started.md.CKpNGvno.js
|
1015
|
+
- docs/assets/getting-started.md.CKpNGvno.lean.js
|
1017
1016
|
- docs/assets/handlers.md.C5tUwmmo.js
|
1018
1017
|
- docs/assets/handlers.md.C5tUwmmo.lean.js
|
1019
1018
|
- docs/assets/hooks.md.CoiYCKRc.js
|
@@ -1027,8 +1026,8 @@ files:
|
|
1027
1026
|
- docs/assets/instrumentation.md.BcxjC4jd.lean.js
|
1028
1027
|
- docs/assets/javascript.md.D6fxhaQb.js
|
1029
1028
|
- docs/assets/javascript.md.D6fxhaQb.lean.js
|
1030
|
-
- docs/assets/jobs.md.
|
1031
|
-
- docs/assets/jobs.md.
|
1029
|
+
- docs/assets/jobs.md.Bi3qb3v6.js
|
1030
|
+
- docs/assets/jobs.md.Bi3qb3v6.lean.js
|
1032
1031
|
- docs/assets/keyword-injection.md.CqLnnzIz.js
|
1033
1032
|
- docs/assets/keyword-injection.md.CqLnnzIz.lean.js
|
1034
1033
|
- docs/assets/layouts.md.HEbeK7Jr.js
|
@@ -1051,6 +1050,8 @@ files:
|
|
1051
1050
|
- docs/assets/recipes_authentication.md.CyvoIW82.lean.js
|
1052
1051
|
- docs/assets/recipes_custom-flash.md.6gFqf2uL.js
|
1053
1052
|
- docs/assets/recipes_custom-flash.md.6gFqf2uL.lean.js
|
1053
|
+
- docs/assets/recipes_dev-env-secrets.md.DC_jVY9U.js
|
1054
|
+
- docs/assets/recipes_dev-env-secrets.md.DC_jVY9U.lean.js
|
1054
1055
|
- docs/assets/recipes_form-errors.md.B5ptSzMO.js
|
1055
1056
|
- docs/assets/recipes_form-errors.md.B5ptSzMO.lean.js
|
1056
1057
|
- docs/assets/recipes_indexed-forms.md.BYYQGW2C.js
|
@@ -1059,8 +1060,8 @@ files:
|
|
1059
1060
|
- docs/assets/recipes_migrations.md.Cid7-3cu.lean.js
|
1060
1061
|
- docs/assets/recipes_text-field-component.md.VhOsCtKI.js
|
1061
1062
|
- docs/assets/recipes_text-field-component.md.VhOsCtKI.lean.js
|
1062
|
-
- docs/assets/roadmap.md.
|
1063
|
-
- docs/assets/roadmap.md.
|
1063
|
+
- docs/assets/roadmap.md.DqC1Y7Zt.js
|
1064
|
+
- docs/assets/roadmap.md.DqC1Y7Zt.lean.js
|
1064
1065
|
- docs/assets/routes.md.C1dgIBtD.js
|
1065
1066
|
- docs/assets/routes.md.C1dgIBtD.lean.js
|
1066
1067
|
- docs/assets/security.md.Jn4SY1uK.js
|
@@ -1079,15 +1080,14 @@ files:
|
|
1079
1080
|
- docs/assets/tutorial.md.BX6f6l00.lean.js
|
1080
1081
|
- docs/assets/tutorials_01-intro.md.CzZ3kpF_.js
|
1081
1082
|
- docs/assets/tutorials_01-intro.md.CzZ3kpF_.lean.js
|
1082
|
-
- docs/assets/tutorials_02-dialog.md.
|
1083
|
-
- docs/assets/tutorials_02-dialog.md.
|
1083
|
+
- docs/assets/tutorials_02-dialog.md.Z_DOF2mU.js
|
1084
|
+
- docs/assets/tutorials_02-dialog.md.Z_DOF2mU.lean.js
|
1084
1085
|
- docs/assets/unit-tests.md.vDsdBbO_.js
|
1085
1086
|
- docs/assets/unit-tests.md.vDsdBbO_.lean.js
|
1086
1087
|
- docs/assets/welcome-to-brut.VSWzl17-.png
|
1087
1088
|
- docs/assets/why.md.4WpxdrQ2.js
|
1088
1089
|
- docs/assets/why.md.4WpxdrQ2.lean.js
|
1089
1090
|
- docs/assets/workspace-protocol.C0gXsoDb.png
|
1090
|
-
- docs/brut-css/brut.css
|
1091
1091
|
- docs/brut-css/brut.max.css
|
1092
1092
|
- docs/brut-css/classes/appearances.html
|
1093
1093
|
- docs/brut-css/classes/background-colors.html
|
@@ -1217,6 +1217,7 @@ files:
|
|
1217
1217
|
- docs/recipes/alternate-layouts.html
|
1218
1218
|
- docs/recipes/authentication.html
|
1219
1219
|
- docs/recipes/custom-flash.html
|
1220
|
+
- docs/recipes/dev-env-secrets.html
|
1220
1221
|
- docs/recipes/form-errors.html
|
1221
1222
|
- docs/recipes/indexed-forms.html
|
1222
1223
|
- docs/recipes/migrations.html
|
@@ -1,143 +0,0 @@
|
|
1
|
-
<!DOCTYPE html>
|
2
|
-
<html>
|
3
|
-
<head>
|
4
|
-
<meta charset="utf-8">
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6
|
-
<title>
|
7
|
-
Class: SpecSupport::Matchers::BeABug
|
8
|
-
|
9
|
-
— Documentation by YARD 0.9.37
|
10
|
-
|
11
|
-
</title>
|
12
|
-
|
13
|
-
<link rel="stylesheet" href="../../css/style.css" type="text/css" />
|
14
|
-
|
15
|
-
<link rel="stylesheet" href="../../css/common.css" type="text/css" />
|
16
|
-
|
17
|
-
<script type="text/javascript">
|
18
|
-
pathId = "SpecSupport::Matchers::BeABug";
|
19
|
-
relpath = '../../';
|
20
|
-
</script>
|
21
|
-
|
22
|
-
|
23
|
-
<script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
|
24
|
-
|
25
|
-
<script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
|
26
|
-
|
27
|
-
|
28
|
-
</head>
|
29
|
-
<body>
|
30
|
-
<div class="nav_wrap">
|
31
|
-
<iframe id="nav" src="../../class_list.html?1"></iframe>
|
32
|
-
<div id="resizer"></div>
|
33
|
-
</div>
|
34
|
-
|
35
|
-
<div id="main" tabindex="-1">
|
36
|
-
<div id="header">
|
37
|
-
<div id="menu">
|
38
|
-
|
39
|
-
<a href="../../_index.html">Index (B)</a> »
|
40
|
-
<span class='title'>SpecSupport</span> » <span class='title'>Matchers</span>
|
41
|
-
»
|
42
|
-
<span class="title">BeABug</span>
|
43
|
-
|
44
|
-
</div>
|
45
|
-
|
46
|
-
<div id="search">
|
47
|
-
|
48
|
-
<a class="full_list_link" id="class_list_link"
|
49
|
-
href="../../class_list.html">
|
50
|
-
|
51
|
-
<svg width="24" height="24">
|
52
|
-
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
|
53
|
-
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
|
54
|
-
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
|
55
|
-
</svg>
|
56
|
-
</a>
|
57
|
-
|
58
|
-
</div>
|
59
|
-
<div class="clear"></div>
|
60
|
-
</div>
|
61
|
-
|
62
|
-
<div id="content"><h1>Class: SpecSupport::Matchers::BeABug
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
</h1>
|
67
|
-
<div class="box_info">
|
68
|
-
|
69
|
-
<dl>
|
70
|
-
<dt>Inherits:</dt>
|
71
|
-
<dd>
|
72
|
-
<span class="inheritName">Object</span>
|
73
|
-
|
74
|
-
<ul class="fullTree">
|
75
|
-
<li>Object</li>
|
76
|
-
|
77
|
-
<li class="next">SpecSupport::Matchers::BeABug</li>
|
78
|
-
|
79
|
-
</ul>
|
80
|
-
<a href="#" class="inheritanceTree">show all</a>
|
81
|
-
|
82
|
-
</dd>
|
83
|
-
</dl>
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
<dl>
|
96
|
-
<dt>Defined in:</dt>
|
97
|
-
<dd>lib/brut/spec_support/matchers/be_a_bug.rb</dd>
|
98
|
-
</dl>
|
99
|
-
|
100
|
-
</div>
|
101
|
-
|
102
|
-
<h2>Overview</h2><div class="docstring">
|
103
|
-
<div class="discussion">
|
104
|
-
<p>Block-based matcher that expects the blog to
|
105
|
-
raise a <span class='object_link'><a href="../../Brut/Framework/Errors/Bug.html" title="Brut::Framework::Errors::Bug (class)">Brut::Framework::Errors::Bug</a></span>.</p>
|
106
|
-
|
107
|
-
|
108
|
-
</div>
|
109
|
-
</div>
|
110
|
-
<div class="tags">
|
111
|
-
|
112
|
-
<div class="examples">
|
113
|
-
<h4 class="tag_title">Examples:</h4>
|
114
|
-
|
115
|
-
|
116
|
-
<pre class="example code"><code>
|
117
|
-
<span class='id identifier rubyid_expect'>expect</span> <span class='lbrace'>{</span>
|
118
|
-
<span class='const'>SomeClass</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='label'>value:</span> <span class='symbol'>:invalid</span><span class='rparen'>)</span>
|
119
|
-
<span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_to'>to</span> <span class='id identifier rubyid_be_a_bug'>be_a_bug</span></code></pre>
|
120
|
-
|
121
|
-
</div>
|
122
|
-
|
123
|
-
|
124
|
-
</div>
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
</div>
|
134
|
-
|
135
|
-
<div id="footer">
|
136
|
-
Generated on Mon Jun 30 23:01:10 2025 by
|
137
|
-
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
138
|
-
0.9.37 (ruby-3.4.4).
|
139
|
-
</div>
|
140
|
-
|
141
|
-
</div>
|
142
|
-
</body>
|
143
|
-
</html>
|