brut 0.10.0 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +20 -0
- data/Gemfile.lock +21 -21
- data/assets/YouTubeThumb.pxd +0 -0
- data/bin/new-version +3 -3
- data/brut-css/package-lock.json +94 -97
- data/brut-css/package.json +2 -2
- data/brut-js/package-lock.json +3 -3
- data/brut-js/package.json +6 -3
- data/brut-js/specs/AjaxSubmit.spec.js +62 -6
- data/brut-js/src/AjaxSubmit.js +26 -6
- data/brutrb.com/forms.md +1 -0
- data/brutrb.com/getting-started.md +3 -0
- data/brutrb.com/images/tutorial/02-confirmation-dialog-browser-element-styled.png +0 -0
- data/brutrb.com/images/tutorial/02-confirmation-dialog-browser-element.png +0 -0
- data/brutrb.com/images/tutorial/02-confirmation-dialog-browser.png +0 -0
- data/brutrb.com/images/tutorial/02-confirmation-flow.graffle +0 -0
- data/brutrb.com/images/tutorial/02-confirmation-flow.png +0 -0
- data/brutrb.com/instrumentation.md +142 -3
- data/brutrb.com/recipes/authentication.md +1 -0
- data/brutrb.com/tutorial.md +29 -1627
- data/brutrb.com/tutorials/01-intro.md +1654 -0
- data/brutrb.com/tutorials/02-dialog.md +569 -0
- data/docs/404.html +2 -2
- data/docs/adrs.html +4 -4
- data/docs/ai.html +4 -4
- data/docs/api/Brut/BackEnd/SeedData.html +1 -1
- data/docs/api/Brut/BackEnd/Sidekiq/Middlewares/Server/FlushSpans.html +1 -1
- data/docs/api/Brut/BackEnd/Sidekiq/Middlewares/Server.html +1 -1
- data/docs/api/Brut/BackEnd/Sidekiq/Middlewares.html +1 -1
- data/docs/api/Brut/BackEnd/Sidekiq.html +1 -1
- data/docs/api/Brut/BackEnd/Validators/FormValidator.html +1 -1
- data/docs/api/Brut/BackEnd/Validators.html +1 -1
- data/docs/api/Brut/BackEnd.html +1 -1
- data/docs/api/Brut/CLI/App.html +1 -1
- data/docs/api/Brut/CLI/AppRunner.html +1 -1
- data/docs/api/Brut/CLI/Apps/BuildAssets/All.html +1 -1
- data/docs/api/Brut/CLI/Apps/BuildAssets/CSS.html +1 -1
- data/docs/api/Brut/CLI/Apps/BuildAssets/Images.html +1 -1
- data/docs/api/Brut/CLI/Apps/BuildAssets/JS.html +1 -1
- data/docs/api/Brut/CLI/Apps/BuildAssets.html +1 -1
- data/docs/api/Brut/CLI/Apps/DB/Create.html +1 -1
- data/docs/api/Brut/CLI/Apps/DB/Drop.html +1 -1
- data/docs/api/Brut/CLI/Apps/DB/Migrate.html +1 -1
- data/docs/api/Brut/CLI/Apps/DB/NewMigration.html +1 -1
- data/docs/api/Brut/CLI/Apps/DB/Rebuild.html +1 -1
- data/docs/api/Brut/CLI/Apps/DB/Seed.html +1 -1
- data/docs/api/Brut/CLI/Apps/DB/Status.html +1 -1
- data/docs/api/Brut/CLI/Apps/DB.html +1 -1
- data/docs/api/Brut/CLI/Apps/DeployBase/GitChecks.html +1 -1
- data/docs/api/Brut/CLI/Apps/DeployBase.html +1 -1
- data/docs/api/Brut/CLI/Apps/HerokuContainerBasedDeploy/Deploy.html +1 -1
- data/docs/api/Brut/CLI/Apps/HerokuContainerBasedDeploy.html +1 -1
- data/docs/api/Brut/CLI/Apps/Scaffold/Action/Route.html +1 -1
- data/docs/api/Brut/CLI/Apps/Scaffold/Action.html +1 -1
- data/docs/api/Brut/CLI/Apps/Scaffold/Component.html +1 -1
- data/docs/api/Brut/CLI/Apps/Scaffold/CustomElementTest.html +1 -1
- data/docs/api/Brut/CLI/Apps/Scaffold/DbModel.html +1 -1
- data/docs/api/Brut/CLI/Apps/Scaffold/E2ETest.html +1 -1
- data/docs/api/Brut/CLI/Apps/Scaffold/Form.html +1 -1
- data/docs/api/Brut/CLI/Apps/Scaffold/Page/Route.html +1 -1
- data/docs/api/Brut/CLI/Apps/Scaffold/Page.html +1 -1
- data/docs/api/Brut/CLI/Apps/Scaffold/RoutesEditor.html +1 -1
- data/docs/api/Brut/CLI/Apps/Scaffold/Test.html +1 -1
- data/docs/api/Brut/CLI/Apps/Scaffold.html +1 -1
- data/docs/api/Brut/CLI/Apps/Test/Audit.html +1 -1
- data/docs/api/Brut/CLI/Apps/Test/E2e.html +1 -1
- data/docs/api/Brut/CLI/Apps/Test/JS.html +1 -1
- data/docs/api/Brut/CLI/Apps/Test/Run.html +1 -1
- data/docs/api/Brut/CLI/Apps/Test.html +1 -1
- data/docs/api/Brut/CLI/Apps.html +1 -1
- data/docs/api/Brut/CLI/Command.html +1 -1
- data/docs/api/Brut/CLI/Error.html +1 -1
- data/docs/api/Brut/CLI/ExecutionResults/Result.html +1 -1
- data/docs/api/Brut/CLI/ExecutionResults.html +1 -1
- data/docs/api/Brut/CLI/Executor.html +1 -1
- data/docs/api/Brut/CLI/InvalidOption.html +1 -1
- data/docs/api/Brut/CLI/Options.html +1 -1
- data/docs/api/Brut/CLI/Output.html +1 -1
- data/docs/api/Brut/CLI/SystemExecError.html +1 -1
- data/docs/api/Brut/CLI.html +1 -1
- data/docs/api/Brut/FactoryBot.html +1 -1
- data/docs/api/Brut/Framework/App.html +1 -1
- data/docs/api/Brut/Framework/Config.html +1 -1
- data/docs/api/Brut/Framework/Container.html +1 -1
- data/docs/api/Brut/Framework/Error.html +1 -1
- data/docs/api/Brut/Framework/Errors/AbstractMethod.html +1 -1
- data/docs/api/Brut/Framework/Errors/Bug.html +1 -1
- data/docs/api/Brut/Framework/Errors/MissingConfiguration.html +1 -1
- data/docs/api/Brut/Framework/Errors/MissingParameter.html +1 -1
- data/docs/api/Brut/Framework/Errors/NoClassForPath.html +1 -1
- data/docs/api/Brut/Framework/Errors/NotFound.html +1 -1
- data/docs/api/Brut/Framework/Errors/NotImplemented.html +1 -1
- data/docs/api/Brut/Framework/Errors.html +1 -1
- data/docs/api/Brut/Framework/FussyTypeEnforcement.html +2 -2
- data/docs/api/Brut/Framework/MCP.html +1 -1
- data/docs/api/Brut/Framework/ProjectEnvironment.html +1 -1
- data/docs/api/Brut/Framework.html +1 -1
- data/docs/api/Brut/FrontEnd/AssetPathResolver.html +1 -1
- data/docs/api/Brut/FrontEnd/Component/Helpers.html +1 -1
- data/docs/api/Brut/FrontEnd/Component.html +1 -1
- data/docs/api/Brut/FrontEnd/Components/ConstraintViolations.html +48 -27
- data/docs/api/Brut/FrontEnd/Components/FormTag.html +1 -1
- data/docs/api/Brut/FrontEnd/Components/I18nTranslations.html +1 -1
- data/docs/api/Brut/FrontEnd/Components/Input.html +2 -2
- data/docs/api/Brut/FrontEnd/Components/Inputs/ButtonTag.html +443 -0
- data/docs/api/Brut/FrontEnd/Components/Inputs/CsrfToken.html +1 -1
- data/docs/api/Brut/FrontEnd/Components/Inputs/InputTag.html +14 -9
- data/docs/api/Brut/FrontEnd/Components/Inputs/RadioButton.html +1 -1
- data/docs/api/Brut/FrontEnd/Components/Inputs/SelectTagWithOptions.html +8 -9
- data/docs/api/Brut/FrontEnd/Components/Inputs/TextareaTag.html +10 -11
- data/docs/api/Brut/FrontEnd/Components/Inputs.html +2 -2
- data/docs/api/Brut/FrontEnd/Components/LocaleDetection.html +1 -1
- data/docs/api/Brut/FrontEnd/Components/PageIdentifier.html +1 -1
- data/docs/api/Brut/FrontEnd/Components/TimeTag.html +1 -1
- data/docs/api/Brut/FrontEnd/Components/Traceparent.html +1 -1
- data/docs/api/Brut/FrontEnd/Components.html +1 -1
- data/docs/api/Brut/FrontEnd/CsrfProtector.html +1 -1
- data/docs/api/Brut/FrontEnd/Download.html +1 -1
- data/docs/api/Brut/FrontEnd/Flash.html +1 -1
- data/docs/api/Brut/FrontEnd/Form.html +39 -39
- data/docs/api/Brut/FrontEnd/Forms/Button.html +331 -0
- data/docs/api/Brut/FrontEnd/Forms/ButtonInputDefinition.html +544 -0
- data/docs/api/Brut/FrontEnd/Forms/ConstraintViolation.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/Input/Color.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/Input/TimeOfDay.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/Input.html +6 -2
- data/docs/api/Brut/FrontEnd/Forms/InputDeclarations.html +111 -23
- data/docs/api/Brut/FrontEnd/Forms/InputDefinition.html +20 -12
- data/docs/api/Brut/FrontEnd/Forms/RadioButtonGroupInput.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/RadioButtonGroupInputDefinition.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/SelectInput.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/SelectInputDefinition.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/ValidityState.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms.html +2 -2
- 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 +2 -2
- data/docs/api/Brut/FrontEnd/Handlers/MissingHandler.html +1 -1
- data/docs/api/Brut/FrontEnd/Handlers.html +1 -1
- data/docs/api/Brut/FrontEnd/HandlingResults.html +1 -1
- data/docs/api/Brut/FrontEnd/HttpMethod.html +1 -1
- data/docs/api/Brut/FrontEnd/HttpStatus.html +1 -1
- data/docs/api/Brut/FrontEnd/InlineSvgLocator.html +1 -1
- data/docs/api/Brut/FrontEnd/Layout.html +1 -1
- data/docs/api/Brut/FrontEnd/Middleware.html +1 -1
- data/docs/api/Brut/FrontEnd/Middlewares/AnnotateBrutOwnedPaths.html +1 -1
- data/docs/api/Brut/FrontEnd/Middlewares/Favicon.html +1 -1
- data/docs/api/Brut/FrontEnd/Middlewares/OpenTelemetrySpan.html +1 -1
- data/docs/api/Brut/FrontEnd/Middlewares/ReloadApp.html +1 -1
- data/docs/api/Brut/FrontEnd/Middlewares.html +1 -1
- data/docs/api/Brut/FrontEnd/Page.html +1 -1
- data/docs/api/Brut/FrontEnd/Pages/MissingPage.html +1 -1
- data/docs/api/Brut/FrontEnd/Pages.html +1 -1
- data/docs/api/Brut/FrontEnd/RequestContext.html +1 -1
- data/docs/api/Brut/FrontEnd/RouteHook.html +1 -1
- data/docs/api/Brut/FrontEnd/RouteHooks/AgeFlash.html +1 -1
- data/docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineScripts.html +1 -1
- data/docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineStylesOrScripts/ReportOnly.html +1 -1
- data/docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineStylesOrScripts.html +1 -1
- data/docs/api/Brut/FrontEnd/RouteHooks/LocaleDetection.html +1 -1
- data/docs/api/Brut/FrontEnd/RouteHooks/SetupRequestContext.html +1 -1
- data/docs/api/Brut/FrontEnd/RouteHooks.html +1 -1
- data/docs/api/Brut/FrontEnd/Routing/FormHandlerRoute.html +1 -1
- data/docs/api/Brut/FrontEnd/Routing/FormRoute.html +1 -1
- data/docs/api/Brut/FrontEnd/Routing/MissingForm.html +1 -1
- data/docs/api/Brut/FrontEnd/Routing/MissingHandler.html +1 -1
- data/docs/api/Brut/FrontEnd/Routing/MissingPage.html +1 -1
- data/docs/api/Brut/FrontEnd/Routing/MissingPath.html +1 -1
- data/docs/api/Brut/FrontEnd/Routing/PageRoute.html +1 -1
- data/docs/api/Brut/FrontEnd/Routing/Route.html +1 -1
- data/docs/api/Brut/FrontEnd/Routing.html +1 -1
- data/docs/api/Brut/FrontEnd/Session.html +1 -1
- data/docs/api/Brut/FrontEnd.html +1 -1
- data/docs/api/Brut/I18n/BaseMethods.html +1 -1
- data/docs/api/Brut/I18n/ForBackEnd.html +1 -1
- data/docs/api/Brut/I18n/ForCLI.html +1 -1
- data/docs/api/Brut/I18n/ForHTML.html +1 -1
- data/docs/api/Brut/I18n/HTTPAcceptLanguage/AlwaysEnglish.html +1 -1
- data/docs/api/Brut/I18n/HTTPAcceptLanguage.html +1 -1
- data/docs/api/Brut/I18n.html +1 -1
- data/docs/api/Brut/Instrumentation/LoggerSpanExporter.html +1 -1
- data/docs/api/Brut/Instrumentation/Methods/ClassMethods.html +596 -0
- data/docs/api/Brut/Instrumentation/Methods.html +173 -0
- data/docs/api/Brut/Instrumentation/OpenTelemetry/NormalizedAttributes.html +7 -7
- data/docs/api/Brut/Instrumentation/OpenTelemetry/Span.html +7 -7
- data/docs/api/Brut/Instrumentation/OpenTelemetry.html +19 -17
- data/docs/api/Brut/Instrumentation.html +3 -1
- data/docs/api/Brut/RubocopConfig.html +1 -1
- data/docs/api/Brut/SinatraHelpers/ClassMethods.html +1 -1
- data/docs/api/Brut/SinatraHelpers.html +1 -1
- data/docs/api/Brut/SpecSupport/ClockSupport.html +1 -1
- data/docs/api/Brut/SpecSupport/ComponentSupport.html +1 -1
- data/docs/api/Brut/SpecSupport/E2ETestServer.html +1 -1
- data/docs/api/Brut/SpecSupport/E2eSupport.html +1 -1
- data/docs/api/Brut/SpecSupport/EnhancedNode.html +1 -1
- data/docs/api/Brut/SpecSupport/FlashSupport.html +1 -1
- data/docs/api/Brut/SpecSupport/GeneralSupport/ClassMethods.html +1 -1
- data/docs/api/Brut/SpecSupport/GeneralSupport.html +1 -1
- data/docs/api/Brut/SpecSupport/HandlerSupport.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/BeABug.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/BePageFor.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/BeRoutingFor.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/HaveConstraintViolation.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/HaveGenerated.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/HaveHTMLAttribute.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/HaveI18nString.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/HaveLinkTo.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/HaveRedirectedTo.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/HaveReturnedHttpStatus.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/HaveReturnedRackResponse.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers.html +1 -1
- data/docs/api/Brut/SpecSupport/RSpecSetup/OptionalSidekiqSupport.html +1 -1
- data/docs/api/Brut/SpecSupport/RSpecSetup.html +1 -1
- data/docs/api/Brut/SpecSupport/SessionSupport.html +1 -1
- data/docs/api/Brut/SpecSupport.html +1 -1
- data/docs/api/Brut.html +1 -1
- data/docs/api/Clock.html +1 -1
- data/docs/api/ModuleName.html +1 -1
- data/docs/api/RichString.html +1 -1
- data/docs/api/SemanticLogger/Appender/Async.html +1 -1
- data/docs/api/Sequel/Extensions/BrutInstrumentation.html +1 -1
- data/docs/api/Sequel/Extensions/BrutMigrations.html +1 -1
- data/docs/api/Sequel/Extensions.html +1 -1
- data/docs/api/Sequel/Plugins/CreatedAt/InstanceMethods.html +1 -1
- data/docs/api/Sequel/Plugins/CreatedAt.html +1 -1
- data/docs/api/Sequel/Plugins/ExternalId/ClassMethods.html +1 -1
- data/docs/api/Sequel/Plugins/ExternalId/InstanceMethods.html +1 -1
- data/docs/api/Sequel/Plugins/ExternalId.html +1 -1
- data/docs/api/Sequel/Plugins/FindBang/ClassMethods.html +1 -1
- data/docs/api/Sequel/Plugins/FindBang.html +1 -1
- data/docs/api/Sequel/Plugins.html +1 -1
- data/docs/api/Sequel.html +1 -1
- data/docs/api/_index.html +36 -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 +364 -252
- data/docs/api/top-level-namespace.html +1 -1
- data/docs/assets/02-confirmation-dialog-browser-element-styled.3NEGM20-.png +0 -0
- data/docs/assets/02-confirmation-dialog-browser-element.DPsf0xUW.png +0 -0
- data/docs/assets/02-confirmation-dialog-browser.DH8ALFO4.png +0 -0
- data/docs/assets/02-confirmation-flow.D9gZ0S5U.png +0 -0
- data/docs/assets/{app.vjGWMSnJ.js → app.V2GOcOrg.js} +1 -1
- data/docs/assets/chunks/@localSearchIndexroot.3Lsq4QTb.js +1 -0
- data/docs/assets/chunks/{VPLocalSearchBox.C-ymMW2k.js → VPLocalSearchBox.CZTadcAy.js} +1 -1
- data/docs/assets/chunks/{theme.pJUosGlI.js → theme.FeuYNxyp.js} +2 -2
- data/docs/assets/{components.md.B543a3Lm.js → components.md.f4cdTyvV.js} +3 -3
- data/docs/assets/{configuration.md.-foE_iVv.js → configuration.md.Bs4-rxnS.js} +1 -1
- data/docs/assets/{form-constraints.md.DK5adCgM.js → form-constraints.md.KTv5cdR4.js} +6 -6
- data/docs/assets/{forms.md.D5-2rgHh.js → forms.md.Sys-XxVf.js} +3 -3
- data/docs/assets/{forms.md.D5-2rgHh.lean.js → forms.md.Sys-XxVf.lean.js} +1 -1
- data/docs/assets/{getting-started.md.Cd4XSZb_.js → getting-started.md.CFIW0bcE.js} +6 -3
- data/docs/assets/{getting-started.md.Cd4XSZb_.lean.js → getting-started.md.CFIW0bcE.lean.js} +1 -1
- data/docs/assets/instrumentation.md._lNSriEZ.js +90 -0
- data/docs/assets/instrumentation.md._lNSriEZ.lean.js +1 -0
- data/docs/assets/{recipes_authentication.md.Dzvi_g69.js → recipes_authentication.md.BAISoxmN.js} +1 -0
- data/docs/assets/recipes_form-errors.md.Bv5RCKqH.js +66 -0
- data/docs/assets/recipes_form-errors.md.Bv5RCKqH.lean.js +1 -0
- data/docs/assets/tutorial.md.BM40jnoq.js +27 -0
- data/docs/assets/tutorial.md.BM40jnoq.lean.js +1 -0
- data/docs/assets/{tutorial.md.C4zR5XPG.js → tutorials_01-intro.md.B4sUBY3X.js} +13 -33
- data/docs/assets/tutorials_01-intro.md.B4sUBY3X.lean.js +1 -0
- data/docs/assets/tutorials_02-dialog.md.QTFeHdiA.js +274 -0
- data/docs/assets/tutorials_02-dialog.md.QTFeHdiA.lean.js +1 -0
- data/docs/assets.html +4 -4
- data/docs/brut-js/api/AjaxSubmit.html +16 -6
- data/docs/brut-js/api/AjaxSubmit.js.html +27 -7
- 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 +55 -5
- data/docs/brut-js/api/ConstraintViolationMessage.js.html +18 -3
- 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 +7 -10
- data/docs/brut-js/api/Form.js.html +20 -24
- 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 +8 -8
- data/docs/configuration.html +5 -5
- data/docs/css.html +4 -4
- data/docs/custom-element-tests.html +4 -4
- data/docs/database-access.html +4 -4
- data/docs/database-schema.html +4 -4
- data/docs/deployment.html +4 -4
- data/docs/dev-environment.html +4 -4
- data/docs/dir-structure.html +4 -4
- data/docs/doc-conventions.html +4 -4
- data/docs/end-to-end-tests.html +4 -4
- data/docs/features.html +4 -4
- data/docs/flash-and-session.html +4 -4
- data/docs/form-constraints.html +11 -11
- data/docs/forms.html +7 -7
- data/docs/getting-started.html +10 -7
- data/docs/handlers.html +4 -4
- data/docs/hashmap.json +1 -1
- data/docs/hooks.html +4 -4
- data/docs/i18n.html +4 -4
- data/docs/index.html +3 -3
- data/docs/instrumentation.html +61 -6
- data/docs/javascript.html +4 -4
- data/docs/jobs.html +4 -4
- data/docs/keyword-injection.html +4 -4
- data/docs/layouts.html +4 -4
- data/docs/lsp.html +4 -4
- data/docs/markdown-examples.html +4 -4
- data/docs/middleware.html +4 -4
- data/docs/overview.html +4 -4
- data/docs/pages.html +4 -4
- data/docs/recipes/alternate-layouts.html +4 -4
- data/docs/recipes/authentication.html +7 -6
- data/docs/recipes/blank-layouts.html +4 -4
- data/docs/recipes/custom-flash.html +4 -4
- data/docs/recipes/form-errors.html +94 -0
- data/docs/recipes/indexed-forms.html +4 -4
- data/docs/recipes/migrations.html +5 -5
- data/docs/recipes/text-field-component.html +4 -4
- data/docs/roadmap.html +4 -4
- 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 +12 -713
- data/docs/tutorials/01-intro.html +736 -0
- data/docs/tutorials/02-dialog.html +302 -0
- data/docs/unit-tests.html +4 -4
- data/docs/why.html +4 -4
- data/lib/brut/front_end/components/input.rb +1 -0
- data/lib/brut/front_end/components/inputs/button_tag.rb +40 -0
- data/lib/brut/front_end/components/inputs/input_tag.rb +3 -1
- data/lib/brut/front_end/components/inputs/select_tag_with_options.rb +0 -1
- data/lib/brut/front_end/components/inputs/textarea_tag.rb +0 -1
- data/lib/brut/front_end/form.rb +7 -5
- data/lib/brut/front_end/forms/button.rb +21 -0
- data/lib/brut/front_end/forms/button_input_definition.rb +37 -0
- data/lib/brut/front_end/forms/input_declarations.rb +10 -0
- data/lib/brut/front_end/forms/input_definition.rb +7 -2
- data/lib/brut/instrumentation/methods.rb +153 -0
- data/lib/brut/instrumentation/open_telemetry.rb +1 -0
- data/lib/brut/instrumentation.rb +1 -0
- data/lib/brut/version.rb +1 -1
- data/mkbrut/Gemfile.lock +1 -1
- data/mkbrut/bin/publish +1 -1
- data/mkbrut/lib/mkbrut/version.rb +1 -1
- data/specs/brut/instrumentation/methods.spec.rb +399 -0
- metadata +51 -21
- data/docs/assets/chunks/@localSearchIndexroot.Dn1xGMv_.js +0 -1
- data/docs/assets/instrumentation.md.BgcaGVYH.js +0 -35
- data/docs/assets/instrumentation.md.BgcaGVYH.lean.js +0 -1
- data/docs/assets/tutorial.md.C4zR5XPG.lean.js +0 -1
- /data/docs/assets/{components.md.B543a3Lm.lean.js → components.md.f4cdTyvV.lean.js} +0 -0
- /data/docs/assets/{configuration.md.-foE_iVv.lean.js → configuration.md.Bs4-rxnS.lean.js} +0 -0
- /data/docs/assets/{form-constraints.md.DK5adCgM.lean.js → form-constraints.md.KTv5cdR4.lean.js} +0 -0
- /data/docs/assets/{recipes_authentication.md.Dzvi_g69.lean.js → recipes_authentication.md.BAISoxmN.lean.js} +0 -0
@@ -247,7 +247,7 @@ have not been set.</p>
|
|
247
247
|
</div>
|
248
248
|
|
249
249
|
<div id="footer">
|
250
|
-
Generated on Fri
|
250
|
+
Generated on Fri Sep 5 13:46:23 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.5).
|
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 Fri
|
266
|
+
Generated on Fri Sep 5 13:46:23 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.5).
|
269
269
|
</div>
|
@@ -461,7 +461,7 @@
|
|
461
461
|
</div>
|
462
462
|
|
463
463
|
<div id="footer">
|
464
|
-
Generated on Fri
|
464
|
+
Generated on Fri Sep 5 13:46:23 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.5).
|
467
467
|
</div>
|
@@ -298,7 +298,7 @@
|
|
298
298
|
</div>
|
299
299
|
|
300
300
|
<div id="footer">
|
301
|
-
Generated on Fri
|
301
|
+
Generated on Fri Sep 5 13:46:23 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.5).
|
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 Fri
|
227
|
+
Generated on Fri Sep 5 13:46:23 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.5).
|
230
230
|
</div>
|
@@ -341,7 +341,7 @@ state of the system is such that it would never be misused.</p>
|
|
341
341
|
</div>
|
342
342
|
|
343
343
|
<div id="footer">
|
344
|
-
Generated on Fri
|
344
|
+
Generated on Fri Sep 5 13:46:22 2025 by
|
345
345
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
346
346
|
0.9.37 (ruby-3.4.5).
|
347
347
|
</div>
|
@@ -76,7 +76,7 @@
|
|
76
76
|
|
77
77
|
<dl>
|
78
78
|
<dt>Included in:</dt>
|
79
|
-
<dd><span class='object_link'><a href="../FrontEnd/Forms/InputDefinition.html" title="Brut::FrontEnd::Forms::InputDefinition (class)">Brut::FrontEnd::Forms::InputDefinition</a></span>, <span class='object_link'><a href="../FrontEnd/Forms/RadioButtonGroupInputDefinition.html" title="Brut::FrontEnd::Forms::RadioButtonGroupInputDefinition (class)">Brut::FrontEnd::Forms::RadioButtonGroupInputDefinition</a></span>, <span class='object_link'><a href="../FrontEnd/Forms/SelectInputDefinition.html" title="Brut::FrontEnd::Forms::SelectInputDefinition (class)">Brut::FrontEnd::Forms::SelectInputDefinition</a></span></dd>
|
79
|
+
<dd><span class='object_link'><a href="../FrontEnd/Forms/ButtonInputDefinition.html" title="Brut::FrontEnd::Forms::ButtonInputDefinition (class)">Brut::FrontEnd::Forms::ButtonInputDefinition</a></span>, <span class='object_link'><a href="../FrontEnd/Forms/InputDefinition.html" title="Brut::FrontEnd::Forms::InputDefinition (class)">Brut::FrontEnd::Forms::InputDefinition</a></span>, <span class='object_link'><a href="../FrontEnd/Forms/RadioButtonGroupInputDefinition.html" title="Brut::FrontEnd::Forms::RadioButtonGroupInputDefinition (class)">Brut::FrontEnd::Forms::RadioButtonGroupInputDefinition</a></span>, <span class='object_link'><a href="../FrontEnd/Forms/SelectInputDefinition.html" title="Brut::FrontEnd::Forms::SelectInputDefinition (class)">Brut::FrontEnd::Forms::SelectInputDefinition</a></span></dd>
|
80
80
|
</dl>
|
81
81
|
|
82
82
|
|
@@ -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 Fri
|
385
|
+
Generated on Fri Sep 5 13:46:22 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.5).
|
388
388
|
</div>
|
@@ -861,7 +861,7 @@ to external resources.</p>
|
|
861
861
|
</div>
|
862
862
|
|
863
863
|
<div id="footer">
|
864
|
-
Generated on Fri
|
864
|
+
Generated on Fri Sep 5 13:46:22 2025 by
|
865
865
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
866
866
|
0.9.37 (ruby-3.4.5).
|
867
867
|
</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 Fri
|
641
|
+
Generated on Fri Sep 5 13:46:23 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.5).
|
644
644
|
</div>
|
@@ -119,7 +119,7 @@
|
|
119
119
|
</div>
|
120
120
|
|
121
121
|
<div id="footer">
|
122
|
-
Generated on Fri
|
122
|
+
Generated on Fri Sep 5 13:46:22 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.5).
|
125
125
|
</div>
|
@@ -307,7 +307,7 @@
|
|
307
307
|
</div>
|
308
308
|
|
309
309
|
<div id="footer">
|
310
|
-
Generated on Fri
|
310
|
+
Generated on Fri Sep 5 13:46:23 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.5).
|
313
313
|
</div>
|
@@ -410,7 +410,7 @@ looking</p>
|
|
410
410
|
</div>
|
411
411
|
|
412
412
|
<div id="footer">
|
413
|
-
Generated on Fri
|
413
|
+
Generated on Fri Sep 5 13:46:22 2025 by
|
414
414
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
415
415
|
0.9.37 (ruby-3.4.5).
|
416
416
|
</div>
|
@@ -424,7 +424,7 @@ method <span class='object_link'><a href="#component_name-class_method" title="B
|
|
424
424
|
</div>
|
425
425
|
|
426
426
|
<div id="footer">
|
427
|
-
Generated on Fri
|
427
|
+
Generated on Fri Sep 5 13:46:23 2025 by
|
428
428
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
429
429
|
0.9.37 (ruby-3.4.5).
|
430
430
|
</div>
|
@@ -105,22 +105,31 @@
|
|
105
105
|
|
106
106
|
<h2>Overview</h2><div class="docstring">
|
107
107
|
<div class="discussion">
|
108
|
-
<p>Renders the custom elements used to manage both client- and server-side constraint violations via the <code><brut-cv-messages></code> and <code><brut-cv></code> tags. Each constraint violation on the input's <span class='object_link'><a href="../Forms/ValidityState.html" title="Brut::FrontEnd::Forms::ValidityState (class)">Forms::ValidityState</a></span> will generate a <code><brut-cv server-
|
108
|
+
<p>Renders the custom elements used to manage both client- and server-side constraint violations via the <code><brut-cv-messages></code> and <code><brut-cv></code> tags. Each constraint violation on the input's <span class='object_link'><a href="../Forms/ValidityState.html" title="Brut::FrontEnd::Forms::ValidityState (class)">Forms::ValidityState</a></span> will generate a <code><brut-cv server-generated></code> tag that will contain the I18n translation of the violation's <span class='object_link'><a href="../Forms/ConstraintViolation.html#key-instance_method" title="Brut::FrontEnd::Forms::ConstraintViolation#key (method)">Forms::ConstraintViolation#key</a></span> prefixed with <code>"cv.cs"</code> or <code>"cv.ss"</code>.</p>
|
109
109
|
|
110
110
|
<p>The general form of this component will be:</p>
|
111
111
|
|
112
112
|
<pre class="code html"><code class="html"><brut-cv-messages input-name="«input_name»">
|
113
|
-
<brut-cv server-side>
|
113
|
+
<brut-cv server-generated client-side>
|
114
114
|
«message»
|
115
115
|
</brut-cv>
|
116
|
-
<brut-cv server-side>
|
116
|
+
<brut-cv server-generated server-side>
|
117
117
|
«message»
|
118
118
|
</brut-cv>
|
119
119
|
<!- ... ->
|
120
120
|
</brut-cv-messages>
|
121
121
|
</code></pre>
|
122
122
|
|
123
|
-
<p>
|
123
|
+
<p>Notes:</p>
|
124
|
+
|
125
|
+
<ul>
|
126
|
+
<li>If the form is considered #<span class='object_link'><a href="../Form.html#new%3F-instance_method" title="Brut::FrontEnd::Form#new? (method)">Form#new?</a></span>, then the client-side constraint violations
|
127
|
+
will not be generated. This is to prevent a fresh form from being generated with a bunch of
|
128
|
+
errors already present.</li>
|
129
|
+
<li>If using <code><brut-form></code>, the <code><brut-cv-messages></code> element this generates will be where it inserts
|
130
|
+
client side constraint violations.</li>
|
131
|
+
</ul>
|
132
|
+
|
124
133
|
|
125
134
|
|
126
135
|
</div>
|
@@ -361,17 +370,17 @@
|
|
361
370
|
<pre class="lines">
|
362
371
|
|
363
372
|
|
364
|
-
26
|
365
|
-
27
|
366
|
-
28
|
367
|
-
29
|
368
|
-
30
|
369
|
-
31
|
370
373
|
32
|
371
|
-
33
|
374
|
+
33
|
375
|
+
34
|
376
|
+
35
|
377
|
+
36
|
378
|
+
37
|
379
|
+
38
|
380
|
+
39</pre>
|
372
381
|
</td>
|
373
382
|
<td>
|
374
|
-
<pre class="code"><span class="info file"># File 'lib/brut/front_end/components/constraint_violations.rb', line
|
383
|
+
<pre class="code"><span class="info file"># File 'lib/brut/front_end/components/constraint_violations.rb', line 32</span>
|
375
384
|
|
376
385
|
<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='label'>message_html_attributes:</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>
|
377
386
|
<span class='ivar'>@form</span> <span class='op'>=</span> <span class='id identifier rubyid_form'>form</span>
|
@@ -408,12 +417,6 @@
|
|
408
417
|
<pre class="lines">
|
409
418
|
|
410
419
|
|
411
|
-
35
|
412
|
-
36
|
413
|
-
37
|
414
|
-
38
|
415
|
-
39
|
416
|
-
40
|
417
420
|
41
|
418
421
|
42
|
419
422
|
43
|
@@ -426,10 +429,22 @@
|
|
426
429
|
50
|
427
430
|
51
|
428
431
|
52
|
429
|
-
53
|
432
|
+
53
|
433
|
+
54
|
434
|
+
55
|
435
|
+
56
|
436
|
+
57
|
437
|
+
58
|
438
|
+
59
|
439
|
+
60
|
440
|
+
61
|
441
|
+
62
|
442
|
+
63
|
443
|
+
64
|
444
|
+
65</pre>
|
430
445
|
</td>
|
431
446
|
<td>
|
432
|
-
<pre class="code"><span class="info file"># File 'lib/brut/front_end/components/constraint_violations.rb', line
|
447
|
+
<pre class="code"><span class="info file"># File 'lib/brut/front_end/components/constraint_violations.rb', line 41</span>
|
433
448
|
|
434
449
|
<span class='kw'>def</span> <span class='id identifier rubyid_view_template'>view_template</span>
|
435
450
|
<span class='id identifier rubyid_html_attributes'>html_attributes</span> <span class='op'>=</span> <span class='lbrace'>{</span>
|
@@ -437,15 +452,21 @@
|
|
437
452
|
<span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='ivar'>@html_attributes</span><span class='rparen'>)</span>
|
438
453
|
|
439
454
|
<span class='id identifier rubyid_message_html_attributes'>message_html_attributes</span> <span class='op'>=</span> <span class='lbrace'>{</span>
|
440
|
-
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>server-
|
455
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>server-generated</span><span class='label_end'>":</span> <span class='kw'>true</span><span class='comma'>,</span>
|
441
456
|
<span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='ivar'>@message_html_attributes</span><span class='rparen'>)</span>
|
442
457
|
|
443
458
|
<span class='id identifier rubyid_brut_cv_messages'>brut_cv_messages</span><span class='lparen'>(</span><span class='op'>**</span><span class='id identifier rubyid_html_attributes'>html_attributes</span><span class='rparen'>)</span> <span class='kw'>do</span>
|
444
|
-
<span class='ivar'>@form</span><span class='period'>.</span><span class='id identifier rubyid_input'>input</span><span class='lparen'>(</span><span class='ivar'>@input_name</span><span class='comma'>,</span> <span class='label'>index:</span> <span class='ivar'>@index</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_validity_state'>validity_state</span><span class='period'>.</span><span class='id identifier
|
445
|
-
<span class='
|
446
|
-
|
447
|
-
|
448
|
-
|
459
|
+
<span class='ivar'>@form</span><span class='period'>.</span><span class='id identifier rubyid_input'>input</span><span class='lparen'>(</span><span class='ivar'>@input_name</span><span class='comma'>,</span> <span class='label'>index:</span> <span class='ivar'>@index</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_validity_state'>validity_state</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_constraint'>constraint</span><span class='op'>|</span>
|
460
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_constraint'>constraint</span><span class='period'>.</span><span class='id identifier rubyid_client_side?'>client_side?</span>
|
461
|
+
<span class='kw'>if</span> <span class='op'>!</span><span class='ivar'>@form</span><span class='period'>.</span><span class='id identifier rubyid_new?'>new?</span>
|
462
|
+
<span class='id identifier rubyid_brut_cv'>brut_cv</span><span class='lparen'>(</span><span class='op'>**</span><span class='id identifier rubyid_message_html_attributes'>message_html_attributes</span><span class='comma'>,</span> <span class='label'>client_side:</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>do</span>
|
463
|
+
<span class='id identifier rubyid_t'>t</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>cv.cs.</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='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_constraint'>constraint</span><span class='period'>.</span><span class='id identifier rubyid_context'>context</span><span class='rparen'>)</span>
|
464
|
+
<span class='kw'>end</span>
|
465
|
+
<span class='kw'>end</span>
|
466
|
+
<span class='kw'>else</span>
|
467
|
+
<span class='id identifier rubyid_brut_cv'>brut_cv</span><span class='lparen'>(</span><span class='op'>**</span><span class='id identifier rubyid_message_html_attributes'>message_html_attributes</span><span class='comma'>,</span> <span class='label'>server_side:</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>do</span>
|
468
|
+
<span class='id identifier rubyid_t'>t</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>cv.ss.</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='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_constraint'>constraint</span><span class='period'>.</span><span class='id identifier rubyid_context'>context</span><span class='rparen'>)</span>
|
469
|
+
<span class='kw'>end</span>
|
449
470
|
<span class='kw'>end</span>
|
450
471
|
<span class='kw'>end</span>
|
451
472
|
<span class='kw'>end</span>
|
@@ -460,7 +481,7 @@
|
|
460
481
|
</div>
|
461
482
|
|
462
483
|
<div id="footer">
|
463
|
-
Generated on Fri
|
484
|
+
Generated on Fri Sep 5 13:46:24 2025 by
|
464
485
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
465
486
|
0.9.37 (ruby-3.4.5).
|
466
487
|
</div>
|
@@ -516,7 +516,7 @@ If the form's action is GET, it will not.</p>
|
|
516
516
|
</div>
|
517
517
|
|
518
518
|
<div id="footer">
|
519
|
-
Generated on Fri
|
519
|
+
Generated on Fri Sep 5 13:46:23 2025 by
|
520
520
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
521
521
|
0.9.37 (ruby-3.4.5).
|
522
522
|
</div>
|
@@ -303,7 +303,7 @@ client side <code>ValidityState</code> returns true for, say, <code>badInput</co
|
|
303
303
|
</div>
|
304
304
|
|
305
305
|
<div id="footer">
|
306
|
-
Generated on Fri
|
306
|
+
Generated on Fri Sep 5 13:46:23 2025 by
|
307
307
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
308
308
|
0.9.37 (ruby-3.4.5).
|
309
309
|
</div>
|
@@ -115,7 +115,7 @@
|
|
115
115
|
|
116
116
|
</div><div id="subclasses">
|
117
117
|
<h2>Direct Known Subclasses</h2>
|
118
|
-
<p class="children"><span class='object_link'><a href="Inputs/CsrfToken.html" title="Brut::FrontEnd::Components::Inputs::CsrfToken (class)">Brut::FrontEnd::Components::Inputs::CsrfToken</a></span>, <span class='object_link'><a href="Inputs/InputTag.html" title="Brut::FrontEnd::Components::Inputs::InputTag (class)">Brut::FrontEnd::Components::Inputs::InputTag</a></span>, <span class='object_link'><a href="Inputs/SelectTagWithOptions.html" title="Brut::FrontEnd::Components::Inputs::SelectTagWithOptions (class)">Brut::FrontEnd::Components::Inputs::SelectTagWithOptions</a></span>, <span class='object_link'><a href="Inputs/TextareaTag.html" title="Brut::FrontEnd::Components::Inputs::TextareaTag (class)">Brut::FrontEnd::Components::Inputs::TextareaTag</a></span></p>
|
118
|
+
<p class="children"><span class='object_link'><a href="Inputs/ButtonTag.html" title="Brut::FrontEnd::Components::Inputs::ButtonTag (class)">Brut::FrontEnd::Components::Inputs::ButtonTag</a></span>, <span class='object_link'><a href="Inputs/CsrfToken.html" title="Brut::FrontEnd::Components::Inputs::CsrfToken (class)">Brut::FrontEnd::Components::Inputs::CsrfToken</a></span>, <span class='object_link'><a href="Inputs/InputTag.html" title="Brut::FrontEnd::Components::Inputs::InputTag (class)">Brut::FrontEnd::Components::Inputs::InputTag</a></span>, <span class='object_link'><a href="Inputs/SelectTagWithOptions.html" title="Brut::FrontEnd::Components::Inputs::SelectTagWithOptions (class)">Brut::FrontEnd::Components::Inputs::SelectTagWithOptions</a></span>, <span class='object_link'><a href="Inputs/TextareaTag.html" title="Brut::FrontEnd::Components::Inputs::TextareaTag (class)">Brut::FrontEnd::Components::Inputs::TextareaTag</a></span></p>
|
119
119
|
</div>
|
120
120
|
|
121
121
|
|
@@ -185,7 +185,7 @@
|
|
185
185
|
</div>
|
186
186
|
|
187
187
|
<div id="footer">
|
188
|
-
Generated on Fri
|
188
|
+
Generated on Fri Sep 5 13:46:23 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.5).
|
191
191
|
</div>
|