brut 0.0.27 → 0.0.29
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/.projections.json +10 -0
- data/.rspec +3 -0
- data/Dockerfile.dx +32 -14
- data/Gemfile.lock +1 -1
- data/assets/Logo-Square.pxd +0 -0
- data/assets/LogoPylon.pxd +0 -0
- data/assets/LogoStop.pxd +0 -0
- data/assets/LogoTall.pxd +0 -0
- data/bin/docs +24 -2
- data/bin/rspec +27 -0
- data/bin/setup +3 -3
- data/brutrb.com/.vitepress/config.mjs +1 -0
- data/brutrb.com/.vitepress/theme/custom.css +7 -0
- data/brutrb.com/.vitepress/theme/style.css +26 -15
- data/brutrb.com/deployment.md +123 -45
- data/brutrb.com/dev-environment.md +6 -5
- data/brutrb.com/doc-conventions.md +1 -1
- data/brutrb.com/getting-started.md +64 -28
- data/brutrb.com/images/LogoPylon.png +0 -0
- data/brutrb.com/images/LogoSquare.png +0 -0
- data/brutrb.com/images/LogoStop.png +0 -0
- data/brutrb.com/images/LogoTall.png +0 -0
- data/brutrb.com/images/OverviewMetro.graffle +0 -0
- data/brutrb.com/images/OverviewMetro.png +0 -0
- data/brutrb.com/index.md +4 -3
- data/brutrb.com/instrumentation.md +12 -0
- data/brutrb.com/layouts.md +130 -0
- data/brutrb.com/overview.md +6 -6
- data/docker-compose.dx.yml +5 -2
- data/docs/404.html +3 -3
- data/docs/ai.html +6 -6
- 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/Color.html +201 -0
- data/docs/api/Brut/FrontEnd/Forms/Input/TimeOfDay.html +535 -0
- data/docs/api/Brut/FrontEnd/Forms/Input.html +983 -35
- data/docs/api/Brut/FrontEnd/Forms/InputDeclarations.html +4 -4
- data/docs/api/Brut/FrontEnd/Forms/InputDefinition.html +29 -19
- data/docs/api/Brut/FrontEnd/Forms/RadioButtonGroupInput.html +9 -3
- data/docs/api/Brut/FrontEnd/Forms/RadioButtonGroupInputDefinition.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/SelectInput.html +9 -3
- 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 +106 -1
- data/docs/api/class_list.html +1 -1
- data/docs/api/css/full_list.css +2 -1
- data/docs/api/css/style.css +14 -13
- data/docs/api/file.README.html +1 -1
- data/docs/api/index.html +1 -1
- data/docs/api/method_list.html +530 -330
- data/docs/api/top-level-namespace.html +1 -1
- data/docs/assets/LogoStop.X8x-4riz.png +0 -0
- data/docs/assets/OverviewMetro.DUS-5fUZ.png +0 -0
- 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.BhrfSt68.js} +1 -1
- data/docs/assets/chunks/@localSearchIndexroot.CeRAdP1K.js +1 -0
- data/docs/assets/chunks/{VPLocalSearchBox.B2-ZzyTY.js → VPLocalSearchBox.Dpot_2H4.js} +1 -1
- data/docs/assets/chunks/{theme.CfGFVRvE.js → theme.N2SNVLgU.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.LG-zIBww.js} +1 -1
- data/docs/assets/deployment.md.BLseERGV.js +48 -0
- data/docs/assets/deployment.md.BLseERGV.lean.js +1 -0
- 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.Dj0qtZI2.js +25 -0
- data/docs/assets/getting-started.md.Dj0qtZI2.lean.js +1 -0
- data/docs/assets/index.md.CuBB-BdM.js +1 -0
- data/docs/assets/index.md.CuBB-BdM.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.DVKRM8zl.js} +4 -4
- data/docs/assets/overview.md.DVKRM8zl.lean.js +1 -0
- data/docs/assets/recipes_authentication.md.CAsXf7hk.js +1 -0
- data/docs/assets/recipes_authentication.md.CAsXf7hk.lean.js +1 -0
- data/docs/assets/{style.D73IYGCX.css → style.B2o1L9eN.css} +1 -1
- data/docs/assets.html +5 -5
- 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 +5 -5
- data/docs/business-logic.html +5 -5
- data/docs/cli.html +5 -5
- data/docs/components.html +7 -7
- data/docs/configuration.html +6 -6
- data/docs/css.html +5 -5
- data/docs/custom-element-tests.html +5 -5
- data/docs/database-access.html +5 -5
- data/docs/database-schema.html +5 -5
- data/docs/deployment.html +53 -6
- data/docs/dev-environment.html +6 -6
- data/docs/doc-conventions.html +6 -6
- data/docs/end-to-end-tests.html +5 -5
- data/docs/flash-and-session.html +5 -5
- data/docs/forms.html +28 -28
- data/docs/getting-started.html +30 -7
- data/docs/handlers.html +5 -5
- data/docs/hashmap.json +1 -1
- data/docs/hooks.html +5 -5
- data/docs/i18n.html +5 -5
- data/docs/index.html +6 -6
- data/docs/instrumentation.html +6 -6
- data/docs/javascript.html +5 -5
- data/docs/jobs.html +5 -5
- data/docs/keyword-injection.html +5 -5
- data/docs/layouts.html +74 -0
- data/docs/lsp.html +24 -0
- data/docs/markdown-examples.html +5 -5
- data/docs/middleware.html +5 -5
- data/docs/not-released.html +5 -5
- data/docs/overview.html +9 -9
- data/docs/pages.html +6 -6
- data/docs/recipes/authentication.html +24 -0
- data/docs/routes.html +5 -5
- data/docs/security.html +5 -5
- data/docs/seed-data.html +5 -5
- data/docs/space-time-continuum.html +5 -5
- data/docs/tutorial.html +5 -5
- data/docs/unit-tests.html +5 -5
- data/dx/bash_customizations +7 -0
- data/dx/build +13 -2
- data/dx/docker-compose.env +1 -1
- data/dx/exec +25 -8
- 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/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/forms/input.rb +253 -20
- data/lib/brut/front_end/forms/input_definition.rb +15 -12
- data/lib/brut/front_end/middlewares/reload_app.rb +2 -0
- data/lib/brut/front_end.rb +1 -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
- data/specs/brut/front_end/forms/input.spec.rb +978 -0
- data/specs/spec_helper.rb +27 -0
- data/specs/support/matchers/have_constraint_violation.rb +23 -0
- data/specs/support/matchers.rb +5 -0
- data/specs/support.rb +3 -0
- metadata +77 -29
- data/docs/assets/ai.md.tZrjP9im.lean.js +0 -1
- data/docs/assets/chunks/@localSearchIndexroot.BsN5i0Fi.js +0 -1
- data/docs/assets/deployment.md.Dbka4OTr.js +0 -1
- data/docs/assets/deployment.md.Dbka4OTr.lean.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/docs/assets/index.md.B28EwVpq.js +0 -1
- data/docs/assets/index.md.B28EwVpq.lean.js +0 -1
- data/docs/assets/overview.Da81cB9R.png +0 -0
- data/docs/assets/overview.md.CDalkuxV.lean.js +0 -1
- /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.LG-zIBww.lean.js} +0 -0
- /data/docs/assets/{dev-environment.md.BNc8AYiK.lean.js → dev-environment.md.GZv6xvi9.lean.js} +0 -0
@@ -133,7 +133,7 @@ from the various methods of the component.</p>
|
|
133
133
|
|
134
134
|
|
135
135
|
|
136
|
-
<span class="summary_desc"><div class='inline'><p>
|
136
|
+
<span class="summary_desc"><div class='inline'><p>Render (in Phlex parlance) a component that you would like Brut to instantiate.</p>
|
137
137
|
</div></span>
|
138
138
|
|
139
139
|
</li>
|
@@ -182,51 +182,61 @@ from the various methods of the component.</p>
|
|
182
182
|
|
183
183
|
</h3><div class="docstring">
|
184
184
|
<div class="discussion">
|
185
|
-
<p>
|
186
|
-
This
|
187
|
-
|
188
|
-
|
189
|
-
|
185
|
+
<p>Render (in Phlex parlance) a component that you would like Brut to
|
186
|
+
instantiate. This is useful when you want to use a component that
|
187
|
+
only requires values from the <span class='object_link'><a href="../RequestContext.html" title="Brut::FrontEnd::RequestContext (class)">RequestContext</a></span>. By
|
188
|
+
using this method, <em>this</em> component does not have to receive
|
189
|
+
data from the <span class='object_link'><a href="../RequestContext.html" title="Brut::FrontEnd::RequestContext (class)">RequestContext</a></span> that only serves to pass
|
190
|
+
to the component you use here.</p>
|
191
|
+
|
192
|
+
<p>For example, you may have a component that renders the flash message. To avoid requiring <em>this</em> component/page to be passed the flash, a global component can be injected with it from Brut.</p>
|
193
|
+
|
194
|
+
<p>This component <em>will</em> be rendered into the Phlex context. Do not call
|
195
|
+
<code>render</code> on the result, nor rely on the return value.</p>
|
190
196
|
|
191
197
|
|
192
198
|
</div>
|
193
199
|
</div>
|
194
200
|
<div class="tags">
|
195
|
-
|
196
|
-
<
|
197
|
-
<ul class="return">
|
201
|
+
<p class="tag_title">Parameters:</p>
|
202
|
+
<ul class="param">
|
198
203
|
|
199
204
|
<li>
|
200
205
|
|
206
|
+
<span class='name'>component_klass</span>
|
207
|
+
|
201
208
|
|
202
|
-
<span class='type'>(<tt>
|
209
|
+
<span class='type'>(<tt>Class</tt>)</span>
|
203
210
|
|
204
211
|
|
205
212
|
|
206
213
|
—
|
207
|
-
<div class='inline'><p>
|
208
|
-
|
214
|
+
<div class='inline'><p>the component class to use in the view.
|
215
|
+
This class's
|
216
|
+
initializer must only require information available from the
|
217
|
+
<span class='object_link'><a href="../RequestContext.html" title="Brut::FrontEnd::RequestContext (class)">RequestContext</a></span>.</p>
|
209
218
|
</div>
|
210
219
|
|
211
220
|
</li>
|
212
221
|
|
213
222
|
</ul>
|
214
223
|
|
224
|
+
|
215
225
|
</div><table class="source_code">
|
216
226
|
<tr>
|
217
227
|
<td>
|
218
228
|
<pre class="lines">
|
219
229
|
|
220
230
|
|
221
|
-
|
222
|
-
|
223
|
-
|
231
|
+
107
|
232
|
+
108
|
233
|
+
109</pre>
|
224
234
|
</td>
|
225
235
|
<td>
|
226
|
-
<pre class="code"><span class="info file"># File 'lib/brut/front_end/component.rb', line
|
236
|
+
<pre class="code"><span class="info file"># File 'lib/brut/front_end/component.rb', line 107</span>
|
227
237
|
|
228
238
|
<span class='kw'>def</span> <span class='id identifier rubyid_global_component'>global_component</span><span class='lparen'>(</span><span class='id identifier rubyid_component_klass'>component_klass</span><span class='rparen'>)</span>
|
229
|
-
<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="../../FrontEnd.html" title="Brut::FrontEnd (module)">FrontEnd</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../RequestContext.html" title="Brut::FrontEnd::RequestContext (class)">RequestContext</a></span></span><span class='period'>.</span><span class='id identifier rubyid_inject'><span class='object_link'><a href="../RequestContext.html#inject-class_method" title="Brut::FrontEnd::RequestContext.inject (method)">inject</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_component_klass'>component_klass</span><span class='rparen'>)</span>
|
239
|
+
<span class='id identifier rubyid_render'>render</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="../../FrontEnd.html" title="Brut::FrontEnd (module)">FrontEnd</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../RequestContext.html" title="Brut::FrontEnd::RequestContext (class)">RequestContext</a></span></span><span class='period'>.</span><span class='id identifier rubyid_inject'><span class='object_link'><a href="../RequestContext.html#inject-class_method" title="Brut::FrontEnd::RequestContext.inject (method)">inject</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_component_klass'>component_klass</span><span class='rparen'>)</span>
|
230
240
|
<span class='kw'>end</span></pre>
|
231
241
|
</td>
|
232
242
|
</tr>
|
@@ -288,16 +298,16 @@ looking</p>
|
|
288
298
|
<pre class="lines">
|
289
299
|
|
290
300
|
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
301
|
+
83
|
302
|
+
84
|
303
|
+
85
|
304
|
+
86
|
305
|
+
87
|
306
|
+
88
|
307
|
+
89</pre>
|
298
308
|
</td>
|
299
309
|
<td>
|
300
|
-
<pre class="code"><span class="info file"># File 'lib/brut/front_end/component.rb', line
|
310
|
+
<pre class="code"><span class="info file"># File 'lib/brut/front_end/component.rb', line 83</span>
|
301
311
|
|
302
312
|
<span class='kw'>def</span> <span class='id identifier rubyid_inline_svg'>inline_svg</span><span class='lparen'>(</span><span class='id identifier rubyid_svg'>svg</span><span class='rparen'>)</span>
|
303
313
|
<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_svg_locator'>svg_locator</span><span class='period'>.</span><span class='id identifier rubyid_locate'>locate</span><span class='lparen'>(</span><span class='id identifier rubyid_svg'>svg</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_then'>then</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_svg_file'>svg_file</span><span class='op'>|</span>
|
@@ -316,7 +326,7 @@ looking</p>
|
|
316
326
|
</div>
|
317
327
|
|
318
328
|
<div id="footer">
|
319
|
-
Generated on
|
329
|
+
Generated on Fri Jul 4 21:27:27 2025 by
|
320
330
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
321
331
|
0.9.37 (ruby-3.4.4).
|
322
332
|
</div>
|
@@ -292,12 +292,12 @@ override this.</p>
|
|
292
292
|
<pre class="lines">
|
293
293
|
|
294
294
|
|
295
|
-
|
296
|
-
|
297
|
-
|
295
|
+
115
|
296
|
+
116
|
297
|
+
117</pre>
|
298
298
|
</td>
|
299
299
|
<td>
|
300
|
-
<pre class="code"><span class="info file"># File 'lib/brut/front_end/component.rb', line
|
300
|
+
<pre class="code"><span class="info file"># File 'lib/brut/front_end/component.rb', line 115</span>
|
301
301
|
|
302
302
|
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_component_name'>component_name</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span>
|
303
303
|
<span class='comment'># Convenience method to get the component name. This just calls the class
|
@@ -339,10 +339,10 @@ method <span class='object_link'><a href="#component_name-class_method" title="B
|
|
339
339
|
<pre class="lines">
|
340
340
|
|
341
341
|
|
342
|
-
|
342
|
+
118</pre>
|
343
343
|
</td>
|
344
344
|
<td>
|
345
|
-
<pre class="code"><span class="info file"># File 'lib/brut/front_end/component.rb', line
|
345
|
+
<pre class="code"><span class="info file"># File 'lib/brut/front_end/component.rb', line 118</span>
|
346
346
|
|
347
347
|
<span class='kw'>def</span> <span class='id identifier rubyid_component_name'>component_name</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_component_name'>component_name</span></pre>
|
348
348
|
</td>
|
@@ -355,7 +355,7 @@ method <span class='object_link'><a href="#component_name-class_method" title="B
|
|
355
355
|
</div>
|
356
356
|
|
357
357
|
<div id="footer">
|
358
|
-
Generated on
|
358
|
+
Generated on Fri Jul 4 21:27:28 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.4).
|
361
361
|
</div>
|
@@ -460,7 +460,7 @@
|
|
460
460
|
</div>
|
461
461
|
|
462
462
|
<div id="footer">
|
463
|
-
Generated on
|
463
|
+
Generated on Fri Jul 4 21:27:29 2025 by
|
464
464
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
465
465
|
0.9.37 (ruby-3.4.4).
|
466
466
|
</div>
|
@@ -266,19 +266,27 @@ If the form's action is GET, it will not.</p>
|
|
266
266
|
<h5 class="example_title"><div class='inline'><p>Route without parameters</p>
|
267
267
|
</div></h5>
|
268
268
|
|
269
|
-
<pre class="example code"><code
|
270
|
-
|
271
|
-
|
272
|
-
|
269
|
+
<pre class="example code"><code><span class='comment'># assumes you have included Brut::FrontEnd::Components
|
270
|
+
</span><span class='kw'>def</span> <span class='id identifier rubyid_view_template'>view_template</span>
|
271
|
+
<span class='const'><span class='object_link'><a href="" title="Brut::FrontEnd::Components::FormTag (class)">FormTag</a></span></span><span class='lparen'>(</span><span class='label'>for:</span> <span class='const'>NewWidgetForm</span><span class='comma'>,</span> <span class='label'>class:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>new-form</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='kw'>do</span>
|
272
|
+
<span class='id identifier rubyid_input'>input</span><span class='lparen'>(</span><span class='label'>type:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>text</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='label'>name:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>name</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
273
|
+
<span class='id identifier rubyid_button'>button</span> <span class='lbrace'>{</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Create</span><span class='tstring_end'>"</span></span> <span class='rbrace'>}</span>
|
274
|
+
<span class='kw'>end</span>
|
275
|
+
<span class='kw'>end</span></code></pre>
|
273
276
|
|
274
277
|
|
275
278
|
<h5 class="example_title"><div class='inline'><p>Route with parameters</p>
|
276
279
|
</div></h5>
|
277
280
|
|
278
|
-
<pre class="example code"><code
|
279
|
-
|
280
|
-
|
281
|
-
|
281
|
+
<pre class="example code"><code><span class='comment'># assumes you have included Brut::FrontEnd::Components
|
282
|
+
</span><span class='kw'>def</span> <span class='id identifier rubyid_view_template'>view_template</span>
|
283
|
+
<span class='const'><span class='object_link'><a href="" title="Brut::FrontEnd::Components::FormTag (class)">FormTag</a></span></span><span class='lparen'>(</span><span class='label'>for:</span> <span class='const'>SaveWidgetWithIdForm</span><span class='comma'>,</span>
|
284
|
+
<span class='label'>route_params:</span> <span class='lbrace'>{</span> <span class='label'>id:</span> <span class='id identifier rubyid_widget'>widget</span><span class='period'>.</span><span class='id identifier rubyid_external_id'>external_id</span> <span class='rbrace'>}</span><span class='comma'>,</span>
|
285
|
+
<span class='label'>class:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>new-form</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='kw'>do</span>
|
286
|
+
<span class='id identifier rubyid_input'>input</span><span class='lparen'>(</span><span class='label'>type:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>text</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='label'>name:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>name</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
287
|
+
<span class='id identifier rubyid_button'>button</span> <span class='lbrace'>{</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Save</span><span class='tstring_end'>"</span></span> <span class='rbrace'>}</span>
|
288
|
+
<span class='kw'>end</span>
|
289
|
+
<span class='kw'>end</span></code></pre>
|
282
290
|
|
283
291
|
</div>
|
284
292
|
<p class="tag_title">Parameters:</p>
|
@@ -377,14 +385,6 @@ If the form's action is GET, it will not.</p>
|
|
377
385
|
<pre class="lines">
|
378
386
|
|
379
387
|
|
380
|
-
24
|
381
|
-
25
|
382
|
-
26
|
383
|
-
27
|
384
|
-
28
|
385
|
-
29
|
386
|
-
30
|
387
|
-
31
|
388
388
|
32
|
389
389
|
33
|
390
390
|
34
|
@@ -405,10 +405,18 @@ If the form's action is GET, it will not.</p>
|
|
405
405
|
49
|
406
406
|
50
|
407
407
|
51
|
408
|
-
52
|
408
|
+
52
|
409
|
+
53
|
410
|
+
54
|
411
|
+
55
|
412
|
+
56
|
413
|
+
57
|
414
|
+
58
|
415
|
+
59
|
416
|
+
60</pre>
|
409
417
|
</td>
|
410
418
|
<td>
|
411
|
-
<pre class="code"><span class="info file"># File 'lib/brut/front_end/components/form_tag.rb', line
|
419
|
+
<pre class="code"><span class="info file"># File 'lib/brut/front_end/components/form_tag.rb', line 32</span>
|
412
420
|
|
413
421
|
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='label'>route_params:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_html_attributes'>html_attributes</span><span class='rparen'>)</span>
|
414
422
|
<span class='id identifier rubyid_form_class'>form_class</span> <span class='op'>=</span> <span class='id identifier rubyid_html_attributes'>html_attributes</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:for</span><span class='rparen'>)</span> <span class='comment'># Cannot be a keyword arg, since for is a reserved word
|
@@ -466,23 +474,23 @@ If the form's action is GET, it will not.</p>
|
|
466
474
|
<pre class="lines">
|
467
475
|
|
468
476
|
|
469
|
-
54
|
470
|
-
55
|
471
|
-
56
|
472
|
-
57
|
473
|
-
58
|
474
|
-
59
|
475
|
-
60
|
476
|
-
61
|
477
477
|
62
|
478
478
|
63
|
479
479
|
64
|
480
480
|
65
|
481
481
|
66
|
482
|
-
67
|
482
|
+
67
|
483
|
+
68
|
484
|
+
69
|
485
|
+
70
|
486
|
+
71
|
487
|
+
72
|
488
|
+
73
|
489
|
+
74
|
490
|
+
75</pre>
|
483
491
|
</td>
|
484
492
|
<td>
|
485
|
-
<pre class="code"><span class="info file"># File 'lib/brut/front_end/components/form_tag.rb', line
|
493
|
+
<pre class="code"><span class="info file"># File 'lib/brut/front_end/components/form_tag.rb', line 62</span>
|
486
494
|
|
487
495
|
<span class='kw'>def</span> <span class='id identifier rubyid_view_template'>view_template</span>
|
488
496
|
<span class='id identifier rubyid_form'>form</span><span class='lparen'>(</span><span class='op'>**</span><span class='ivar'>@attributes</span><span class='rparen'>)</span> <span class='kw'>do</span>
|
@@ -508,7 +516,7 @@ If the form's action is GET, it will not.</p>
|
|
508
516
|
</div>
|
509
517
|
|
510
518
|
<div id="footer">
|
511
|
-
Generated on
|
519
|
+
Generated on Fri Jul 4 21:27:28 2025 by
|
512
520
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
513
521
|
0.9.37 (ruby-3.4.4).
|
514
522
|
</div>
|
@@ -307,7 +307,7 @@ client side <code>ValidityState</code> returns true for, say, <code>badInput</co
|
|
307
307
|
</div>
|
308
308
|
|
309
309
|
<div id="footer">
|
310
|
-
Generated on
|
310
|
+
Generated on Fri Jul 4 21:27: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>
|
@@ -185,7 +185,7 @@
|
|
185
185
|
</div>
|
186
186
|
|
187
187
|
<div id="footer">
|
188
|
-
Generated on
|
188
|
+
Generated on Fri Jul 4 21:27:28 2025 by
|
189
189
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
190
190
|
0.9.37 (ruby-3.4.4).
|
191
191
|
</div>
|
@@ -329,7 +329,7 @@ to use this directly if you are building a form without <span class='object_link
|
|
329
329
|
</div>
|
330
330
|
|
331
331
|
<div id="footer">
|
332
|
-
Generated on
|
332
|
+
Generated on Fri Jul 4 21:27:28 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.4).
|
335
335
|
</div>
|
@@ -107,7 +107,7 @@
|
|
107
107
|
|
108
108
|
<h2>Overview</h2><div class="docstring">
|
109
109
|
<div class="discussion">
|
110
|
-
<p>Generates an HTML <code><input></code> field.</p>
|
110
|
+
<p>Generates an HTML <code><input></code> field based on a form input.</p>
|
111
111
|
|
112
112
|
|
113
113
|
</div>
|
@@ -127,38 +127,6 @@
|
|
127
127
|
|
128
128
|
|
129
129
|
|
130
|
-
<h2>
|
131
|
-
Class Method Summary
|
132
|
-
<small><a href="#" class="summary_toggle">collapse</a></small>
|
133
|
-
</h2>
|
134
|
-
|
135
|
-
<ul class="summary">
|
136
|
-
|
137
|
-
<li class="public ">
|
138
|
-
<span class="summary_signature">
|
139
|
-
|
140
|
-
<a href="#for_form_input-class_method" title="for_form_input (class method)">.<strong>for_form_input</strong>(form:, input_name:, index: nil, **html_attributes) ⇒ Object </a>
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
</span>
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
<span class="summary_desc"><div class='inline'><p>Creates the appropriate input for the given <span class='object_link'><a href="../../Form.html" title="Brut::FrontEnd::Form (class)">Form</a></span> and input name.</p>
|
155
|
-
</div></span>
|
156
|
-
|
157
|
-
</li>
|
158
|
-
|
159
|
-
|
160
|
-
</ul>
|
161
|
-
|
162
130
|
<h2>
|
163
131
|
Instance Method Summary
|
164
132
|
<small><a href="#" class="summary_toggle">collapse</a></small>
|
@@ -169,7 +137,7 @@
|
|
169
137
|
<li class="public ">
|
170
138
|
<span class="summary_signature">
|
171
139
|
|
172
|
-
<a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(
|
140
|
+
<a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(form:, input_name:, index: nil, **html_attributes) ⇒ InputTag </a>
|
173
141
|
|
174
142
|
|
175
143
|
|
@@ -185,7 +153,7 @@
|
|
185
153
|
|
186
154
|
|
187
155
|
|
188
|
-
<span class="summary_desc"><div class='inline'><p>
|
156
|
+
<span class="summary_desc"><div class='inline'><p>Creates the appropriate input for the given <span class='object_link'><a href="../../Form.html" title="Brut::FrontEnd::Form (class)">Form</a></span> and input name.</p>
|
189
157
|
</div></span>
|
190
158
|
|
191
159
|
</li>
|
@@ -308,73 +276,7 @@
|
|
308
276
|
<div class="method_details first">
|
309
277
|
<h3 class="signature first" id="initialize-instance_method">
|
310
278
|
|
311
|
-
#<strong>initialize</strong>(
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
</h3><div class="docstring">
|
318
|
-
<div class="discussion">
|
319
|
-
<p>Create an instance</p>
|
320
|
-
|
321
|
-
|
322
|
-
</div>
|
323
|
-
</div>
|
324
|
-
<div class="tags">
|
325
|
-
<p class="tag_title">Parameters:</p>
|
326
|
-
<ul class="param">
|
327
|
-
|
328
|
-
<li>
|
329
|
-
|
330
|
-
<span class='name'>attributes</span>
|
331
|
-
|
332
|
-
|
333
|
-
<span class='type'>(<tt>Hash</tt>)</span>
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
—
|
338
|
-
<div class='inline'><p>HTML attributes to put on the element.</p>
|
339
|
-
</div>
|
340
|
-
|
341
|
-
</li>
|
342
|
-
|
343
|
-
</ul>
|
344
|
-
|
345
|
-
|
346
|
-
</div><table class="source_code">
|
347
|
-
<tr>
|
348
|
-
<td>
|
349
|
-
<pre class="lines">
|
350
|
-
|
351
|
-
|
352
|
-
60
|
353
|
-
61
|
354
|
-
62</pre>
|
355
|
-
</td>
|
356
|
-
<td>
|
357
|
-
<pre class="code"><span class="info file"># File 'lib/brut/front_end/components/inputs/input_tag.rb', line 60</span>
|
358
|
-
|
359
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_attributes'>attributes</span><span class='rparen'>)</span>
|
360
|
-
<span class='ivar'>@attributes</span> <span class='op'>=</span> <span class='id identifier rubyid_attributes'>attributes</span>
|
361
|
-
<span class='kw'>end</span></pre>
|
362
|
-
</td>
|
363
|
-
</tr>
|
364
|
-
</table>
|
365
|
-
</div>
|
366
|
-
|
367
|
-
</div>
|
368
|
-
|
369
|
-
|
370
|
-
<div id="class_method_details" class="method_details_list">
|
371
|
-
<h2>Class Method Details</h2>
|
372
|
-
|
373
|
-
|
374
|
-
<div class="method_details first">
|
375
|
-
<h3 class="signature first" id="for_form_input-class_method">
|
376
|
-
|
377
|
-
.<strong>for_form_input</strong>(form:, input_name:, index: nil, **html_attributes) ⇒ <tt>Object</tt>
|
279
|
+
#<strong>initialize</strong>(form:, input_name:, index: nil, **html_attributes) ⇒ <tt><span class='object_link'><a href="" title="Brut::FrontEnd::Components::Inputs::InputTag (class)">InputTag</a></span></tt>
|
378
280
|
|
379
281
|
|
380
282
|
|
@@ -463,8 +365,6 @@ Generally, you want to use this method over the initializer.</p>
|
|
463
365
|
<pre class="lines">
|
464
366
|
|
465
367
|
|
466
|
-
10
|
467
|
-
11
|
468
368
|
12
|
469
369
|
13
|
470
370
|
14
|
@@ -506,12 +406,14 @@ Generally, you want to use this method over the initializer.</p>
|
|
506
406
|
50
|
507
407
|
51
|
508
408
|
52
|
509
|
-
53
|
409
|
+
53
|
410
|
+
54
|
411
|
+
55</pre>
|
510
412
|
</td>
|
511
413
|
<td>
|
512
|
-
<pre class="code"><span class="info file"># File 'lib/brut/front_end/components/inputs/input_tag.rb', line
|
414
|
+
<pre class="code"><span class="info file"># File 'lib/brut/front_end/components/inputs/input_tag.rb', line 12</span>
|
513
415
|
|
514
|
-
<span class='kw'>def</span> <span class='
|
416
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='label'>form:</span><span class='comma'>,</span> <span class='label'>input_name:</span><span class='comma'>,</span> <span class='label'>index:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_html_attributes'>html_attributes</span><span class='rparen'>)</span>
|
515
417
|
<span class='id identifier rubyid_input'>input</span> <span class='op'>=</span> <span class='id identifier rubyid_form'>form</span><span class='period'>.</span><span class='id identifier rubyid_input'>input</span><span class='lparen'>(</span><span class='id identifier rubyid_input_name'>input_name</span><span class='comma'>,</span> <span class='label'>index:</span><span class='rparen'>)</span>
|
516
418
|
<span class='id identifier rubyid_default_html_attributes'>default_html_attributes</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
|
517
419
|
<span class='id identifier rubyid_html_attributes'>html_attributes</span> <span class='op'>=</span> <span class='id identifier rubyid_html_attributes'>html_attributes</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span><span class='id identifier rubyid_value'>value</span><span class='op'>|</span> <span class='lbracket'>[</span> <span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span> <span class='rbracket'>]</span> <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_to_h'>to_h</span>
|
@@ -553,14 +455,15 @@ Generally, you want to use this method over the initializer.</p>
|
|
553
455
|
<span class='id identifier rubyid_default_html_attributes'>default_html_attributes</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>data-</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_constraint'>constraint</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>true</span>
|
554
456
|
<span class='kw'>end</span>
|
555
457
|
<span class='kw'>end</span>
|
556
|
-
<span class='
|
458
|
+
<span class='ivar'>@attributes</span> <span class='op'>=</span> <span class='id identifier rubyid_default_html_attributes'>default_html_attributes</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='id identifier rubyid_html_attributes'>html_attributes</span><span class='rparen'>)</span>
|
557
459
|
<span class='kw'>end</span></pre>
|
558
460
|
</td>
|
559
461
|
</tr>
|
560
462
|
</table>
|
561
463
|
</div>
|
562
|
-
|
563
|
-
|
464
|
+
|
465
|
+
</div>
|
466
|
+
|
564
467
|
|
565
468
|
<div id="instance_method_details" class="method_details_list">
|
566
469
|
<h2>Instance Method Details</h2>
|
@@ -604,10 +507,10 @@ Generally, you want to use this method over the initializer.</p>
|
|
604
507
|
<pre class="lines">
|
605
508
|
|
606
509
|
|
607
|
-
|
510
|
+
3</pre>
|
608
511
|
</td>
|
609
512
|
<td>
|
610
|
-
<pre class="code"><span class="info file"># File 'lib/brut/front_end/components/inputs/input_tag.rb', line
|
513
|
+
<pre class="code"><span class="info file"># File 'lib/brut/front_end/components/inputs/input_tag.rb', line 3</span>
|
611
514
|
|
612
515
|
<span class='kw'>def</span> <span class='id identifier rubyid_invalid?'>invalid?</span> <span class='op'>=</span> <span class='ivar'>@attributes</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>data-invalid</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='kw'>true</span></pre>
|
613
516
|
</td>
|
@@ -630,12 +533,12 @@ Generally, you want to use this method over the initializer.</p>
|
|
630
533
|
<pre class="lines">
|
631
534
|
|
632
535
|
|
633
|
-
|
634
|
-
|
635
|
-
|
536
|
+
57
|
537
|
+
58
|
538
|
+
59</pre>
|
636
539
|
</td>
|
637
540
|
<td>
|
638
|
-
<pre class="code"><span class="info file"># File 'lib/brut/front_end/components/inputs/input_tag.rb', line
|
541
|
+
<pre class="code"><span class="info file"># File 'lib/brut/front_end/components/inputs/input_tag.rb', line 57</span>
|
639
542
|
|
640
543
|
<span class='kw'>def</span> <span class='id identifier rubyid_view_template'>view_template</span>
|
641
544
|
<span class='id identifier rubyid_input'>input</span><span class='lparen'>(</span><span class='op'>**</span><span class='ivar'>@attributes</span><span class='rparen'>)</span>
|
@@ -650,7 +553,7 @@ Generally, you want to use this method over the initializer.</p>
|
|
650
553
|
</div>
|
651
554
|
|
652
555
|
<div id="footer">
|
653
|
-
Generated on
|
556
|
+
Generated on Fri Jul 4 21:27:28 2025 by
|
654
557
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
655
558
|
0.9.37 (ruby-3.4.4).
|
656
559
|
</div>
|