brut 0.0.26 → 0.0.28
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/Gemfile.lock +1 -1
- data/brutrb.com/.vitepress/config.mjs +2 -0
- data/brutrb.com/ai.md +6 -1
- data/brutrb.com/components.md +1 -1
- data/brutrb.com/dev-environment.md +6 -5
- data/brutrb.com/doc-conventions.md +1 -1
- data/brutrb.com/forms.md +22 -26
- data/brutrb.com/getting-started.md +94 -23
- data/brutrb.com/instrumentation.md +12 -0
- data/brutrb.com/layouts.md +130 -0
- data/brutrb.com/lsp.md +23 -0
- data/docs/404.html +2 -2
- data/docs/ai.html +5 -5
- 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 +38 -13
- data/docs/api/Brut/CLI/AppRunner.html +1 -1
- 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 +1 -1
- 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 +9 -3
- data/docs/api/Brut/CLI/Apps/DB/NewMigration.html +11 -11
- 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 +12 -12
- data/docs/api/Brut/CLI/Apps/DB.html +1 -1
- data/docs/api/Brut/CLI/Apps/DeployBase/GitChecks.html +270 -0
- data/docs/api/Brut/CLI/Apps/DeployBase.html +257 -0
- data/docs/api/Brut/CLI/Apps/HerokuContainerBasedDeploy/Deploy.html +585 -0
- data/docs/api/Brut/CLI/Apps/HerokuContainerBasedDeploy.html +196 -0
- data/docs/api/Brut/CLI/Apps/Scaffold/Action/Route.html +1 -1
- 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/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 +1 -1
- data/docs/api/Brut/CLI/Apps/Scaffold/Page.html +2 -2
- data/docs/api/Brut/CLI/Apps/Scaffold/RoutesEditor.html +1 -1
- data/docs/api/Brut/CLI/Apps/Scaffold/Test.html +2 -2
- data/docs/api/Brut/CLI/Apps/Scaffold.html +1 -1
- data/docs/api/Brut/CLI/Apps/Test/Audit.html +12 -10
- data/docs/api/Brut/CLI/Apps/Test/E2e.html +8 -8
- data/docs/api/Brut/CLI/Apps/Test/JS.html +9 -9
- data/docs/api/Brut/CLI/Apps/Test/Run.html +18 -18
- data/docs/api/Brut/CLI/Apps/Test.html +1 -1
- data/docs/api/Brut/CLI/Apps.html +2 -2
- data/docs/api/Brut/CLI/Command.html +113 -28
- 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 +169 -38
- data/docs/api/Brut/CLI/InvalidOption.html +1 -1
- data/docs/api/Brut/CLI/Options.html +68 -19
- 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 +110 -29
- data/docs/api/Brut/Framework/Error.html +1 -1
- data/docs/api/Brut/Framework/Errors/AbstractMethod.html +89 -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 +31 -8
- 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 +36 -26
- data/docs/api/Brut/FrontEnd/Component.html +7 -7
- data/docs/api/Brut/FrontEnd/Components/ConstraintViolations.html +1 -1
- data/docs/api/Brut/FrontEnd/Components/FormTag.html +37 -29
- 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/CsrfToken.html +1 -1
- data/docs/api/Brut/FrontEnd/Components/Inputs/InputTag.html +20 -117
- data/docs/api/Brut/FrontEnd/Components/Inputs/RadioButton.html +25 -23
- data/docs/api/Brut/FrontEnd/Components/Inputs/SelectTagWithOptions.html +73 -380
- data/docs/api/Brut/FrontEnd/Components/Inputs/TextareaTag.html +22 -138
- 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 +23 -2
- 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/ConstraintViolation.html +24 -68
- data/docs/api/Brut/FrontEnd/Forms/Input.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/InputDeclarations.html +4 -4
- 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 +72 -22
- 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 +6 -2
- 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/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/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 +20 -20
- 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 +2 -2
- data/docs/api/Brut/SpecSupport/Matchers/BeABug.html +142 -0
- data/docs/api/Brut/SpecSupport/Matchers/BePageFor.html +142 -0
- data/docs/api/Brut/SpecSupport/Matchers/BeRoutingFor.html +155 -0
- data/docs/api/Brut/SpecSupport/Matchers/HaveConstraintViolation.html +55 -25
- data/docs/api/Brut/SpecSupport/Matchers/HaveGenerated.html +149 -0
- data/docs/api/Brut/SpecSupport/Matchers/HaveHTMLAttribute.html +46 -19
- data/docs/api/Brut/SpecSupport/Matchers/HaveI18nString.html +149 -0
- data/docs/api/Brut/SpecSupport/Matchers/HaveLinkTo.html +149 -0
- data/docs/api/Brut/SpecSupport/Matchers/HaveRedirectedTo.html +165 -0
- data/docs/api/Brut/SpecSupport/Matchers/HaveReturnedHttpStatus.html +158 -0
- data/docs/api/Brut/SpecSupport/Matchers/HaveReturnedRackResponse.html +156 -0
- data/docs/api/Brut/SpecSupport/Matchers.html +2 -2
- data/docs/api/Brut/SpecSupport/RSpecSetup/OptionalSidekiqSupport.html +24 -24
- data/docs/api/Brut/SpecSupport/RSpecSetup.html +55 -20
- data/docs/api/Brut/SpecSupport/SessionSupport.html +1 -1
- data/docs/api/Brut/SpecSupport.html +1 -1
- data/docs/api/Brut.html +1 -1
- data/docs/api/Clock.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 +5 -1
- data/docs/api/Sequel/Extensions/BrutMigrations.html +36 -28
- 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 +92 -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 +392 -336
- data/docs/api/top-level-namespace.html +1 -1
- data/docs/assets/{ai.md.tZrjP9im.js → ai.md._6HCDL6d.js} +1 -1
- data/docs/assets/ai.md._6HCDL6d.lean.js +1 -0
- data/docs/assets/{app.D_yaTITQ.js → app.BX81XO4N.js} +1 -1
- data/docs/assets/chunks/@localSearchIndexroot.CoYzciVi.js +1 -0
- data/docs/assets/chunks/{VPLocalSearchBox.B2-ZzyTY.js → VPLocalSearchBox.gABXcTWp.js} +1 -1
- data/docs/assets/chunks/{theme.CfGFVRvE.js → theme.DwUXXAL3.js} +2 -2
- data/docs/assets/{components.md.eCttGlN-.js → components.md.CRUMdRoN.js} +1 -1
- data/docs/assets/{configuration.md.BRriU0cL.js → configuration.md.BGHl8oRC.js} +1 -1
- data/docs/assets/{dev-environment.md.BNc8AYiK.js → dev-environment.md.GZv6xvi9.js} +1 -1
- data/docs/assets/doc-conventions.md.-kN3Xo5C.js +1 -0
- data/docs/assets/{doc-conventions.md.DCfRXXi-.lean.js → doc-conventions.md.-kN3Xo5C.lean.js} +1 -1
- data/docs/assets/{forms.md.CBTYQ_Cz.js → forms.md.B-koVgyw.js} +23 -23
- data/docs/assets/{forms.md.CBTYQ_Cz.lean.js → forms.md.B-koVgyw.lean.js} +1 -1
- data/docs/assets/getting-started.md.Ciz82L0m.js +25 -0
- data/docs/assets/getting-started.md.Ciz82L0m.lean.js +1 -0
- data/docs/assets/{instrumentation.md.CL6ax7nT.js → instrumentation.md.a9Pjps4P.js} +2 -2
- data/docs/assets/{instrumentation.md.CL6ax7nT.lean.js → instrumentation.md.a9Pjps4P.lean.js} +1 -1
- data/docs/assets/layouts.md.cPnh3NId.js +51 -0
- data/docs/assets/layouts.md.cPnh3NId.lean.js +1 -0
- data/docs/assets/lsp.md.Bsu-f6VU.js +1 -0
- data/docs/assets/lsp.md.Bsu-f6VU.lean.js +1 -0
- data/docs/assets/{overview.md.CDalkuxV.js → overview.md.C5wlBcR5.js} +3 -3
- data/docs/assets/recipes_authentication.md.CAsXf7hk.js +1 -0
- data/docs/assets/recipes_authentication.md.CAsXf7hk.lean.js +1 -0
- 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/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 +6 -6
- 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 +4 -4
- data/docs/dev-environment.html +5 -5
- data/docs/doc-conventions.html +5 -5
- data/docs/end-to-end-tests.html +4 -4
- data/docs/flash-and-session.html +4 -4
- data/docs/forms.html +27 -27
- data/docs/getting-started.html +29 -6
- 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 +5 -5
- data/docs/javascript.html +4 -4
- data/docs/jobs.html +4 -4
- data/docs/keyword-injection.html +4 -4
- data/docs/layouts.html +74 -0
- data/docs/lsp.html +24 -0
- data/docs/markdown-examples.html +4 -4
- data/docs/middleware.html +4 -4
- data/docs/not-released.html +4 -4
- data/docs/overview.html +8 -8
- data/docs/pages.html +5 -5
- data/docs/recipes/authentication.html +24 -0
- 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/unit-tests.html +4 -4
- data/lib/brut/cli/app.rb +7 -2
- data/lib/brut/cli/apps/deploy_base.rb +86 -0
- data/lib/brut/cli/apps/heroku_container_based_deploy.rb +194 -0
- data/lib/brut/cli/apps/test.rb +2 -1
- data/lib/brut/cli/command.rb +7 -13
- data/lib/brut/cli/executor.rb +31 -5
- data/lib/brut/cli/options.rb +4 -0
- data/lib/brut/cli.rb +4 -3
- data/lib/brut/framework/container.rb +25 -7
- data/lib/brut/framework/errors/abstract_method.rb +7 -0
- data/lib/brut/framework/errors.rb +4 -2
- data/lib/brut/front_end/component.rb +33 -9
- data/lib/brut/front_end/components/inputs/select_tag_with_options.rb +16 -74
- data/lib/brut/front_end/forms/constraint_violation.rb +2 -18
- data/lib/brut/front_end/forms/input.rb +8 -8
- data/lib/brut/front_end/forms/input_declarations.rb +3 -3
- data/lib/brut/front_end/forms/radio_button_group_input.rb +1 -1
- data/lib/brut/front_end/forms/select_input.rb +1 -1
- data/lib/brut/front_end/forms/validity_state.rb +23 -0
- data/lib/brut/front_end/middlewares/reload_app.rb +2 -0
- data/lib/brut/spec_support/handler_support.rb +1 -1
- data/lib/brut/spec_support/matcher.rb +1 -1
- data/lib/brut/spec_support/matchers/be_a_bug.rb +11 -0
- data/lib/brut/spec_support/matchers/be_page_for.rb +10 -0
- data/lib/brut/spec_support/matchers/be_routing_for.rb +18 -0
- data/lib/brut/spec_support/matchers/have_constraint_violation.rb +10 -0
- data/lib/brut/spec_support/matchers/have_generated.rb +28 -0
- data/lib/brut/spec_support/matchers/have_html_attribute.rb +10 -0
- data/lib/brut/spec_support/matchers/have_i18n_string.rb +13 -0
- data/lib/brut/spec_support/matchers/have_link_to.rb +15 -0
- data/lib/brut/spec_support/matchers/have_redirected_to.rb +23 -0
- data/lib/brut/spec_support/matchers/have_returned_http_status.rb +20 -0
- data/lib/brut/spec_support/matchers/have_returned_rack_response.rb +22 -0
- data/lib/brut/spec_support/rspec_setup.rb +42 -2
- data/lib/brut/version.rb +1 -1
- data/lib/sequel/extensions/brut_instrumentation.rb +4 -0
- metadata +51 -24
- data/docs/assets/ai.md.tZrjP9im.lean.js +0 -1
- data/docs/assets/chunks/@localSearchIndexroot.BsN5i0Fi.js +0 -1
- data/docs/assets/doc-conventions.md.DCfRXXi-.js +0 -1
- data/docs/assets/getting-started.md.Bz2s1Vjb.js +0 -2
- data/docs/assets/getting-started.md.Bz2s1Vjb.lean.js +0 -1
- data/lib/brut/spec_support/matchers/have_rendered.rb +0 -14
- /data/docs/assets/{components.md.eCttGlN-.lean.js → components.md.CRUMdRoN.lean.js} +0 -0
- /data/docs/assets/{configuration.md.BRriU0cL.lean.js → configuration.md.BGHl8oRC.lean.js} +0 -0
- /data/docs/assets/{dev-environment.md.BNc8AYiK.lean.js → dev-environment.md.GZv6xvi9.lean.js} +0 -0
- /data/docs/assets/{overview.md.CDalkuxV.lean.js → overview.md.C5wlBcR5.lean.js} +0 -0
@@ -227,6 +227,29 @@ configuration values or set your own.</p>
|
|
227
227
|
<span class="summary_desc"><div class='inline'><p>Called by your app to override an existing value.</p>
|
228
228
|
</div></span>
|
229
229
|
|
230
|
+
</li>
|
231
|
+
|
232
|
+
|
233
|
+
<li class="public ">
|
234
|
+
<span class="summary_signature">
|
235
|
+
|
236
|
+
<a href="#reload-instance_method" title="#reload (instance method)">#<strong>reload</strong> ⇒ Object </a>
|
237
|
+
|
238
|
+
|
239
|
+
|
240
|
+
</span>
|
241
|
+
|
242
|
+
|
243
|
+
|
244
|
+
|
245
|
+
|
246
|
+
|
247
|
+
|
248
|
+
|
249
|
+
|
250
|
+
<span class="summary_desc"><div class='inline'>
|
251
|
+
</div></span>
|
252
|
+
|
230
253
|
</li>
|
231
254
|
|
232
255
|
|
@@ -411,16 +434,16 @@ if the accessor method is called without parameters and without a block. See <sp
|
|
411
434
|
<pre class="lines">
|
412
435
|
|
413
436
|
|
414
|
-
163
|
415
|
-
164
|
416
437
|
165
|
417
438
|
166
|
418
439
|
167
|
419
440
|
168
|
420
|
-
169
|
441
|
+
169
|
442
|
+
170
|
443
|
+
171</pre>
|
421
444
|
</td>
|
422
445
|
<td>
|
423
|
-
<pre class="code"><span class="info file"># File 'lib/brut/framework/container.rb', line
|
446
|
+
<pre class="code"><span class="info file"># File 'lib/brut/framework/container.rb', line 165</span>
|
424
447
|
|
425
448
|
<span class='kw'>def</span> <span class='id identifier rubyid_method_missing'>method_missing</span><span class='lparen'>(</span><span class='id identifier rubyid_sym'>sym</span><span class='comma'>,</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='comma'>,</span><span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
426
449
|
<span class='kw'>if</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>0</span> <span class='op'>&&</span> <span class='id identifier rubyid_block'>block</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>&&</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_respond_to_missing?'>respond_to_missing?</span><span class='lparen'>(</span><span class='id identifier rubyid_sym'>sym</span><span class='rparen'>)</span>
|
@@ -534,8 +557,6 @@ passed to <span class='object_link'><a href="#store-instance_method" title="Brut
|
|
534
557
|
<pre class="lines">
|
535
558
|
|
536
559
|
|
537
|
-
189
|
538
|
-
190
|
539
560
|
191
|
540
561
|
192
|
541
562
|
193
|
@@ -565,26 +586,28 @@ passed to <span class='object_link'><a href="#store-instance_method" title="Brut
|
|
565
586
|
217
|
566
587
|
218
|
567
588
|
219
|
568
|
-
220
|
589
|
+
220
|
590
|
+
221
|
591
|
+
222</pre>
|
569
592
|
</td>
|
570
593
|
<td>
|
571
|
-
<pre class="code"><span class="info file"># File 'lib/brut/framework/container.rb', line
|
594
|
+
<pre class="code"><span class="info file"># File 'lib/brut/framework/container.rb', line 191</span>
|
572
595
|
|
573
596
|
<span class='kw'>def</span> <span class='id identifier rubyid_fetch'>fetch</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span>
|
574
597
|
<span class='id identifier rubyid_name'>name</span> <span class='op'>=</span> <span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
|
575
598
|
<span class='comment'># TODO: Provide a cleanr impl and better error checking if things go wrong
|
576
599
|
</span> <span class='id identifier rubyid_x'>x</span> <span class='op'>=</span> <span class='ivar'>@container</span><span class='period'>.</span><span class='id identifier rubyid_fetch'>fetch</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span>
|
577
600
|
|
578
|
-
<span class='id identifier
|
601
|
+
<span class='id identifier rubyid_has_value'>has_value</span> <span class='op'>=</span> <span class='id identifier rubyid_x'>x</span><span class='period'>.</span><span class='id identifier rubyid_key?'>key?</span><span class='lparen'>(</span><span class='symbol'>:value</span><span class='rparen'>)</span>
|
579
602
|
|
580
|
-
<span class='kw'>if</span> <span class='
|
603
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_has_value'>has_value</span>
|
581
604
|
<span class='id identifier rubyid_handle_path_values'>handle_path_values</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span><span class='id identifier rubyid_x'>x</span><span class='rparen'>)</span>
|
582
|
-
<span class='kw'>return</span> <span class='id identifier
|
605
|
+
<span class='kw'>return</span> <span class='id identifier rubyid_x'>x</span><span class='lbracket'>[</span><span class='symbol'>:value</span><span class='rbracket'>]</span>
|
583
606
|
<span class='kw'>end</span>
|
584
607
|
|
585
608
|
<span class='id identifier rubyid_deriver'>deriver</span> <span class='op'>=</span> <span class='id identifier rubyid_x'>x</span><span class='lbracket'>[</span><span class='symbol'>:derive_with</span><span class='rbracket'>]</span>
|
586
609
|
<span class='kw'>if</span> <span class='id identifier rubyid_deriver'>deriver</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
|
587
|
-
<span class='id identifier rubyid_raise'>raise</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Something is seriously wrong. '</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'>' was stored in container without a derive_with
|
610
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Something is seriously wrong. '</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'>' was stored in container without a static value, but also without a derive_with key</span><span class='tstring_end'>"</span></span>
|
588
611
|
<span class='kw'>end</span>
|
589
612
|
|
590
613
|
<span class='id identifier rubyid_parameters'>parameters</span> <span class='op'>=</span> <span class='id identifier rubyid_deriver'>deriver</span><span class='period'>.</span><span class='id identifier rubyid_parameters'>parameters</span><span class='lparen'>(</span><span class='label'>lambda:</span> <span class='kw'>true</span><span class='rparen'>)</span>
|
@@ -718,7 +741,9 @@ The names of the parameters must match the name of another configuration value.<
|
|
718
741
|
115
|
719
742
|
116
|
720
743
|
117
|
721
|
-
118
|
744
|
+
118
|
745
|
+
119
|
746
|
+
120</pre>
|
722
747
|
</td>
|
723
748
|
<td>
|
724
749
|
<pre class="code"><span class="info file"># File 'lib/brut/framework/container.rb', line 105</span>
|
@@ -732,9 +757,65 @@ The names of the parameters must match the name of another configuration value.<
|
|
732
757
|
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>ArgumentError</span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'> does not allow the app to override it</span><span class='tstring_end'>"</span></span>
|
733
758
|
<span class='kw'>end</span>
|
734
759
|
<span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span> <span class='op'>==</span> <span class='symbol'>:use_block</span>
|
735
|
-
<span class='ivar'>@container</span><span class='lbracket'>[</span><span class='id identifier rubyid_name'>name</span><span class='rbracket'>]</span
|
760
|
+
<span class='ivar'>@container</span><span class='lbracket'>[</span><span class='id identifier rubyid_name'>name</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:derive_with</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_block'>block</span>
|
761
|
+
<span class='ivar'>@container</span><span class='lbracket'>[</span><span class='id identifier rubyid_name'>name</span><span class='rbracket'>]</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>
|
736
762
|
<span class='kw'>else</span>
|
737
|
-
<span class='ivar'>@container</span><span class='lbracket'>[</span><span class='id identifier rubyid_name'>name</span><span class='rbracket'>]</span
|
763
|
+
<span class='ivar'>@container</span><span class='lbracket'>[</span><span class='id identifier rubyid_name'>name</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:value</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span>
|
764
|
+
<span class='ivar'>@container</span><span class='lbracket'>[</span><span class='id identifier rubyid_name'>name</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:derive_with</span><span class='rparen'>)</span>
|
765
|
+
<span class='kw'>end</span>
|
766
|
+
<span class='kw'>end</span></pre>
|
767
|
+
</td>
|
768
|
+
</tr>
|
769
|
+
</table>
|
770
|
+
</div>
|
771
|
+
|
772
|
+
<div class="method_details ">
|
773
|
+
<h3 class="signature " id="reload-instance_method">
|
774
|
+
|
775
|
+
#<strong>reload</strong> ⇒ <tt>Object</tt>
|
776
|
+
|
777
|
+
|
778
|
+
|
779
|
+
|
780
|
+
|
781
|
+
</h3><table class="source_code">
|
782
|
+
<tr>
|
783
|
+
<td>
|
784
|
+
<pre class="lines">
|
785
|
+
|
786
|
+
|
787
|
+
224
|
788
|
+
225
|
789
|
+
226
|
790
|
+
227
|
791
|
+
228
|
792
|
+
229
|
793
|
+
230
|
794
|
+
231
|
795
|
+
232
|
796
|
+
233
|
797
|
+
234
|
798
|
+
235
|
799
|
+
236
|
800
|
+
237
|
801
|
+
238</pre>
|
802
|
+
</td>
|
803
|
+
<td>
|
804
|
+
<pre class="code"><span class="info file"># File 'lib/brut/framework/container.rb', line 224</span>
|
805
|
+
|
806
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_reload'>reload</span>
|
807
|
+
<span class='ivar'>@container</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_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_contained_value'>contained_value</span><span class='op'>|</span>
|
808
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_contained_value'>contained_value</span><span class='period'>.</span><span class='id identifier rubyid_key?'>key?</span><span class='lparen'>(</span><span class='symbol'>:value</span><span class='rparen'>)</span> <span class='op'>&&</span> <span class='id identifier rubyid_contained_value'>contained_value</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='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Class</span><span class='tstring_end'>"</span></span>
|
809
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_contained_value'>contained_value</span><span class='period'>.</span><span class='id identifier rubyid_key?'>key?</span><span class='lparen'>(</span><span class='symbol'>:derive_with</span><span class='rparen'>)</span>
|
810
|
+
<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
|
+
<span class='kw'>else</span>
|
812
|
+
<span class='id identifier rubyid_klass'>klass</span> <span class='op'>=</span> <span class='id identifier rubyid_contained_value'>contained_value</span><span class='lbracket'>[</span><span class='symbol'>:value</span><span class='rbracket'>]</span>
|
813
|
+
<span class='id identifier rubyid_new_klass'>new_klass</span> <span class='op'>=</span> <span class='id identifier rubyid_klass'>klass</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>::</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_reduce'>reduce</span><span class='lparen'>(</span><span class='const'>Module</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_mod'>mod</span><span class='comma'>,</span><span class='id identifier rubyid_part'>part</span><span class='op'>|</span>
|
814
|
+
<span class='id identifier rubyid_mod'>mod</span><span class='period'>.</span><span class='id identifier rubyid_const_get'>const_get</span><span class='lparen'>(</span><span class='id identifier rubyid_part'>part</span><span class='rparen'>)</span>
|
815
|
+
<span class='rbrace'>}</span>
|
816
|
+
<span class='id identifier rubyid_contained_value'>contained_value</span><span class='lbracket'>[</span><span class='symbol'>:value</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_new_klass'>new_klass</span>
|
817
|
+
<span class='kw'>end</span>
|
818
|
+
<span class='kw'>end</span>
|
738
819
|
<span class='kw'>end</span>
|
739
820
|
<span class='kw'>end</span></pre>
|
740
821
|
</td>
|
@@ -803,12 +884,12 @@ The names of the parameters must match the name of another configuration value.<
|
|
803
884
|
<pre class="lines">
|
804
885
|
|
805
886
|
|
806
|
-
|
807
|
-
|
808
|
-
|
887
|
+
178
|
888
|
+
179
|
889
|
+
180</pre>
|
809
890
|
</td>
|
810
891
|
<td>
|
811
|
-
<pre class="code"><span class="info file"># File 'lib/brut/framework/container.rb', line
|
892
|
+
<pre class="code"><span class="info file"># File 'lib/brut/framework/container.rb', line 178</span>
|
812
893
|
|
813
894
|
<span class='kw'>def</span> <span class='id identifier rubyid_respond_to_missing?'>respond_to_missing?</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span><span class='id identifier rubyid_include_private'>include_private</span><span class='op'>=</span><span class='kw'>false</span><span class='rparen'>)</span>
|
814
895
|
<span class='ivar'>@container</span><span class='period'>.</span><span class='id identifier rubyid_key?'>key?</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rparen'>)</span>
|
@@ -1079,7 +1160,7 @@ or <code>_file</code>.</p>
|
|
1079
1160
|
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_validate_name!'>validate_name!</span><span class='lparen'>(</span><span class='label'>name:</span><span class='comma'>,</span><span class='label'>type:</span><span class='comma'>,</span><span class='label'>allow_app_override:</span><span class='rparen'>)</span>
|
1080
1161
|
<span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span> <span class='op'>==</span> <span class='symbol'>:use_block</span>
|
1081
1162
|
<span class='id identifier rubyid_derive_with'>derive_with</span> <span class='op'>=</span> <span class='id identifier rubyid_block'>block</span>
|
1082
|
-
<span class='ivar'>@container</span><span class='lbracket'>[</span><span class='id identifier rubyid_name'>name</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lbrace'>{</span> <span class='label'>
|
1163
|
+
<span class='ivar'>@container</span><span class='lbracket'>[</span><span class='id identifier rubyid_name'>name</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lbrace'>{</span> <span class='label'>derive_with:</span> <span class='id identifier rubyid_derive_with'>derive_with</span> <span class='rbrace'>}</span>
|
1083
1164
|
<span class='kw'>else</span>
|
1084
1165
|
<span class='kw'>if</span> <span class='id identifier rubyid_type'>type</span> <span class='op'>==</span> <span class='symbol'>:boolean</span>
|
1085
1166
|
<span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='op'>!</span><span class='op'>!</span><span class='id identifier rubyid_value'>value</span>
|
@@ -1212,14 +1293,14 @@ The names of the parameters must match the name of another configuration value.<
|
|
1212
1293
|
<pre class="lines">
|
1213
1294
|
|
1214
1295
|
|
1215
|
-
151
|
1216
|
-
152
|
1217
1296
|
153
|
1218
1297
|
154
|
1219
|
-
155
|
1298
|
+
155
|
1299
|
+
156
|
1300
|
+
157</pre>
|
1220
1301
|
</td>
|
1221
1302
|
<td>
|
1222
|
-
<pre class="code"><span class="info file"># File 'lib/brut/framework/container.rb', line
|
1303
|
+
<pre class="code"><span class="info file"># File 'lib/brut/framework/container.rb', line 153</span>
|
1223
1304
|
|
1224
1305
|
<span class='kw'>def</span> <span class='id identifier rubyid_store_ensured_path'>store_ensured_path</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span><span class='id identifier rubyid_description'>description</span><span class='comma'>,</span><span class='id identifier rubyid_value'>value</span><span class='op'>=</span><span class='symbol'>:use_block</span><span class='comma'>,</span><span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
1225
1306
|
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_store'>store</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span><span class='const'>Pathname</span><span class='comma'>,</span><span class='id identifier rubyid_description'>description</span><span class='comma'>,</span><span class='id identifier rubyid_value'>value</span><span class='comma'>,</span><span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
@@ -1345,14 +1426,14 @@ The names of the parameters must match the name of another configuration value.<
|
|
1345
1426
|
<pre class="lines">
|
1346
1427
|
|
1347
1428
|
|
1348
|
-
132
|
1349
|
-
133
|
1350
1429
|
134
|
1351
1430
|
135
|
1352
|
-
136
|
1431
|
+
136
|
1432
|
+
137
|
1433
|
+
138</pre>
|
1353
1434
|
</td>
|
1354
1435
|
<td>
|
1355
|
-
<pre class="code"><span class="info file"># File 'lib/brut/framework/container.rb', line
|
1436
|
+
<pre class="code"><span class="info file"># File 'lib/brut/framework/container.rb', line 134</span>
|
1356
1437
|
|
1357
1438
|
<span class='kw'>def</span> <span class='id identifier rubyid_store_required_path'>store_required_path</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span><span class='id identifier rubyid_description'>description</span><span class='comma'>,</span><span class='id identifier rubyid_value'>value</span><span class='op'>=</span><span class='symbol'>:use_block</span><span class='comma'>,</span><span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
1358
1439
|
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_store'>store</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span><span class='const'>Pathname</span><span class='comma'>,</span><span class='id identifier rubyid_description'>description</span><span class='comma'>,</span><span class='id identifier rubyid_value'>value</span><span class='comma'>,</span><span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
@@ -1369,7 +1450,7 @@ The names of the parameters must match the name of another configuration value.<
|
|
1369
1450
|
</div>
|
1370
1451
|
|
1371
1452
|
<div id="footer">
|
1372
|
-
Generated on Wed
|
1453
|
+
Generated on Wed Jul 2 21:45:27 2025 by
|
1373
1454
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
1374
1455
|
0.9.37 (ruby-3.4.4).
|
1375
1456
|
</div>
|
@@ -130,7 +130,7 @@ for Brut-specific error conditions.</p>
|
|
130
130
|
</div>
|
131
131
|
|
132
132
|
<div id="footer">
|
133
|
-
Generated on Wed
|
133
|
+
Generated on Wed Jul 2 21:45:27 2025 by
|
134
134
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
135
135
|
0.9.37 (ruby-3.4.4).
|
136
136
|
</div>
|
@@ -122,6 +122,42 @@ makes sense.</p>
|
|
122
122
|
|
123
123
|
|
124
124
|
|
125
|
+
|
126
|
+
<h2>
|
127
|
+
Instance Method Summary
|
128
|
+
<small><a href="#" class="summary_toggle">collapse</a></small>
|
129
|
+
</h2>
|
130
|
+
|
131
|
+
<ul class="summary">
|
132
|
+
|
133
|
+
<li class="public ">
|
134
|
+
<span class="summary_signature">
|
135
|
+
|
136
|
+
<a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(method_name = nil) ⇒ AbstractMethod </a>
|
137
|
+
|
138
|
+
|
139
|
+
|
140
|
+
</span>
|
141
|
+
|
142
|
+
|
143
|
+
<span class="note title constructor">constructor</span>
|
144
|
+
|
145
|
+
|
146
|
+
|
147
|
+
|
148
|
+
|
149
|
+
|
150
|
+
|
151
|
+
|
152
|
+
<span class="summary_desc"><div class='inline'><p>A new instance of AbstractMethod.</p>
|
153
|
+
</div></span>
|
154
|
+
|
155
|
+
</li>
|
156
|
+
|
157
|
+
|
158
|
+
</ul>
|
159
|
+
|
160
|
+
|
125
161
|
|
126
162
|
|
127
163
|
|
@@ -129,12 +165,64 @@ makes sense.</p>
|
|
129
165
|
|
130
166
|
|
131
167
|
|
168
|
+
<div id="constructor_details" class="method_details_list">
|
169
|
+
<h2>Constructor Details</h2>
|
132
170
|
|
171
|
+
<div class="method_details first">
|
172
|
+
<h3 class="signature first" id="initialize-instance_method">
|
173
|
+
|
174
|
+
#<strong>initialize</strong>(method_name = nil) ⇒ <tt><span class='object_link'><a href="" title="Brut::Framework::Errors::AbstractMethod (class)">AbstractMethod</a></span></tt>
|
175
|
+
|
176
|
+
|
177
|
+
|
178
|
+
|
179
|
+
|
180
|
+
</h3><div class="docstring">
|
181
|
+
<div class="discussion">
|
182
|
+
<p>Returns a new instance of AbstractMethod.</p>
|
183
|
+
|
184
|
+
|
185
|
+
</div>
|
186
|
+
</div>
|
187
|
+
<div class="tags">
|
188
|
+
|
189
|
+
|
190
|
+
</div><table class="source_code">
|
191
|
+
<tr>
|
192
|
+
<td>
|
193
|
+
<pre class="lines">
|
194
|
+
|
195
|
+
|
196
|
+
5
|
197
|
+
6
|
198
|
+
7
|
199
|
+
8
|
200
|
+
9
|
201
|
+
10
|
202
|
+
11</pre>
|
203
|
+
</td>
|
204
|
+
<td>
|
205
|
+
<pre class="code"><span class="info file"># File 'lib/brut/framework/errors/abstract_method.rb', line 5</span>
|
206
|
+
|
207
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_method_name'>method_name</span><span class='op'>=</span><span class='kw'>nil</span><span class='rparen'>)</span>
|
208
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_method_name'>method_name</span>
|
209
|
+
<span class='kw'>super</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>The method `</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_method_name'>method_name</span><span class='embexpr_end'>}</span><span class='tstring_content'>` must be implemented</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
210
|
+
<span class='kw'>else</span>
|
211
|
+
<span class='kw'>super</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>An abstract method must be implemented</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
212
|
+
<span class='kw'>end</span>
|
213
|
+
<span class='kw'>end</span></pre>
|
214
|
+
</td>
|
215
|
+
</tr>
|
216
|
+
</table>
|
217
|
+
</div>
|
218
|
+
|
219
|
+
</div>
|
220
|
+
|
133
221
|
|
134
222
|
</div>
|
135
223
|
|
136
224
|
<div id="footer">
|
137
|
-
Generated on Wed
|
225
|
+
Generated on Wed Jul 2 21:45:28 2025 by
|
138
226
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
139
227
|
0.9.37 (ruby-3.4.4).
|
140
228
|
</div>
|
@@ -224,7 +224,7 @@ prevented</p>
|
|
224
224
|
</div>
|
225
225
|
|
226
226
|
<div id="footer">
|
227
|
-
Generated on Wed
|
227
|
+
Generated on Wed Jul 2 21:45:27 2025 by
|
228
228
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
229
229
|
0.9.37 (ruby-3.4.4).
|
230
230
|
</div>
|
@@ -247,7 +247,7 @@ have not been set.</p>
|
|
247
247
|
</div>
|
248
248
|
|
249
249
|
<div id="footer">
|
250
|
-
Generated on Wed
|
250
|
+
Generated on Wed Jul 2 21:45:28 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.4).
|
253
253
|
</div>
|
@@ -263,7 +263,7 @@ 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 Wed
|
266
|
+
Generated on Wed Jul 2 21:45:28 2025 by
|
267
267
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
268
268
|
0.9.37 (ruby-3.4.4).
|
269
269
|
</div>
|
@@ -461,7 +461,7 @@
|
|
461
461
|
</div>
|
462
462
|
|
463
463
|
<div id="footer">
|
464
|
-
Generated on Wed
|
464
|
+
Generated on Wed Jul 2 21:45:28 2025 by
|
465
465
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
466
466
|
0.9.37 (ruby-3.4.4).
|
467
467
|
</div>
|
@@ -298,7 +298,7 @@
|
|
298
298
|
</div>
|
299
299
|
|
300
300
|
<div id="footer">
|
301
|
-
Generated on Wed
|
301
|
+
Generated on Wed Jul 2 21:45:27 2025 by
|
302
302
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
303
303
|
0.9.37 (ruby-3.4.4).
|
304
304
|
</div>
|
@@ -224,7 +224,7 @@ 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 Wed
|
227
|
+
Generated on Wed Jul 2 21:45:28 2025 by
|
228
228
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
229
229
|
0.9.37 (ruby-3.4.4).
|
230
230
|
</div>
|
@@ -127,7 +127,7 @@ methods. Include this module to gain access to those methods.</p>
|
|
127
127
|
<li class="public ">
|
128
128
|
<span class="summary_signature">
|
129
129
|
|
130
|
-
<a href="#abstract_method!-instance_method" title="#abstract_method! (instance method)">#<strong>abstract_method!</strong> ⇒ Object </a>
|
130
|
+
<a href="#abstract_method!-instance_method" title="#abstract_method! (instance method)">#<strong>abstract_method!</strong>(method_name = nil) ⇒ Object </a>
|
131
131
|
|
132
132
|
|
133
133
|
|
@@ -182,7 +182,7 @@ methods. Include this module to gain access to those methods.</p>
|
|
182
182
|
<div class="method_details first">
|
183
183
|
<h3 class="signature first" id="abstract_method!-instance_method">
|
184
184
|
|
185
|
-
#<strong>abstract_method!</strong> ⇒ <tt>Object</tt>
|
185
|
+
#<strong>abstract_method!</strong>(method_name = nil) ⇒ <tt>Object</tt>
|
186
186
|
|
187
187
|
|
188
188
|
|
@@ -198,7 +198,28 @@ implementation.</p>
|
|
198
198
|
</div>
|
199
199
|
</div>
|
200
200
|
<div class="tags">
|
201
|
+
<p class="tag_title">Parameters:</p>
|
202
|
+
<ul class="param">
|
203
|
+
|
204
|
+
<li>
|
205
|
+
|
206
|
+
<span class='name'>method_name</span>
|
207
|
+
|
208
|
+
|
209
|
+
<span class='type'>(<tt>String|Symbol</tt>)</span>
|
210
|
+
|
211
|
+
|
212
|
+
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
213
|
+
|
214
|
+
|
215
|
+
—
|
216
|
+
<div class='inline'><p>name of the method that must be implemented. If omitted, the value is guessed from <code>caller_locations</code></p>
|
217
|
+
</div>
|
218
|
+
|
219
|
+
</li>
|
201
220
|
|
221
|
+
</ul>
|
222
|
+
|
202
223
|
<p class="tag_title">Raises:</p>
|
203
224
|
<ul class="raise">
|
204
225
|
|
@@ -219,15 +240,17 @@ implementation.</p>
|
|
219
240
|
<pre class="lines">
|
220
241
|
|
221
242
|
|
222
|
-
31
|
223
243
|
32
|
224
|
-
33
|
244
|
+
33
|
245
|
+
34
|
246
|
+
35</pre>
|
225
247
|
</td>
|
226
248
|
<td>
|
227
|
-
<pre class="code"><span class="info file"># File 'lib/brut/framework/errors.rb', line
|
249
|
+
<pre class="code"><span class="info file"># File 'lib/brut/framework/errors.rb', line 32</span>
|
228
250
|
|
229
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_abstract_method!'>abstract_method!</span>
|
230
|
-
<span class='id identifier
|
251
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_abstract_method!'>abstract_method!</span><span class='lparen'>(</span><span class='id identifier rubyid_method_name'>method_name</span><span class='op'>=</span><span class='kw'>nil</span><span class='rparen'>)</span>
|
252
|
+
<span class='id identifier rubyid_method_name'>method_name</span> <span class='op'>||=</span> <span class='id identifier rubyid_caller_locations'>caller_locations</span><span class='lparen'>(</span><span class='int'>1</span><span class='comma'>,</span><span class='int'>1</span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_label'>label</span>
|
253
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="../../Brut.html" title="Brut (module)">Brut</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Framework.html" title="Brut::Framework (module)">Framework</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="" title="Brut::Framework::Errors (module)">Errors</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Errors/AbstractMethod.html" title="Brut::Framework::Errors::AbstractMethod (class)">AbstractMethod</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Errors/AbstractMethod.html#initialize-instance_method" title="Brut::Framework::Errors::AbstractMethod#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_method_name'>method_name</span><span class='rparen'>)</span>
|
231
254
|
<span class='kw'>end</span></pre>
|
232
255
|
</td>
|
233
256
|
</tr>
|
@@ -318,7 +341,7 @@ state of the system is such that it would never be misused.</p>
|
|
318
341
|
</div>
|
319
342
|
|
320
343
|
<div id="footer">
|
321
|
-
Generated on Wed
|
344
|
+
Generated on Wed Jul 2 21:45:26 2025 by
|
322
345
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
323
346
|
0.9.37 (ruby-3.4.4).
|
324
347
|
</div>
|
@@ -382,7 +382,7 @@ 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 Wed
|
385
|
+
Generated on Wed Jul 2 21:45:27 2025 by
|
386
386
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
387
387
|
0.9.37 (ruby-3.4.4).
|
388
388
|
</div>
|
@@ -851,7 +851,7 @@ to external resources.</p>
|
|
851
851
|
</div>
|
852
852
|
|
853
853
|
<div id="footer">
|
854
|
-
Generated on Wed
|
854
|
+
Generated on Wed Jul 2 21:45:27 2025 by
|
855
855
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
856
856
|
0.9.37 (ruby-3.4.4).
|
857
857
|
</div>
|
@@ -638,7 +638,7 @@ to the configuration values. But, you do you.</p>
|
|
638
638
|
</div>
|
639
639
|
|
640
640
|
<div id="footer">
|
641
|
-
Generated on Wed
|
641
|
+
Generated on Wed Jul 2 21:45:28 2025 by
|
642
642
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
643
643
|
0.9.37 (ruby-3.4.4).
|
644
644
|
</div>
|
@@ -119,7 +119,7 @@
|
|
119
119
|
</div>
|
120
120
|
|
121
121
|
<div id="footer">
|
122
|
-
Generated on Wed
|
122
|
+
Generated on Wed Jul 2 21:45:26 2025 by
|
123
123
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
124
124
|
0.9.37 (ruby-3.4.4).
|
125
125
|
</div>
|
@@ -307,7 +307,7 @@
|
|
307
307
|
</div>
|
308
308
|
|
309
309
|
<div id="footer">
|
310
|
-
Generated on Wed
|
310
|
+
Generated on Wed Jul 2 21:45:28 2025 by
|
311
311
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
312
312
|
0.9.37 (ruby-3.4.4).
|
313
313
|
</div>
|