brut 0.0.29 → 0.1.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/Gemfile.lock +1 -1
- data/README.md +23 -2
- data/assets/LogoStop.pxd +0 -0
- data/assets/MetroLogo.graffle +0 -0
- data/assets/SocialImage.png +0 -0
- data/assets/SocialImage.pxd +0 -0
- data/brutrb.com/.vitepress/config.mjs +45 -8
- data/brutrb.com/.vitepress/theme/style.css +6 -5
- data/brutrb.com/ai.md +10 -15
- data/brutrb.com/assets.md +2 -9
- data/brutrb.com/brut-js.md +12 -2
- data/brutrb.com/cli.md +9 -13
- data/brutrb.com/components.md +118 -96
- data/brutrb.com/configuration.md +3 -4
- data/brutrb.com/css.md +2 -2
- data/brutrb.com/custom-element-tests.md +3 -4
- data/brutrb.com/database-access.md +1 -1
- data/brutrb.com/database-schema.md +29 -41
- data/brutrb.com/dev-environment.md +7 -7
- data/brutrb.com/dir-structure.md +120 -0
- data/brutrb.com/doc-conventions.md +18 -15
- data/brutrb.com/dx +1 -0
- data/brutrb.com/end-to-end-tests.md +12 -10
- data/brutrb.com/features.md +373 -0
- data/brutrb.com/flash-and-session.md +115 -131
- data/brutrb.com/form-constraints.md +266 -0
- data/brutrb.com/forms.md +140 -765
- data/brutrb.com/getting-started.md +10 -11
- data/brutrb.com/handlers.md +119 -95
- data/brutrb.com/hooks.md +18 -20
- data/brutrb.com/i18n.md +6 -4
- data/brutrb.com/images/LogoStop.png +0 -0
- data/brutrb.com/instrumentation.md +7 -10
- data/brutrb.com/javascript.md +14 -14
- data/brutrb.com/keyword-injection.md +72 -114
- data/brutrb.com/layouts.md +20 -52
- data/brutrb.com/lsp.md +1 -1
- data/brutrb.com/overview.md +30 -372
- data/brutrb.com/pages.md +119 -207
- data/brutrb.com/public/SocialImage.png +0 -0
- data/brutrb.com/public/favicon.ico +0 -0
- data/brutrb.com/recipes/alternate-layouts.md +32 -0
- data/brutrb.com/recipes/authentication.md +315 -6
- data/brutrb.com/recipes/blank-layouts.md +22 -0
- data/brutrb.com/recipes/custom-flash.md +51 -0
- data/brutrb.com/recipes/indexed-forms.md +149 -0
- data/brutrb.com/recipes/text-field-component.md +182 -0
- data/brutrb.com/routes.md +56 -82
- data/brutrb.com/security.md +0 -3
- data/brutrb.com/space-time-continuum.md +8 -12
- data/brutrb.com/tutorial.md +1 -1
- data/brutrb.com/why.md +19 -0
- data/docs/404.html +8 -3
- data/docs/SocialImage.png +0 -0
- data/docs/ai.html +11 -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 +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/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 +1 -1
- data/docs/api/Brut/Framework/MCP.html +1 -1
- data/docs/api/Brut/Framework/ProjectEnvironment.html +1 -1
- data/docs/api/Brut/Framework.html +1 -1
- data/docs/api/Brut/FrontEnd/AssetPathResolver.html +1 -1
- data/docs/api/Brut/FrontEnd/Component/Helpers.html +1 -1
- data/docs/api/Brut/FrontEnd/Component.html +1 -1
- data/docs/api/Brut/FrontEnd/Components/ConstraintViolations.html +1 -1
- data/docs/api/Brut/FrontEnd/Components/FormTag.html +1 -1
- data/docs/api/Brut/FrontEnd/Components/I18nTranslations.html +1 -1
- data/docs/api/Brut/FrontEnd/Components/Input.html +1 -1
- data/docs/api/Brut/FrontEnd/Components/Inputs/CsrfToken.html +1 -1
- data/docs/api/Brut/FrontEnd/Components/Inputs/InputTag.html +1 -1
- data/docs/api/Brut/FrontEnd/Components/Inputs/RadioButton.html +1 -1
- data/docs/api/Brut/FrontEnd/Components/Inputs/SelectTagWithOptions.html +1 -1
- data/docs/api/Brut/FrontEnd/Components/Inputs/TextareaTag.html +1 -1
- data/docs/api/Brut/FrontEnd/Components/Inputs.html +1 -1
- data/docs/api/Brut/FrontEnd/Components/LocaleDetection.html +1 -1
- data/docs/api/Brut/FrontEnd/Components/PageIdentifier.html +1 -1
- data/docs/api/Brut/FrontEnd/Components/TimeTag.html +1 -1
- data/docs/api/Brut/FrontEnd/Components/Traceparent.html +1 -1
- data/docs/api/Brut/FrontEnd/Components.html +1 -1
- data/docs/api/Brut/FrontEnd/Download.html +1 -1
- data/docs/api/Brut/FrontEnd/Flash.html +1 -1
- data/docs/api/Brut/FrontEnd/Form.html +9 -11
- data/docs/api/Brut/FrontEnd/Forms/ConstraintViolation.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/Input/Color.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/Input/TimeOfDay.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/Input.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/InputDeclarations.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/InputDefinition.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/RadioButtonGroupInput.html +135 -20
- data/docs/api/Brut/FrontEnd/Forms/RadioButtonGroupInputDefinition.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/SelectInput.html +135 -20
- data/docs/api/Brut/FrontEnd/Forms/SelectInputDefinition.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/ValidityState.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms.html +1 -1
- data/docs/api/Brut/FrontEnd/GenericResponse.html +1 -1
- data/docs/api/Brut/FrontEnd/Handler.html +1 -1
- data/docs/api/Brut/FrontEnd/Handlers/CspReportingHandler.html +1 -1
- data/docs/api/Brut/FrontEnd/Handlers/InstrumentationHandler/TraceParent.html +1 -1
- data/docs/api/Brut/FrontEnd/Handlers/InstrumentationHandler.html +1 -1
- data/docs/api/Brut/FrontEnd/Handlers/LocaleDetectionHandler.html +1 -1
- data/docs/api/Brut/FrontEnd/Handlers/MissingHandler/Form.html +1 -1
- data/docs/api/Brut/FrontEnd/Handlers/MissingHandler.html +1 -1
- data/docs/api/Brut/FrontEnd/Handlers.html +1 -1
- data/docs/api/Brut/FrontEnd/HandlingResults.html +1 -1
- data/docs/api/Brut/FrontEnd/HttpMethod.html +1 -1
- data/docs/api/Brut/FrontEnd/HttpStatus.html +1 -1
- data/docs/api/Brut/FrontEnd/InlineSvgLocator.html +1 -1
- data/docs/api/Brut/FrontEnd/Layout.html +1 -1
- data/docs/api/Brut/FrontEnd/Middleware.html +1 -1
- data/docs/api/Brut/FrontEnd/Middlewares/AnnotateBrutOwnedPaths.html +1 -1
- data/docs/api/Brut/FrontEnd/Middlewares/Favicon.html +1 -1
- data/docs/api/Brut/FrontEnd/Middlewares/OpenTelemetrySpan.html +1 -1
- data/docs/api/Brut/FrontEnd/Middlewares/ReloadApp.html +1 -1
- data/docs/api/Brut/FrontEnd/Middlewares.html +1 -1
- data/docs/api/Brut/FrontEnd/Page.html +1 -1
- data/docs/api/Brut/FrontEnd/Pages/MissingPage.html +1 -1
- data/docs/api/Brut/FrontEnd/Pages.html +1 -1
- data/docs/api/Brut/FrontEnd/RequestContext.html +1 -1
- data/docs/api/Brut/FrontEnd/RouteHook.html +1 -1
- data/docs/api/Brut/FrontEnd/RouteHooks/AgeFlash.html +1 -1
- data/docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineScripts.html +1 -1
- data/docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineStylesOrScripts/ReportOnly.html +1 -1
- data/docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineStylesOrScripts.html +1 -1
- data/docs/api/Brut/FrontEnd/RouteHooks/LocaleDetection.html +1 -1
- data/docs/api/Brut/FrontEnd/RouteHooks/SetupRequestContext.html +1 -1
- data/docs/api/Brut/FrontEnd/RouteHooks.html +1 -1
- data/docs/api/Brut/FrontEnd/Routing/FormHandlerRoute.html +1 -1
- data/docs/api/Brut/FrontEnd/Routing/FormRoute.html +1 -1
- data/docs/api/Brut/FrontEnd/Routing/MissingForm.html +1 -1
- data/docs/api/Brut/FrontEnd/Routing/MissingHandler.html +1 -1
- data/docs/api/Brut/FrontEnd/Routing/MissingPage.html +1 -1
- data/docs/api/Brut/FrontEnd/Routing/MissingPath.html +1 -1
- data/docs/api/Brut/FrontEnd/Routing/PageRoute.html +1 -1
- data/docs/api/Brut/FrontEnd/Routing/Route.html +1 -1
- data/docs/api/Brut/FrontEnd/Routing.html +1 -1
- data/docs/api/Brut/FrontEnd/Session.html +1 -1
- data/docs/api/Brut/FrontEnd.html +1 -1
- data/docs/api/Brut/I18n/BaseMethods.html +1 -1
- data/docs/api/Brut/I18n/ForBackEnd.html +1 -1
- data/docs/api/Brut/I18n/ForCLI.html +1 -1
- data/docs/api/Brut/I18n/ForHTML.html +1 -1
- data/docs/api/Brut/I18n/HTTPAcceptLanguage/AlwaysEnglish.html +1 -1
- data/docs/api/Brut/I18n/HTTPAcceptLanguage.html +1 -1
- data/docs/api/Brut/I18n.html +1 -1
- data/docs/api/Brut/Instrumentation/LoggerSpanExporter.html +1 -1
- data/docs/api/Brut/Instrumentation/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 +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/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 +1 -1
- data/docs/api/file.README.html +22 -3
- data/docs/api/index.html +22 -3
- data/docs/api/method_list.html +16 -0
- data/docs/api/top-level-namespace.html +1 -1
- data/docs/assets/LogoStop.Gb3tDhL1.png +0 -0
- data/docs/assets/{ai.md._6HCDL6d.js → ai.md.Cy9GWnER.js} +1 -1
- data/docs/assets/ai.md.Cy9GWnER.lean.js +1 -0
- data/docs/assets/{app.BhrfSt68.js → app.ClaS47Ru.js} +1 -1
- data/docs/assets/{assets.md.D3wunzLx.js → assets.md.7C3HWkga.js} +3 -3
- data/docs/assets/{assets.md.D3wunzLx.lean.js → assets.md.7C3HWkga.lean.js} +1 -1
- data/docs/assets/{brut-js.md.o2DAO2s2.js → brut-js.md.B4GYxQVw.js} +1 -1
- data/docs/assets/{brut-js.md.o2DAO2s2.lean.js → brut-js.md.B4GYxQVw.lean.js} +1 -1
- data/docs/assets/chunks/@localSearchIndexroot.Biqy1A4t.js +1 -0
- data/docs/assets/chunks/{VPLocalSearchBox.Dpot_2H4.js → VPLocalSearchBox.DtgDfde2.js} +1 -1
- data/docs/assets/chunks/{theme.N2SNVLgU.js → theme.B45bvibT.js} +2 -2
- data/docs/assets/{cli.md.RmeA2b0i.js → cli.md.CjsktgFz.js} +15 -20
- data/docs/assets/components.md.DatoNgFo.js +96 -0
- data/docs/assets/{components.md.CRUMdRoN.lean.js → components.md.DatoNgFo.lean.js} +1 -1
- data/docs/assets/{configuration.md.LG-zIBww.js → configuration.md.DeyhpqEx.js} +3 -3
- data/docs/assets/{css.md.DJgj2clw.js → css.md.CltvJqAa.js} +3 -3
- data/docs/assets/{custom-element-tests.md.BrYJQEl3.js → custom-element-tests.md.B_rbta32.js} +3 -3
- data/docs/assets/{database-access.md.C7l-Vuvb.js → database-access.md.gnluu54N.js} +1 -1
- data/docs/assets/{database-schema.md.BUjR0VS1.js → database-schema.md.CSYk6E6v.js} +6 -6
- data/docs/assets/{database-schema.md.BUjR0VS1.lean.js → database-schema.md.CSYk6E6v.lean.js} +1 -1
- data/docs/assets/dev-environment.md.BroAOLhF.js +11 -0
- data/docs/assets/dir-structure.md.CWir1pic.js +46 -0
- data/docs/assets/dir-structure.md.CWir1pic.lean.js +1 -0
- data/docs/assets/doc-conventions.md.BzmSrTEW.js +1 -0
- data/docs/assets/doc-conventions.md.BzmSrTEW.lean.js +1 -0
- data/docs/assets/{end-to-end-tests.md.yfQHC0b5.js → end-to-end-tests.md.DzqRpZ43.js} +5 -3
- data/docs/assets/end-to-end-tests.md.DzqRpZ43.lean.js +1 -0
- data/docs/assets/features.md.DPFXsy0z.js +154 -0
- data/docs/assets/features.md.DPFXsy0z.lean.js +1 -0
- data/docs/assets/flash-and-session.md.nPvUpnUx.js +79 -0
- data/docs/assets/{flash-and-session.md.BXY8RvT0.lean.js → flash-and-session.md.nPvUpnUx.lean.js} +1 -1
- data/docs/assets/form-constraints.md.x5tNpTTI.js +90 -0
- data/docs/assets/form-constraints.md.x5tNpTTI.lean.js +1 -0
- data/docs/assets/forms.md.C2Dizvzq.js +64 -0
- data/docs/assets/forms.md.C2Dizvzq.lean.js +1 -0
- data/docs/assets/{getting-started.md.Dj0qtZI2.js → getting-started.md.C93e0odB.js} +5 -5
- data/docs/assets/{getting-started.md.Dj0qtZI2.lean.js → getting-started.md.C93e0odB.lean.js} +1 -1
- data/docs/assets/handlers.md.Chyri6KA.js +54 -0
- data/docs/assets/handlers.md.Chyri6KA.lean.js +1 -0
- data/docs/assets/{hooks.md.C4-moMny.js → hooks.md.Jmb5VOLA.js} +4 -4
- data/docs/assets/{hooks.md.C4-moMny.lean.js → hooks.md.Jmb5VOLA.lean.js} +1 -1
- data/docs/assets/{i18n.md.Do9i1qWl.js → i18n.md.xQhiGo1G.js} +2 -2
- data/docs/assets/{i18n.md.Do9i1qWl.lean.js → i18n.md.xQhiGo1G.lean.js} +1 -1
- data/docs/assets/{index.md.CuBB-BdM.js → index.md.CAMqGBJE.js} +1 -1
- data/docs/assets/{index.md.CuBB-BdM.lean.js → index.md.CAMqGBJE.lean.js} +1 -1
- data/docs/assets/{instrumentation.md.a9Pjps4P.js → instrumentation.md.BgcaGVYH.js} +2 -2
- data/docs/assets/{instrumentation.md.a9Pjps4P.lean.js → instrumentation.md.BgcaGVYH.lean.js} +1 -1
- data/docs/assets/{javascript.md.GWbhRS51.js → javascript.md.DzrMxUmI.js} +7 -7
- data/docs/assets/{javascript.md.GWbhRS51.lean.js → javascript.md.DzrMxUmI.lean.js} +1 -1
- data/docs/assets/keyword-injection.md.95Zgh2eN.js +21 -0
- data/docs/assets/{keyword-injection.md.Dt2tKREs.lean.js → keyword-injection.md.95Zgh2eN.lean.js} +1 -1
- data/docs/assets/{layouts.md.cPnh3NId.js → layouts.md.CJGDFY-m.js} +2 -15
- data/docs/assets/layouts.md.CJGDFY-m.lean.js +1 -0
- data/docs/assets/{lsp.md.Bsu-f6VU.js → lsp.md.Dn1rIiW0.js} +1 -1
- data/docs/assets/{lsp.md.Bsu-f6VU.lean.js → lsp.md.Dn1rIiW0.lean.js} +1 -1
- data/docs/assets/overview.md.Bdq4qt3L.js +1 -0
- data/docs/assets/overview.md.Bdq4qt3L.lean.js +1 -0
- data/docs/assets/pages.md.B7Hc-i6H.js +45 -0
- data/docs/assets/pages.md.B7Hc-i6H.lean.js +1 -0
- data/docs/assets/recipes_alternate-layouts.md.BwEytl59.js +22 -0
- data/docs/assets/recipes_alternate-layouts.md.BwEytl59.lean.js +1 -0
- data/docs/assets/recipes_authentication.md.Dzvi_g69.js +156 -0
- data/docs/assets/recipes_authentication.md.Dzvi_g69.lean.js +1 -0
- data/docs/assets/recipes_blank-layouts.md.fyAUJyJR.js +15 -0
- data/docs/assets/recipes_blank-layouts.md.fyAUJyJR.lean.js +1 -0
- data/docs/assets/recipes_custom-flash.md.CrQbI5eH.js +26 -0
- data/docs/assets/recipes_custom-flash.md.CrQbI5eH.lean.js +1 -0
- data/docs/assets/recipes_indexed-forms.md.CstYyOSo.js +74 -0
- data/docs/assets/recipes_indexed-forms.md.CstYyOSo.lean.js +1 -0
- data/docs/assets/recipes_text-field-component.md.H4wLAK0Z.js +101 -0
- data/docs/assets/recipes_text-field-component.md.H4wLAK0Z.lean.js +1 -0
- data/docs/assets/routes.md.B8kfUPHU.js +21 -0
- data/docs/assets/{routes.md.BMM7peut.lean.js → routes.md.B8kfUPHU.lean.js} +1 -1
- data/docs/assets/{security.md.C668yXCi.js → security.md.C0G_AZR-.js} +1 -1
- data/docs/assets/{security.md.C668yXCi.lean.js → security.md.C0G_AZR-.lean.js} +1 -1
- data/docs/assets/space-time-continuum.md.xl44xDos.js +1 -0
- data/docs/assets/{space-time-continuum.md.KPUIKysQ.lean.js → space-time-continuum.md.xl44xDos.lean.js} +1 -1
- data/docs/assets/{style.B2o1L9eN.css → style.prAgp4yQ.css} +1 -1
- data/docs/assets/tutorial.md.a4a0eVOy.js +1 -0
- data/docs/assets/tutorial.md.a4a0eVOy.lean.js +1 -0
- data/docs/assets/why.md.C-hk5xgJ.js +1 -0
- data/docs/assets/why.md.C-hk5xgJ.lean.js +1 -0
- data/docs/assets.html +12 -7
- 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 +12 -7
- data/docs/business-logic.html +10 -5
- data/docs/cli.html +26 -26
- data/docs/components.html +61 -64
- data/docs/configuration.html +13 -8
- data/docs/css.html +14 -9
- data/docs/custom-element-tests.html +14 -9
- data/docs/database-access.html +12 -7
- data/docs/database-schema.html +15 -10
- data/docs/deployment.html +10 -5
- data/docs/dev-environment.html +12 -7
- data/docs/dir-structure.html +74 -0
- data/docs/doc-conventions.html +11 -6
- data/docs/end-to-end-tests.html +15 -8
- data/docs/favicon.ico +0 -0
- data/docs/features.html +182 -0
- data/docs/flash-and-session.html +73 -82
- data/docs/form-constraints.html +118 -0
- data/docs/forms.html +57 -367
- data/docs/getting-started.html +15 -10
- data/docs/handlers.html +51 -61
- data/docs/hashmap.json +1 -1
- data/docs/hooks.html +14 -9
- data/docs/i18n.html +12 -7
- data/docs/index.html +11 -6
- data/docs/instrumentation.html +12 -7
- data/docs/javascript.html +17 -12
- data/docs/jobs.html +10 -5
- data/docs/keyword-injection.html +22 -21
- data/docs/layouts.html +12 -20
- data/docs/lsp.html +11 -6
- data/docs/markdown-examples.html +10 -5
- data/docs/middleware.html +10 -5
- data/docs/not-released.html +10 -5
- data/docs/overview.html +11 -138
- data/docs/pages.html +49 -121
- data/docs/recipes/alternate-layouts.html +50 -0
- data/docs/recipes/authentication.html +166 -6
- data/docs/recipes/blank-layouts.html +43 -0
- data/docs/recipes/custom-flash.html +54 -0
- data/docs/recipes/indexed-forms.html +102 -0
- data/docs/recipes/text-field-component.html +129 -0
- data/docs/routes.html +16 -19
- data/docs/security.html +11 -6
- data/docs/seed-data.html +10 -5
- data/docs/space-time-continuum.html +11 -6
- data/docs/tutorial.html +11 -6
- data/docs/unit-tests.html +10 -5
- data/docs/why.html +29 -0
- data/lib/brut/front_end/form.rb +8 -8
- data/lib/brut/front_end/forms/radio_button_group_input.rb +8 -1
- data/lib/brut/front_end/forms/select_input.rb +8 -1
- data/lib/brut/version.rb +1 -1
- data/specs/brut/front_end/forms/radio_button_group_input.spec.rb +54 -0
- data/specs/brut/front_end/forms/select_input.spec.rb +54 -0
- metadata +117 -75
- data/brutrb.com/public/images/logo-300.png +0 -0
- data/brutrb.com/public/images/logo.png +0 -0
- data/docs/assets/LogoStop.X8x-4riz.png +0 -0
- data/docs/assets/ai.md._6HCDL6d.lean.js +0 -1
- data/docs/assets/chunks/@localSearchIndexroot.CeRAdP1K.js +0 -1
- data/docs/assets/components.md.CRUMdRoN.js +0 -104
- data/docs/assets/dev-environment.md.GZv6xvi9.js +0 -11
- data/docs/assets/doc-conventions.md.-kN3Xo5C.js +0 -1
- data/docs/assets/doc-conventions.md.-kN3Xo5C.lean.js +0 -1
- data/docs/assets/end-to-end-tests.md.yfQHC0b5.lean.js +0 -1
- data/docs/assets/flash-and-session.md.BXY8RvT0.js +0 -93
- data/docs/assets/forms.md.B-koVgyw.js +0 -379
- data/docs/assets/forms.md.B-koVgyw.lean.js +0 -1
- data/docs/assets/handlers.md.089DVD3v.js +0 -69
- data/docs/assets/handlers.md.089DVD3v.lean.js +0 -1
- data/docs/assets/keyword-injection.md.Dt2tKREs.js +0 -25
- data/docs/assets/layouts.md.cPnh3NId.lean.js +0 -1
- data/docs/assets/overview.md.DVKRM8zl.js +0 -133
- data/docs/assets/overview.md.DVKRM8zl.lean.js +0 -1
- data/docs/assets/pages.md.BE3kfOc5.js +0 -122
- data/docs/assets/pages.md.BE3kfOc5.lean.js +0 -1
- data/docs/assets/recipes_authentication.md.CAsXf7hk.js +0 -1
- data/docs/assets/recipes_authentication.md.CAsXf7hk.lean.js +0 -1
- data/docs/assets/routes.md.BMM7peut.js +0 -29
- data/docs/assets/space-time-continuum.md.KPUIKysQ.js +0 -1
- data/docs/assets/tutorial.md.BnoGjrdK.js +0 -1
- data/docs/assets/tutorial.md.BnoGjrdK.lean.js +0 -1
- data/docs/images/logo-300.png +0 -0
- data/docs/images/logo.png +0 -0
- /data/docs/assets/{cli.md.RmeA2b0i.lean.js → cli.md.CjsktgFz.lean.js} +0 -0
- /data/docs/assets/{configuration.md.LG-zIBww.lean.js → configuration.md.DeyhpqEx.lean.js} +0 -0
- /data/docs/assets/{css.md.DJgj2clw.lean.js → css.md.CltvJqAa.lean.js} +0 -0
- /data/docs/assets/{custom-element-tests.md.BrYJQEl3.lean.js → custom-element-tests.md.B_rbta32.lean.js} +0 -0
- /data/docs/assets/{database-access.md.C7l-Vuvb.lean.js → database-access.md.gnluu54N.lean.js} +0 -0
- /data/docs/assets/{dev-environment.md.GZv6xvi9.lean.js → dev-environment.md.BroAOLhF.lean.js} +0 -0
@@ -457,7 +457,7 @@ download the same file mulitple times but you want to make each name different a
|
|
457
457
|
</div>
|
458
458
|
|
459
459
|
<div id="footer">
|
460
|
-
Generated on
|
460
|
+
Generated on Tue Jul 8 01:36:10 2025 by
|
461
461
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
462
462
|
0.9.37 (ruby-3.4.4).
|
463
463
|
</div>
|
@@ -1140,7 +1140,7 @@ flash from being more than 1 request old. This is usually sufficient for a hand
|
|
1140
1140
|
</div>
|
1141
1141
|
|
1142
1142
|
<div id="footer">
|
1143
|
-
Generated on
|
1143
|
+
Generated on Tue Jul 8 01:36:09 2025 by
|
1144
1144
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
1145
1145
|
0.9.37 (ruby-3.4.4).
|
1146
1146
|
</div>
|
@@ -525,13 +525,6 @@ values are arrays of <span class='object_link'><a href="Forms/ValidityState.html
|
|
525
525
|
element is the index of the input in the array. This index is used when you have more than one field with the same
|
526
526
|
name.</p>
|
527
527
|
|
528
|
-
<p>form.constraint_violations.each do |input_name, (constraint_violations,index)|
|
529
|
-
# input_name is the input's name, e.g. "email"
|
530
|
-
# constraint_violations is an array of <span class='object_link'><a href="Forms/ValidityState.html" title="Brut::FrontEnd::Forms::ValidityState (class)">Brut::FrontEnd::Forms::ValidityState</a></span> instances, one for each
|
531
|
-
# problem with the field's value
|
532
|
-
# index is the index of the input in the array, e.g. 0 for the first email field, 1 for the second, etc.
|
533
|
-
end</p>
|
534
|
-
|
535
528
|
|
536
529
|
</div>
|
537
530
|
</div>
|
@@ -541,10 +534,15 @@ end</p>
|
|
541
534
|
<h4 class="tag_title">Examples:</h4>
|
542
535
|
|
543
536
|
|
544
|
-
<h5 class="example_title"><div class='inline'><p>
|
537
|
+
<h5 class="example_title"><div class='inline'><p>iterating</p>
|
545
538
|
</div></h5>
|
546
539
|
|
547
|
-
<pre class="example code"><code
|
540
|
+
<pre class="example code"><code><span class='id identifier rubyid_form'>form</span><span class='period'>.</span><span class='id identifier rubyid_constraint_violations'>constraint_violations</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_input_name'>input_name</span><span class='comma'>,</span> <span class='lparen'>(</span><span class='id identifier rubyid_constraint_violations'>constraint_violations</span><span class='comma'>,</span><span class='id identifier rubyid_index'>index</span><span class='rparen'>)</span><span class='op'>|</span>
|
541
|
+
<span class='comment'># input_name is the input's name, e.g. "email"
|
542
|
+
</span> <span class='comment'># constraint_violations is an array of {Brut::FrontEnd::Forms::ValidityState} instances, one for each
|
543
|
+
</span> <span class='comment'># problem with the field's value
|
544
|
+
</span> <span class='comment'># index is the index of the input in the array, e.g. 0 for the first email field, 1 for the second, etc.
|
545
|
+
</span><span class='kw'>end</span></code></pre>
|
548
546
|
|
549
547
|
</div>
|
550
548
|
<p class="tag_title">Parameters:</p>
|
@@ -1029,7 +1027,7 @@ values provided by the user. This can allow a form with values in it to be cons
|
|
1029
1027
|
|
1030
1028
|
|
1031
1029
|
—
|
1032
|
-
<div class='inline'><p>the i18n key fragment representing the constraint. Assume this will be appended to <code>
|
1030
|
+
<div class='inline'><p>the i18n key fragment representing the constraint. Assume this will be appended to <code>cv.be.</code> in order</p>
|
1033
1031
|
</div>
|
1034
1032
|
|
1035
1033
|
</li>
|
@@ -1147,7 +1145,7 @@ will be represented as a key in the resulting hash—only those keys that were p
|
|
1147
1145
|
</div>
|
1148
1146
|
|
1149
1147
|
<div id="footer">
|
1150
|
-
Generated on
|
1148
|
+
Generated on Tue Jul 8 01:36:09 2025 by
|
1151
1149
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
1152
1150
|
0.9.37 (ruby-3.4.4).
|
1153
1151
|
</div>
|
@@ -580,7 +580,7 @@ form-related classes.</p>
|
|
580
580
|
</div>
|
581
581
|
|
582
582
|
<div id="footer">
|
583
|
-
Generated on
|
583
|
+
Generated on Tue Jul 8 01:36:10 2025 by
|
584
584
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
585
585
|
0.9.37 (ruby-3.4.4).
|
586
586
|
</div>
|
@@ -191,7 +191,7 @@
|
|
191
191
|
</div>
|
192
192
|
|
193
193
|
<div id="footer">
|
194
|
-
Generated on
|
194
|
+
Generated on Tue Jul 8 01:36:10 2025 by
|
195
195
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
196
196
|
0.9.37 (ruby-3.4.4).
|
197
197
|
</div>
|
@@ -525,7 +525,7 @@
|
|
525
525
|
</div>
|
526
526
|
|
527
527
|
<div id="footer">
|
528
|
-
Generated on
|
528
|
+
Generated on Tue Jul 8 01:36:10 2025 by
|
529
529
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
530
530
|
0.9.37 (ruby-3.4.4).
|
531
531
|
</div>
|
@@ -1553,7 +1553,7 @@ initializer</p>
|
|
1553
1553
|
</div>
|
1554
1554
|
|
1555
1555
|
<div id="footer">
|
1556
|
-
Generated on
|
1556
|
+
Generated on Tue Jul 8 01:36:10 2025 by
|
1557
1557
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
1558
1558
|
0.9.37 (ruby-3.4.4).
|
1559
1559
|
</div>
|
@@ -537,7 +537,7 @@ Components::Inputs::Select</p>
|
|
537
537
|
</div>
|
538
538
|
|
539
539
|
<div id="footer">
|
540
|
-
Generated on
|
540
|
+
Generated on Tue Jul 8 01:36:09 2025 by
|
541
541
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
542
542
|
0.9.37 (ruby-3.4.4).
|
543
543
|
</div>
|
@@ -1318,7 +1318,7 @@ inputs. <code>nil</code> is allowed only if the input definition is not for an a
|
|
1318
1318
|
</div>
|
1319
1319
|
|
1320
1320
|
<div id="footer">
|
1321
|
-
Generated on
|
1321
|
+
Generated on Tue Jul 8 01:36:10 2025 by
|
1322
1322
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
1323
1323
|
0.9.37 (ruby-3.4.4).
|
1324
1324
|
</div>
|
@@ -111,6 +111,34 @@
|
|
111
111
|
<h2>Instance Attribute Summary <small><a href="#" class="summary_toggle">collapse</a></small></h2>
|
112
112
|
<ul class="summary">
|
113
113
|
|
114
|
+
<li class="public ">
|
115
|
+
<span class="summary_signature">
|
116
|
+
|
117
|
+
<a href="#typed_value-instance_method" title="#typed_value (instance method)">#<strong>typed_value</strong> ⇒ Date|Time|BigDecimal|String|true|false|nil </a>
|
118
|
+
|
119
|
+
|
120
|
+
|
121
|
+
</span>
|
122
|
+
|
123
|
+
|
124
|
+
|
125
|
+
|
126
|
+
<span class="note title readonly">readonly</span>
|
127
|
+
|
128
|
+
|
129
|
+
|
130
|
+
|
131
|
+
|
132
|
+
|
133
|
+
|
134
|
+
|
135
|
+
|
136
|
+
<span class="summary_desc"><div class='inline'><p>The value of the input, as coerced to the type used to evaluate constraints.</p>
|
137
|
+
</div></span>
|
138
|
+
|
139
|
+
</li>
|
140
|
+
|
141
|
+
|
114
142
|
<li class="public ">
|
115
143
|
<span class="summary_signature">
|
116
144
|
|
@@ -307,18 +335,18 @@
|
|
307
335
|
<pre class="lines">
|
308
336
|
|
309
337
|
|
310
|
-
11
|
311
|
-
12
|
312
|
-
13
|
313
|
-
14
|
314
338
|
15
|
315
339
|
16
|
316
340
|
17
|
317
341
|
18
|
318
|
-
19
|
342
|
+
19
|
343
|
+
20
|
344
|
+
21
|
345
|
+
22
|
346
|
+
23</pre>
|
319
347
|
</td>
|
320
348
|
<td>
|
321
|
-
<pre class="code"><span class="info file"># File 'lib/brut/front_end/forms/radio_button_group_input.rb', line
|
349
|
+
<pre class="code"><span class="info file"># File 'lib/brut/front_end/forms/radio_button_group_input.rb', line 15</span>
|
322
350
|
|
323
351
|
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='label'>input_definition:</span><span class='comma'>,</span> <span class='label'>value:</span><span class='comma'>,</span> <span class='label'>index:</span><span class='rparen'>)</span>
|
324
352
|
<span class='ivar'>@input_definition</span> <span class='op'>=</span> <span class='id identifier rubyid_input_definition'>input_definition</span>
|
@@ -342,7 +370,94 @@
|
|
342
370
|
|
343
371
|
<span id=""></span>
|
344
372
|
<div class="method_details first">
|
345
|
-
<h3 class="signature first" id="
|
373
|
+
<h3 class="signature first" id="typed_value-instance_method">
|
374
|
+
|
375
|
+
#<strong>typed_value</strong> ⇒ <tt>Date|Time|BigDecimal|String|true|false|nil</tt> <span class="extras">(readonly)</span>
|
376
|
+
|
377
|
+
|
378
|
+
|
379
|
+
|
380
|
+
|
381
|
+
</h3><div class="docstring">
|
382
|
+
<div class="discussion">
|
383
|
+
<p>The value of the input,
|
384
|
+
as coerced to the type used to evaluate constraints.
|
385
|
+
Returns <code>nil</code> if the value could not be coerced (which likely means
|
386
|
+
there is or will be a constraint violation), <strong>or</strong>
|
387
|
+
if it is a blank String.</p>
|
388
|
+
|
389
|
+
<p>Of note, <code>type=color</code> will return a String here, but that String
|
390
|
+
should be parseable into a hex code, i.e. #XXXXXX, where each "X"
|
391
|
+
is 0-9 or a-f. Further, <code>type=time</code> will also return a string
|
392
|
+
in the format HH:MM or HH:MM:SS, where the time is in 24 hour
|
393
|
+
time. Lastly, <code>type=datetime-local</code> will return a <code>Time</code>, even
|
394
|
+
though the control allows the visitor to choose an invalid time.
|
395
|
+
If there is no <code>valueMissing</code> constraint violation, but this
|
396
|
+
attribute returns <code>nil</code>, <span class='object_link'><a href="#value-instance_method" title="Brut::FrontEnd::Forms::RadioButtonGroupInput#value (method)">#value</a></span> <em>will</em> return the string sent by
|
397
|
+
the browser, even if it's not a real timestamp.</p>
|
398
|
+
|
399
|
+
|
400
|
+
</div>
|
401
|
+
</div>
|
402
|
+
<div class="tags">
|
403
|
+
|
404
|
+
<p class="tag_title">Returns:</p>
|
405
|
+
<ul class="return">
|
406
|
+
|
407
|
+
<li>
|
408
|
+
|
409
|
+
|
410
|
+
<span class='type'>(<tt>Date|Time|BigDecimal|String|true|false|nil</tt>)</span>
|
411
|
+
|
412
|
+
|
413
|
+
|
414
|
+
—
|
415
|
+
<div class='inline'><p>the value of the input,
|
416
|
+
as coerced to the type used to evaluate constraints.
|
417
|
+
Returns <code>nil</code> if the value could not be coerced (which likely means
|
418
|
+
there is or will be a constraint violation), <strong>or</strong>
|
419
|
+
if it is a blank String.</p>
|
420
|
+
|
421
|
+
<p>Of note, <code>type=color</code> will return a String here, but that String
|
422
|
+
should be parseable into a hex code, i.e. #XXXXXX, where each "X"
|
423
|
+
is 0-9 or a-f. Further, <code>type=time</code> will also return a string
|
424
|
+
in the format HH:MM or HH:MM:SS, where the time is in 24 hour
|
425
|
+
time. Lastly, <code>type=datetime-local</code> will return a <code>Time</code>, even
|
426
|
+
though the control allows the visitor to choose an invalid time.
|
427
|
+
If there is no <code>valueMissing</code> constraint violation, but this
|
428
|
+
attribute returns <code>nil</code>, <span class='object_link'><a href="#value-instance_method" title="Brut::FrontEnd::Forms::RadioButtonGroupInput#value (method)">#value</a></span> <em>will</em> return the string sent by
|
429
|
+
the browser, even if it's not a real timestamp.</p>
|
430
|
+
</div>
|
431
|
+
|
432
|
+
</li>
|
433
|
+
|
434
|
+
</ul>
|
435
|
+
|
436
|
+
</div><table class="source_code">
|
437
|
+
<tr>
|
438
|
+
<td>
|
439
|
+
<pre class="lines">
|
440
|
+
|
441
|
+
|
442
|
+
9
|
443
|
+
10
|
444
|
+
11</pre>
|
445
|
+
</td>
|
446
|
+
<td>
|
447
|
+
<pre class="code"><span class="info file"># File 'lib/brut/front_end/forms/radio_button_group_input.rb', line 9</span>
|
448
|
+
|
449
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_typed_value'>typed_value</span>
|
450
|
+
<span class='ivar'>@typed_value</span>
|
451
|
+
<span class='kw'>end</span></pre>
|
452
|
+
</td>
|
453
|
+
</tr>
|
454
|
+
</table>
|
455
|
+
</div>
|
456
|
+
|
457
|
+
|
458
|
+
<span id=""></span>
|
459
|
+
<div class="method_details ">
|
460
|
+
<h3 class="signature " id="validity_state-instance_method">
|
346
461
|
|
347
462
|
#<strong>validity_state</strong> ⇒ <tt><span class='object_link'><a href="ValidityState.html" title="Brut::FrontEnd::Forms::ValidityState (class)">Brut::FrontEnd::Forms::ValidityState</a></span></tt> <span class="extras">(readonly)</span>
|
348
463
|
|
@@ -383,12 +498,12 @@
|
|
383
498
|
<pre class="lines">
|
384
499
|
|
385
500
|
|
386
|
-
|
387
|
-
|
388
|
-
|
501
|
+
12
|
502
|
+
13
|
503
|
+
14</pre>
|
389
504
|
</td>
|
390
505
|
<td>
|
391
|
-
<pre class="code"><span class="info file"># File 'lib/brut/front_end/forms/radio_button_group_input.rb', line
|
506
|
+
<pre class="code"><span class="info file"># File 'lib/brut/front_end/forms/radio_button_group_input.rb', line 12</span>
|
392
507
|
|
393
508
|
<span class='kw'>def</span> <span class='id identifier rubyid_validity_state'>validity_state</span>
|
394
509
|
<span class='ivar'>@validity_state</span>
|
@@ -414,7 +529,7 @@
|
|
414
529
|
<p>Returns the input's value. <strong>DO NOTE</strong> this returns a string. This is
|
415
530
|
because HTML stores these values as Strings. When using a checkbox, in
|
416
531
|
particular, the value will <em>not</em> be a boolean. You cannot do <code>if
|
417
|
-
input.value</code> and expect that work. See #typed_value instead.</p>
|
532
|
+
input.value</code> and expect that work. See <span class='object_link'><a href="#typed_value-instance_method" title="Brut::FrontEnd::Forms::RadioButtonGroupInput#typed_value (method)">#typed_value</a></span> instead.</p>
|
418
533
|
|
419
534
|
|
420
535
|
</div>
|
@@ -435,7 +550,7 @@ input.value</code> and expect that work. See #typed_value instead.</p>
|
|
435
550
|
<div class='inline'><p>the input's value. <strong>DO NOTE</strong> this returns a string. This is
|
436
551
|
because HTML stores these values as Strings. When using a checkbox, in
|
437
552
|
particular, the value will <em>not</em> be a boolean. You cannot do <code>if
|
438
|
-
input.value</code> and expect that work. See #typed_value instead.</p>
|
553
|
+
input.value</code> and expect that work. See <span class='object_link'><a href="#typed_value-instance_method" title="Brut::FrontEnd::Forms::RadioButtonGroupInput#typed_value (method)">#typed_value</a></span> instead.</p>
|
439
554
|
</div>
|
440
555
|
|
441
556
|
</li>
|
@@ -532,12 +647,12 @@ that <code>key</code> should not be a key used for client-side validations.</p>
|
|
532
647
|
<pre class="lines">
|
533
648
|
|
534
649
|
|
535
|
-
|
536
|
-
|
537
|
-
|
650
|
+
48
|
651
|
+
49
|
652
|
+
50</pre>
|
538
653
|
</td>
|
539
654
|
<td>
|
540
|
-
<pre class="code"><span class="info file"># File 'lib/brut/front_end/forms/radio_button_group_input.rb', line
|
655
|
+
<pre class="code"><span class="info file"># File 'lib/brut/front_end/forms/radio_button_group_input.rb', line 48</span>
|
541
656
|
|
542
657
|
<span class='kw'>def</span> <span class='id identifier rubyid_server_side_constraint_violation'>server_side_constraint_violation</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span><span class='id identifier rubyid_context'>context</span><span class='op'>=</span><span class='kw'>true</span><span class='rparen'>)</span>
|
543
658
|
<span class='ivar'>@validity_state</span><span class='period'>.</span><span class='id identifier rubyid_server_side_constraint_violation'>server_side_constraint_violation</span><span class='lparen'>(</span><span class='label'>key:</span> <span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='label'>context:</span> <span class='id identifier rubyid_context'>context</span><span class='rparen'>)</span>
|
@@ -589,10 +704,10 @@ that <code>key</code> should not be a key used for client-side validations.</p>
|
|
589
704
|
<pre class="lines">
|
590
705
|
|
591
706
|
|
592
|
-
|
707
|
+
53</pre>
|
593
708
|
</td>
|
594
709
|
<td>
|
595
|
-
<pre class="code"><span class="info file"># File 'lib/brut/front_end/forms/radio_button_group_input.rb', line
|
710
|
+
<pre class="code"><span class="info file"># File 'lib/brut/front_end/forms/radio_button_group_input.rb', line 53</span>
|
596
711
|
|
597
712
|
<span class='kw'>def</span> <span class='id identifier rubyid_valid?'>valid?</span> <span class='op'>=</span> <span class='ivar'>@validity_state</span><span class='period'>.</span><span class='id identifier rubyid_valid?'>valid?</span></pre>
|
598
713
|
</td>
|
@@ -605,7 +720,7 @@ that <code>key</code> should not be a key used for client-side validations.</p>
|
|
605
720
|
</div>
|
606
721
|
|
607
722
|
<div id="footer">
|
608
|
-
Generated on
|
723
|
+
Generated on Tue Jul 8 01:36:10 2025 by
|
609
724
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
610
725
|
0.9.37 (ruby-3.4.4).
|
611
726
|
</div>
|
@@ -577,7 +577,7 @@ supported by the browser. Also note that arrays of radio button groups are not
|
|
577
577
|
</div>
|
578
578
|
|
579
579
|
<div id="footer">
|
580
|
-
Generated on
|
580
|
+
Generated on Tue Jul 8 01:36:11 2025 by
|
581
581
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
582
582
|
0.9.37 (ruby-3.4.4).
|
583
583
|
</div>
|
@@ -121,6 +121,34 @@
|
|
121
121
|
<h2>Instance Attribute Summary <small><a href="#" class="summary_toggle">collapse</a></small></h2>
|
122
122
|
<ul class="summary">
|
123
123
|
|
124
|
+
<li class="public ">
|
125
|
+
<span class="summary_signature">
|
126
|
+
|
127
|
+
<a href="#typed_value-instance_method" title="#typed_value (instance method)">#<strong>typed_value</strong> ⇒ Date|Time|BigDecimal|String|true|false|nil </a>
|
128
|
+
|
129
|
+
|
130
|
+
|
131
|
+
</span>
|
132
|
+
|
133
|
+
|
134
|
+
|
135
|
+
|
136
|
+
<span class="note title readonly">readonly</span>
|
137
|
+
|
138
|
+
|
139
|
+
|
140
|
+
|
141
|
+
|
142
|
+
|
143
|
+
|
144
|
+
|
145
|
+
|
146
|
+
<span class="summary_desc"><div class='inline'><p>The value of the input, as coerced to the type used to evaluate constraints.</p>
|
147
|
+
</div></span>
|
148
|
+
|
149
|
+
</li>
|
150
|
+
|
151
|
+
|
124
152
|
<li class="public ">
|
125
153
|
<span class="summary_signature">
|
126
154
|
|
@@ -317,15 +345,15 @@
|
|
317
345
|
<pre class="lines">
|
318
346
|
|
319
347
|
|
320
|
-
12
|
321
|
-
13
|
322
|
-
14
|
323
|
-
15
|
324
348
|
16
|
325
|
-
17
|
349
|
+
17
|
350
|
+
18
|
351
|
+
19
|
352
|
+
20
|
353
|
+
21</pre>
|
326
354
|
</td>
|
327
355
|
<td>
|
328
|
-
<pre class="code"><span class="info file"># File 'lib/brut/front_end/forms/select_input.rb', line
|
356
|
+
<pre class="code"><span class="info file"># File 'lib/brut/front_end/forms/select_input.rb', line 16</span>
|
329
357
|
|
330
358
|
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='label'>input_definition:</span><span class='comma'>,</span> <span class='label'>value:</span><span class='comma'>,</span> <span class='label'>index:</span><span class='rparen'>)</span>
|
331
359
|
<span class='ivar'>@input_definition</span> <span class='op'>=</span> <span class='id identifier rubyid_input_definition'>input_definition</span>
|
@@ -346,7 +374,94 @@
|
|
346
374
|
|
347
375
|
<span id=""></span>
|
348
376
|
<div class="method_details first">
|
349
|
-
<h3 class="signature first" id="
|
377
|
+
<h3 class="signature first" id="typed_value-instance_method">
|
378
|
+
|
379
|
+
#<strong>typed_value</strong> ⇒ <tt>Date|Time|BigDecimal|String|true|false|nil</tt> <span class="extras">(readonly)</span>
|
380
|
+
|
381
|
+
|
382
|
+
|
383
|
+
|
384
|
+
|
385
|
+
</h3><div class="docstring">
|
386
|
+
<div class="discussion">
|
387
|
+
<p>The value of the input,
|
388
|
+
as coerced to the type used to evaluate constraints.
|
389
|
+
Returns <code>nil</code> if the value could not be coerced (which likely means
|
390
|
+
there is or will be a constraint violation), <strong>or</strong>
|
391
|
+
if it is a blank String.</p>
|
392
|
+
|
393
|
+
<p>Of note, <code>type=color</code> will return a String here, but that String
|
394
|
+
should be parseable into a hex code, i.e. #XXXXXX, where each "X"
|
395
|
+
is 0-9 or a-f. Further, <code>type=time</code> will also return a string
|
396
|
+
in the format HH:MM or HH:MM:SS, where the time is in 24 hour
|
397
|
+
time. Lastly, <code>type=datetime-local</code> will return a <code>Time</code>, even
|
398
|
+
though the control allows the visitor to choose an invalid time.
|
399
|
+
If there is no <code>valueMissing</code> constraint violation, but this
|
400
|
+
attribute returns <code>nil</code>, <span class='object_link'><a href="#value-instance_method" title="Brut::FrontEnd::Forms::SelectInput#value (method)">#value</a></span> <em>will</em> return the string sent by
|
401
|
+
the browser, even if it's not a real timestamp.</p>
|
402
|
+
|
403
|
+
|
404
|
+
</div>
|
405
|
+
</div>
|
406
|
+
<div class="tags">
|
407
|
+
|
408
|
+
<p class="tag_title">Returns:</p>
|
409
|
+
<ul class="return">
|
410
|
+
|
411
|
+
<li>
|
412
|
+
|
413
|
+
|
414
|
+
<span class='type'>(<tt>Date|Time|BigDecimal|String|true|false|nil</tt>)</span>
|
415
|
+
|
416
|
+
|
417
|
+
|
418
|
+
—
|
419
|
+
<div class='inline'><p>the value of the input,
|
420
|
+
as coerced to the type used to evaluate constraints.
|
421
|
+
Returns <code>nil</code> if the value could not be coerced (which likely means
|
422
|
+
there is or will be a constraint violation), <strong>or</strong>
|
423
|
+
if it is a blank String.</p>
|
424
|
+
|
425
|
+
<p>Of note, <code>type=color</code> will return a String here, but that String
|
426
|
+
should be parseable into a hex code, i.e. #XXXXXX, where each "X"
|
427
|
+
is 0-9 or a-f. Further, <code>type=time</code> will also return a string
|
428
|
+
in the format HH:MM or HH:MM:SS, where the time is in 24 hour
|
429
|
+
time. Lastly, <code>type=datetime-local</code> will return a <code>Time</code>, even
|
430
|
+
though the control allows the visitor to choose an invalid time.
|
431
|
+
If there is no <code>valueMissing</code> constraint violation, but this
|
432
|
+
attribute returns <code>nil</code>, <span class='object_link'><a href="#value-instance_method" title="Brut::FrontEnd::Forms::SelectInput#value (method)">#value</a></span> <em>will</em> return the string sent by
|
433
|
+
the browser, even if it's not a real timestamp.</p>
|
434
|
+
</div>
|
435
|
+
|
436
|
+
</li>
|
437
|
+
|
438
|
+
</ul>
|
439
|
+
|
440
|
+
</div><table class="source_code">
|
441
|
+
<tr>
|
442
|
+
<td>
|
443
|
+
<pre class="lines">
|
444
|
+
|
445
|
+
|
446
|
+
10
|
447
|
+
11
|
448
|
+
12</pre>
|
449
|
+
</td>
|
450
|
+
<td>
|
451
|
+
<pre class="code"><span class="info file"># File 'lib/brut/front_end/forms/select_input.rb', line 10</span>
|
452
|
+
|
453
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_typed_value'>typed_value</span>
|
454
|
+
<span class='ivar'>@typed_value</span>
|
455
|
+
<span class='kw'>end</span></pre>
|
456
|
+
</td>
|
457
|
+
</tr>
|
458
|
+
</table>
|
459
|
+
</div>
|
460
|
+
|
461
|
+
|
462
|
+
<span id=""></span>
|
463
|
+
<div class="method_details ">
|
464
|
+
<h3 class="signature " id="validity_state-instance_method">
|
350
465
|
|
351
466
|
#<strong>validity_state</strong> ⇒ <tt><span class='object_link'><a href="ValidityState.html" title="Brut::FrontEnd::Forms::ValidityState (class)">Brut::FrontEnd::Forms::ValidityState</a></span></tt> <span class="extras">(readonly)</span>
|
352
467
|
|
@@ -387,12 +502,12 @@
|
|
387
502
|
<pre class="lines">
|
388
503
|
|
389
504
|
|
390
|
-
|
391
|
-
|
392
|
-
|
505
|
+
13
|
506
|
+
14
|
507
|
+
15</pre>
|
393
508
|
</td>
|
394
509
|
<td>
|
395
|
-
<pre class="code"><span class="info file"># File 'lib/brut/front_end/forms/select_input.rb', line
|
510
|
+
<pre class="code"><span class="info file"># File 'lib/brut/front_end/forms/select_input.rb', line 13</span>
|
396
511
|
|
397
512
|
<span class='kw'>def</span> <span class='id identifier rubyid_validity_state'>validity_state</span>
|
398
513
|
<span class='ivar'>@validity_state</span>
|
@@ -418,7 +533,7 @@
|
|
418
533
|
<p>Returns the input's value. <strong>DO NOTE</strong> this returns a string. This is
|
419
534
|
because HTML stores these values as Strings. When using a checkbox, in
|
420
535
|
particular, the value will <em>not</em> be a boolean. You cannot do <code>if
|
421
|
-
input.value</code> and expect that work. See #typed_value instead.</p>
|
536
|
+
input.value</code> and expect that work. See <span class='object_link'><a href="#typed_value-instance_method" title="Brut::FrontEnd::Forms::SelectInput#typed_value (method)">#typed_value</a></span> instead.</p>
|
422
537
|
|
423
538
|
|
424
539
|
</div>
|
@@ -439,7 +554,7 @@ input.value</code> and expect that work. See #typed_value instead.</p>
|
|
439
554
|
<div class='inline'><p>the input's value. <strong>DO NOTE</strong> this returns a string. This is
|
440
555
|
because HTML stores these values as Strings. When using a checkbox, in
|
441
556
|
particular, the value will <em>not</em> be a boolean. You cannot do <code>if
|
442
|
-
input.value</code> and expect that work. See #typed_value instead.</p>
|
557
|
+
input.value</code> and expect that work. See <span class='object_link'><a href="#typed_value-instance_method" title="Brut::FrontEnd::Forms::SelectInput#typed_value (method)">#typed_value</a></span> instead.</p>
|
443
558
|
</div>
|
444
559
|
|
445
560
|
</li>
|
@@ -536,12 +651,12 @@ that <code>key</code> should not be a key used for client-side validations.</p>
|
|
536
651
|
<pre class="lines">
|
537
652
|
|
538
653
|
|
539
|
-
|
540
|
-
|
541
|
-
|
654
|
+
46
|
655
|
+
47
|
656
|
+
48</pre>
|
542
657
|
</td>
|
543
658
|
<td>
|
544
|
-
<pre class="code"><span class="info file"># File 'lib/brut/front_end/forms/select_input.rb', line
|
659
|
+
<pre class="code"><span class="info file"># File 'lib/brut/front_end/forms/select_input.rb', line 46</span>
|
545
660
|
|
546
661
|
<span class='kw'>def</span> <span class='id identifier rubyid_server_side_constraint_violation'>server_side_constraint_violation</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span><span class='id identifier rubyid_context'>context</span><span class='op'>=</span><span class='kw'>true</span><span class='rparen'>)</span>
|
547
662
|
<span class='ivar'>@validity_state</span><span class='period'>.</span><span class='id identifier rubyid_server_side_constraint_violation'>server_side_constraint_violation</span><span class='lparen'>(</span><span class='label'>key:</span> <span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='label'>context:</span> <span class='id identifier rubyid_context'>context</span><span class='rparen'>)</span>
|
@@ -593,10 +708,10 @@ that <code>key</code> should not be a key used for client-side validations.</p>
|
|
593
708
|
<pre class="lines">
|
594
709
|
|
595
710
|
|
596
|
-
|
711
|
+
51</pre>
|
597
712
|
</td>
|
598
713
|
<td>
|
599
|
-
<pre class="code"><span class="info file"># File 'lib/brut/front_end/forms/select_input.rb', line
|
714
|
+
<pre class="code"><span class="info file"># File 'lib/brut/front_end/forms/select_input.rb', line 51</span>
|
600
715
|
|
601
716
|
<span class='kw'>def</span> <span class='id identifier rubyid_valid?'>valid?</span> <span class='op'>=</span> <span class='ivar'>@validity_state</span><span class='period'>.</span><span class='id identifier rubyid_valid?'>valid?</span></pre>
|
602
717
|
</td>
|
@@ -609,7 +724,7 @@ that <code>key</code> should not be a key used for client-side validations.</p>
|
|
609
724
|
</div>
|
610
725
|
|
611
726
|
<div id="footer">
|
612
|
-
Generated on
|
727
|
+
Generated on Tue Jul 8 01:36:10 2025 by
|
613
728
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
614
729
|
0.9.37 (ruby-3.4.4).
|
615
730
|
</div>
|
@@ -572,7 +572,7 @@ such as implementing a <span class='object_link'><a href="../../BackEnd/Validato
|
|
572
572
|
</div>
|
573
573
|
|
574
574
|
<div id="footer">
|
575
|
-
Generated on
|
575
|
+
Generated on Tue Jul 8 01:36:10 2025 by
|
576
576
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
577
577
|
0.9.37 (ruby-3.4.4).
|
578
578
|
</div>
|
@@ -649,7 +649,7 @@ on your use-case.</p>
|
|
649
649
|
</div>
|
650
650
|
|
651
651
|
<div id="footer">
|
652
|
-
Generated on
|
652
|
+
Generated on Tue Jul 8 01:36:10 2025 by
|
653
653
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
654
654
|
0.9.37 (ruby-3.4.4).
|
655
655
|
</div>
|
@@ -117,7 +117,7 @@
|
|
117
117
|
</div>
|
118
118
|
|
119
119
|
<div id="footer">
|
120
|
-
Generated on
|
120
|
+
Generated on Tue Jul 8 01:36:09 2025 by
|
121
121
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
122
122
|
0.9.37 (ruby-3.4.4).
|
123
123
|
</div>
|
@@ -367,7 +367,7 @@ something that responds to <code>each</code>.</p>
|
|
367
367
|
</div>
|
368
368
|
|
369
369
|
<div id="footer">
|
370
|
-
Generated on
|
370
|
+
Generated on Tue Jul 8 01:36:10 2025 by
|
371
371
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
372
372
|
0.9.37 (ruby-3.4.4).
|
373
373
|
</div>
|
@@ -432,7 +432,7 @@ returns is returned here.</p>
|
|
432
432
|
</div>
|
433
433
|
|
434
434
|
<div id="footer">
|
435
|
-
Generated on
|
435
|
+
Generated on Tue Jul 8 01:36:10 2025 by
|
436
436
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
437
437
|
0.9.37 (ruby-3.4.4).
|
438
438
|
</div>
|