brut 0.8.0 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +9 -0
- data/CHANGELOG.md +13 -0
- data/Dockerfile.dx +8 -1
- data/Gemfile.lock +101 -63
- data/bin/ci +9 -5
- data/bin/docs +1 -1
- data/bin/generate-and-run-rubocop +52 -0
- data/bin/rubocop +27 -0
- data/bin/setup +46 -0
- data/bin/test +18 -0
- data/brut-css/bin/publish +1 -1
- data/brut-css/package-lock.json +2 -2
- data/brut-css/package.json +1 -1
- data/brut-js/bin/publish +1 -1
- data/brut-js/package-lock.json +2 -2
- data/brut-js/package.json +1 -1
- data/brut-js/specs/ConfirmSubmit.spec.js +32 -1
- data/brut-js/src/ConfirmSubmit.js +28 -7
- data/brut.gemspec +32 -26
- data/brutrb.com/.vitepress/config.mjs +3 -0
- data/brutrb.com/database-schema.md +1 -1
- data/brutrb.com/images/tutorial/basic-form-with-violations.png +0 -0
- data/brutrb.com/images/tutorial/basic-form.png +0 -0
- data/brutrb.com/images/tutorial/initial-home-page.png +0 -0
- data/brutrb.com/images/tutorial/new-post-editor.png +0 -0
- data/brutrb.com/images/tutorial/new-post-home-page.png +0 -0
- data/brutrb.com/images/tutorial/styled-form-with-server-side-violations.png +0 -0
- data/brutrb.com/images/tutorial/styled-form-with-violations.png +0 -0
- data/brutrb.com/images/tutorial/styled-home-page-with-posts.png +0 -0
- data/brutrb.com/images/tutorial/styled-home-page.png +0 -0
- data/brutrb.com/images/tutorial/welcome-to-brut.png +0 -0
- data/brutrb.com/recipes/migrations.md +1 -1
- data/brutrb.com/tutorial.md +1728 -3
- data/docker-compose.dx.yml +3 -0
- data/docs/404.html +2 -2
- data/docs/adrs.html +3 -3
- data/docs/ai.html +3 -3
- data/docs/api/Brut/BackEnd/SeedData.html +2 -2
- data/docs/api/Brut/BackEnd/Sidekiq/Middlewares/Server/FlushSpans.html +2 -2
- data/docs/api/Brut/BackEnd/Sidekiq/Middlewares/Server.html +2 -2
- data/docs/api/Brut/BackEnd/Sidekiq/Middlewares.html +2 -2
- data/docs/api/Brut/BackEnd/Sidekiq.html +2 -2
- data/docs/api/Brut/BackEnd/Validators/FormValidator.html +2 -2
- data/docs/api/Brut/BackEnd/Validators.html +2 -2
- data/docs/api/Brut/BackEnd.html +2 -2
- data/docs/api/Brut/CLI/App.html +2 -2
- data/docs/api/Brut/CLI/AppRunner.html +2 -2
- data/docs/api/Brut/CLI/Apps/BuildAssets/All.html +2 -2
- data/docs/api/Brut/CLI/Apps/BuildAssets/CSS.html +2 -2
- data/docs/api/Brut/CLI/Apps/BuildAssets/Images.html +2 -2
- data/docs/api/Brut/CLI/Apps/BuildAssets/JS.html +2 -2
- data/docs/api/Brut/CLI/Apps/BuildAssets.html +2 -2
- data/docs/api/Brut/CLI/Apps/DB/Create.html +2 -2
- data/docs/api/Brut/CLI/Apps/DB/Drop.html +2 -2
- data/docs/api/Brut/CLI/Apps/DB/Migrate.html +2 -2
- data/docs/api/Brut/CLI/Apps/DB/NewMigration.html +2 -2
- data/docs/api/Brut/CLI/Apps/DB/Rebuild.html +2 -2
- data/docs/api/Brut/CLI/Apps/DB/Seed.html +2 -2
- data/docs/api/Brut/CLI/Apps/DB/Status.html +2 -2
- data/docs/api/Brut/CLI/Apps/DB.html +2 -2
- data/docs/api/Brut/CLI/Apps/DeployBase/GitChecks.html +2 -2
- data/docs/api/Brut/CLI/Apps/DeployBase.html +2 -2
- data/docs/api/Brut/CLI/Apps/HerokuContainerBasedDeploy/Deploy.html +3 -3
- data/docs/api/Brut/CLI/Apps/HerokuContainerBasedDeploy.html +2 -2
- data/docs/api/Brut/CLI/Apps/Scaffold/Action/Route.html +2 -2
- data/docs/api/Brut/CLI/Apps/Scaffold/Action.html +2 -2
- data/docs/api/Brut/CLI/Apps/Scaffold/Component.html +2 -2
- data/docs/api/Brut/CLI/Apps/Scaffold/CustomElementTest.html +2 -2
- data/docs/api/Brut/CLI/Apps/Scaffold/DbModel.html +2 -2
- data/docs/api/Brut/CLI/Apps/Scaffold/E2ETest.html +2 -2
- data/docs/api/Brut/CLI/Apps/Scaffold/Form.html +2 -2
- data/docs/api/Brut/CLI/Apps/Scaffold/Page/Route.html +2 -2
- data/docs/api/Brut/CLI/Apps/Scaffold/Page.html +2 -2
- data/docs/api/Brut/CLI/Apps/Scaffold/RoutesEditor.html +2 -2
- data/docs/api/Brut/CLI/Apps/Scaffold/Test.html +3 -3
- data/docs/api/Brut/CLI/Apps/Scaffold.html +2 -2
- data/docs/api/Brut/CLI/Apps/Test/Audit.html +2 -2
- data/docs/api/Brut/CLI/Apps/Test/E2e.html +2 -2
- data/docs/api/Brut/CLI/Apps/Test/JS.html +2 -2
- data/docs/api/Brut/CLI/Apps/Test/Run.html +2 -2
- data/docs/api/Brut/CLI/Apps/Test.html +2 -2
- data/docs/api/Brut/CLI/Apps.html +2 -2
- data/docs/api/Brut/CLI/Command.html +2 -2
- data/docs/api/Brut/CLI/Error.html +2 -2
- data/docs/api/Brut/CLI/ExecutionResults/Result.html +2 -2
- data/docs/api/Brut/CLI/ExecutionResults.html +2 -2
- data/docs/api/Brut/CLI/Executor.html +2 -2
- data/docs/api/Brut/CLI/InvalidOption.html +2 -2
- data/docs/api/Brut/CLI/Options.html +80 -2
- data/docs/api/Brut/CLI/Output.html +2 -2
- data/docs/api/Brut/CLI/SystemExecError.html +2 -2
- data/docs/api/Brut/CLI.html +2 -2
- data/docs/api/Brut/FactoryBot.html +3 -3
- data/docs/api/Brut/Framework/App.html +3 -3
- data/docs/api/Brut/Framework/Config.html +27 -15
- data/docs/api/Brut/Framework/Container.html +2 -2
- data/docs/api/Brut/Framework/Error.html +2 -2
- data/docs/api/Brut/Framework/Errors/AbstractMethod.html +2 -2
- data/docs/api/Brut/Framework/Errors/Bug.html +2 -2
- data/docs/api/Brut/Framework/Errors/MissingConfiguration.html +2 -2
- data/docs/api/Brut/Framework/Errors/MissingParameter.html +2 -2
- data/docs/api/Brut/Framework/Errors/NoClassForPath.html +2 -2
- data/docs/api/Brut/Framework/Errors/NotFound.html +2 -2
- data/docs/api/Brut/Framework/Errors/NotImplemented.html +2 -2
- data/docs/api/Brut/Framework/Errors.html +2 -2
- data/docs/api/Brut/Framework/FussyTypeEnforcement.html +2 -2
- data/docs/api/Brut/Framework/MCP.html +21 -11
- data/docs/api/Brut/Framework/ProjectEnvironment.html +2 -2
- data/docs/api/Brut/Framework.html +2 -2
- data/docs/api/Brut/FrontEnd/AssetPathResolver.html +2 -2
- data/docs/api/Brut/FrontEnd/Component/Helpers.html +2 -2
- data/docs/api/Brut/FrontEnd/Component.html +2 -2
- data/docs/api/Brut/FrontEnd/Components/ConstraintViolations.html +2 -2
- data/docs/api/Brut/FrontEnd/Components/FormTag.html +4 -4
- data/docs/api/Brut/FrontEnd/Components/I18nTranslations.html +2 -2
- data/docs/api/Brut/FrontEnd/Components/Input.html +2 -2
- data/docs/api/Brut/FrontEnd/Components/Inputs/CsrfToken.html +2 -2
- data/docs/api/Brut/FrontEnd/Components/Inputs/InputTag.html +2 -2
- data/docs/api/Brut/FrontEnd/Components/Inputs/RadioButton.html +2 -2
- data/docs/api/Brut/FrontEnd/Components/Inputs/SelectTagWithOptions.html +2 -2
- data/docs/api/Brut/FrontEnd/Components/Inputs/TextareaTag.html +2 -2
- data/docs/api/Brut/FrontEnd/Components/Inputs.html +2 -2
- data/docs/api/Brut/FrontEnd/Components/LocaleDetection.html +2 -2
- data/docs/api/Brut/FrontEnd/Components/PageIdentifier.html +2 -2
- data/docs/api/Brut/FrontEnd/Components/TimeTag.html +2 -2
- data/docs/api/Brut/FrontEnd/Components/Traceparent.html +2 -2
- data/docs/api/Brut/FrontEnd/Components.html +2 -2
- data/docs/api/Brut/FrontEnd/CsrfProtector.html +250 -0
- data/docs/api/Brut/FrontEnd/Download.html +2 -2
- data/docs/api/Brut/FrontEnd/Flash.html +2 -2
- data/docs/api/Brut/FrontEnd/Form.html +6 -6
- data/docs/api/Brut/FrontEnd/Forms/ConstraintViolation.html +2 -2
- data/docs/api/Brut/FrontEnd/Forms/Input/Color.html +2 -2
- data/docs/api/Brut/FrontEnd/Forms/Input/TimeOfDay.html +2 -2
- data/docs/api/Brut/FrontEnd/Forms/Input.html +2 -2
- data/docs/api/Brut/FrontEnd/Forms/InputDeclarations.html +2 -2
- data/docs/api/Brut/FrontEnd/Forms/InputDefinition.html +2 -2
- data/docs/api/Brut/FrontEnd/Forms/RadioButtonGroupInput.html +2 -2
- data/docs/api/Brut/FrontEnd/Forms/RadioButtonGroupInputDefinition.html +2 -2
- data/docs/api/Brut/FrontEnd/Forms/SelectInput.html +2 -2
- data/docs/api/Brut/FrontEnd/Forms/SelectInputDefinition.html +2 -2
- data/docs/api/Brut/FrontEnd/Forms/ValidityState.html +2 -2
- data/docs/api/Brut/FrontEnd/Forms.html +2 -2
- data/docs/api/Brut/FrontEnd/GenericResponse.html +2 -2
- data/docs/api/Brut/FrontEnd/Handler.html +2 -2
- data/docs/api/Brut/FrontEnd/Handlers/CspReportingHandler.html +2 -2
- data/docs/api/Brut/FrontEnd/Handlers/InstrumentationHandler/TraceParent.html +2 -2
- data/docs/api/Brut/FrontEnd/Handlers/InstrumentationHandler.html +2 -2
- data/docs/api/Brut/FrontEnd/Handlers/LocaleDetectionHandler.html +2 -2
- data/docs/api/Brut/FrontEnd/Handlers/MissingHandler/Form.html +2 -2
- data/docs/api/Brut/FrontEnd/Handlers/MissingHandler.html +2 -2
- data/docs/api/Brut/FrontEnd/Handlers.html +2 -2
- data/docs/api/Brut/FrontEnd/HandlingResults.html +2 -2
- data/docs/api/Brut/FrontEnd/HttpMethod.html +2 -2
- data/docs/api/Brut/FrontEnd/HttpStatus.html +2 -2
- data/docs/api/Brut/FrontEnd/InlineSvgLocator.html +2 -2
- data/docs/api/Brut/FrontEnd/Layout.html +2 -2
- data/docs/api/Brut/FrontEnd/Middleware.html +2 -2
- data/docs/api/Brut/FrontEnd/Middlewares/AnnotateBrutOwnedPaths.html +2 -2
- data/docs/api/Brut/FrontEnd/Middlewares/Favicon.html +2 -2
- data/docs/api/Brut/FrontEnd/Middlewares/OpenTelemetrySpan.html +2 -2
- data/docs/api/Brut/FrontEnd/Middlewares/ReloadApp.html +2 -2
- data/docs/api/Brut/FrontEnd/Middlewares.html +2 -2
- data/docs/api/Brut/FrontEnd/Page.html +2 -2
- data/docs/api/Brut/FrontEnd/Pages/MissingPage.html +2 -2
- data/docs/api/Brut/FrontEnd/Pages.html +2 -2
- data/docs/api/Brut/FrontEnd/RequestContext.html +2 -2
- data/docs/api/Brut/FrontEnd/RouteHook.html +2 -2
- data/docs/api/Brut/FrontEnd/RouteHooks/AgeFlash.html +2 -2
- data/docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineScripts.html +2 -2
- data/docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineStylesOrScripts/ReportOnly.html +2 -2
- data/docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineStylesOrScripts.html +2 -2
- data/docs/api/Brut/FrontEnd/RouteHooks/LocaleDetection.html +2 -2
- data/docs/api/Brut/FrontEnd/RouteHooks/SetupRequestContext.html +2 -2
- data/docs/api/Brut/FrontEnd/RouteHooks.html +2 -2
- data/docs/api/Brut/FrontEnd/Routing/FormHandlerRoute.html +2 -2
- data/docs/api/Brut/FrontEnd/Routing/FormRoute.html +2 -2
- data/docs/api/Brut/FrontEnd/Routing/MissingForm.html +2 -2
- data/docs/api/Brut/FrontEnd/Routing/MissingHandler.html +2 -2
- data/docs/api/Brut/FrontEnd/Routing/MissingPage.html +2 -2
- data/docs/api/Brut/FrontEnd/Routing/MissingPath.html +2 -2
- data/docs/api/Brut/FrontEnd/Routing/PageRoute.html +2 -2
- data/docs/api/Brut/FrontEnd/Routing/Route.html +2 -2
- data/docs/api/Brut/FrontEnd/Routing.html +2 -2
- data/docs/api/Brut/FrontEnd/Session.html +2 -2
- data/docs/api/Brut/FrontEnd.html +3 -3
- data/docs/api/Brut/I18n/BaseMethods.html +3 -3
- data/docs/api/Brut/I18n/ForBackEnd.html +2 -2
- data/docs/api/Brut/I18n/ForCLI.html +2 -2
- data/docs/api/Brut/I18n/ForHTML.html +2 -2
- data/docs/api/Brut/I18n/HTTPAcceptLanguage/AlwaysEnglish.html +2 -2
- data/docs/api/Brut/I18n/HTTPAcceptLanguage.html +2 -2
- data/docs/api/Brut/I18n.html +2 -2
- data/docs/api/Brut/Instrumentation/LoggerSpanExporter.html +2 -2
- data/docs/api/Brut/Instrumentation/OpenTelemetry/NormalizedAttributes.html +2 -2
- data/docs/api/Brut/Instrumentation/OpenTelemetry/Span.html +2 -2
- data/docs/api/Brut/Instrumentation/OpenTelemetry.html +2 -2
- data/docs/api/Brut/Instrumentation.html +2 -2
- data/docs/api/Brut/RubocopConfig.html +237 -0
- data/docs/api/Brut/SinatraHelpers/ClassMethods.html +2 -2
- data/docs/api/Brut/SinatraHelpers.html +2 -2
- data/docs/api/Brut/SpecSupport/ClockSupport.html +2 -2
- data/docs/api/Brut/SpecSupport/ComponentSupport.html +7 -13
- data/docs/api/Brut/SpecSupport/E2ETestServer.html +2 -2
- data/docs/api/Brut/SpecSupport/E2eSupport.html +2 -2
- data/docs/api/Brut/SpecSupport/EnhancedNode.html +2 -2
- data/docs/api/Brut/SpecSupport/FlashSupport.html +2 -2
- data/docs/api/Brut/SpecSupport/GeneralSupport/ClassMethods.html +2 -2
- data/docs/api/Brut/SpecSupport/GeneralSupport.html +2 -2
- data/docs/api/Brut/SpecSupport/HandlerSupport.html +2 -2
- data/docs/api/Brut/SpecSupport/Matchers/BeABug.html +2 -2
- data/docs/api/Brut/SpecSupport/Matchers/BePageFor.html +2 -2
- data/docs/api/Brut/SpecSupport/Matchers/BeRoutingFor.html +2 -2
- data/docs/api/Brut/SpecSupport/Matchers/HaveConstraintViolation.html +2 -2
- data/docs/api/Brut/SpecSupport/Matchers/HaveGenerated.html +2 -2
- data/docs/api/Brut/SpecSupport/Matchers/HaveHTMLAttribute.html +2 -2
- data/docs/api/Brut/SpecSupport/Matchers/HaveI18nString.html +2 -2
- data/docs/api/Brut/SpecSupport/Matchers/HaveLinkTo.html +2 -2
- data/docs/api/Brut/SpecSupport/Matchers/HaveRedirectedTo.html +2 -2
- data/docs/api/Brut/SpecSupport/Matchers/HaveReturnedHttpStatus.html +2 -2
- data/docs/api/Brut/SpecSupport/Matchers/HaveReturnedRackResponse.html +2 -2
- data/docs/api/Brut/SpecSupport/Matchers.html +2 -2
- data/docs/api/Brut/SpecSupport/RSpecSetup/OptionalSidekiqSupport.html +2 -2
- data/docs/api/Brut/SpecSupport/RSpecSetup.html +4 -4
- data/docs/api/Brut/SpecSupport/SessionSupport.html +2 -2
- data/docs/api/Brut/SpecSupport.html +2 -2
- data/docs/api/Brut.html +128 -12
- data/docs/api/Clock.html +2 -2
- data/docs/api/ModuleName.html +28 -28
- data/docs/api/RichString.html +22 -22
- data/docs/api/SemanticLogger/Appender/Async.html +2 -2
- data/docs/api/Sequel/Extensions/BrutInstrumentation.html +2 -2
- data/docs/api/Sequel/Extensions/BrutMigrations.html +2 -2
- data/docs/api/Sequel/Extensions.html +2 -2
- data/docs/api/Sequel/Plugins/CreatedAt/InstanceMethods.html +2 -2
- data/docs/api/Sequel/Plugins/CreatedAt.html +2 -2
- data/docs/api/Sequel/Plugins/ExternalId/ClassMethods.html +2 -2
- data/docs/api/Sequel/Plugins/ExternalId/InstanceMethods.html +2 -2
- data/docs/api/Sequel/Plugins/ExternalId.html +2 -2
- data/docs/api/Sequel/Plugins/FindBang/ClassMethods.html +2 -2
- data/docs/api/Sequel/Plugins/FindBang.html +2 -2
- data/docs/api/Sequel/Plugins.html +2 -2
- data/docs/api/Sequel.html +2 -2
- data/docs/api/_index.html +16 -2
- data/docs/api/class_list.html +1 -1
- data/docs/api/file.README.html +28 -2
- data/docs/api/index.html +28 -2
- data/docs/api/method_list.html +192 -168
- data/docs/api/top-level-namespace.html +2 -2
- data/docs/assets/{app.DyQLb4Ot.js → app.BuBdZoUg.js} +1 -1
- data/docs/assets/basic-form-with-violations.Cv6Y9-Q_.png +0 -0
- data/docs/assets/basic-form.DbHnu0oW.png +0 -0
- data/docs/assets/chunks/@localSearchIndexroot.BZ_a3X0T.js +1 -0
- data/docs/assets/chunks/{VPLocalSearchBox.T1iA-eJx.js → VPLocalSearchBox.UtnyvkX-.js} +1 -1
- data/docs/assets/chunks/{theme.ChwsbWjK.js → theme.DqwvuBEK.js} +2 -2
- data/docs/assets/{components.md.DHh-NwKs.js → components.md.Bu80E2Nr.js} +3 -3
- data/docs/assets/{configuration.md.D8Wz3oJU.js → configuration.md.CuIxVsSf.js} +1 -1
- data/docs/assets/{database-schema.md.C5gXexJi.js → database-schema.md.LpmBPVEU.js} +1 -1
- data/docs/assets/{forms.md.BRE85eju.js → forms.md.DnLbzVDa.js} +1 -1
- data/docs/assets/{getting-started.md.2ioiTe-B.js → getting-started.md.DdQLmU3C.js} +2 -2
- data/docs/assets/initial-home-page.DNIaYmgP.png +0 -0
- data/docs/assets/new-post-editor.DrHr-5oh.png +0 -0
- data/docs/assets/new-post-home-page.Bm34lyMg.png +0 -0
- data/docs/assets/{recipes_migrations.md.DPN3gQE3.js → recipes_migrations.md.CTcnWDJF.js} +1 -1
- data/docs/assets/styled-form-with-server-side-violations.Bjxd8Dpv.png +0 -0
- data/docs/assets/styled-form-with-violations.Bv_sa9tg.png +0 -0
- data/docs/assets/styled-home-page-with-posts.Dd4kG89D.png +0 -0
- data/docs/assets/styled-home-page.BzdI7dWz.png +0 -0
- data/docs/assets/tutorial.md.C4zR5XPG.js +728 -0
- data/docs/assets/tutorial.md.C4zR5XPG.lean.js +1 -0
- data/docs/assets/welcome-to-brut.VSWzl17-.png +0 -0
- data/docs/assets.html +3 -3
- 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 +18 -10
- data/docs/brut-js/api/ConfirmSubmit.js.html +29 -8
- 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 +3 -3
- data/docs/business-logic.html +3 -3
- data/docs/cli.html +3 -3
- data/docs/components.html +7 -7
- data/docs/configuration.html +5 -5
- data/docs/css.html +3 -3
- data/docs/custom-element-tests.html +3 -3
- data/docs/database-access.html +3 -3
- data/docs/database-schema.html +5 -5
- data/docs/deployment.html +3 -3
- data/docs/dev-environment.html +3 -3
- data/docs/dir-structure.html +3 -3
- data/docs/doc-conventions.html +3 -3
- data/docs/end-to-end-tests.html +3 -3
- data/docs/features.html +3 -3
- data/docs/flash-and-session.html +3 -3
- data/docs/form-constraints.html +3 -3
- data/docs/forms.html +5 -5
- data/docs/getting-started.html +6 -6
- data/docs/handlers.html +3 -3
- data/docs/hashmap.json +1 -1
- data/docs/hooks.html +3 -3
- data/docs/i18n.html +3 -3
- data/docs/index.html +3 -3
- data/docs/instrumentation.html +3 -3
- data/docs/javascript.html +3 -3
- data/docs/jobs.html +3 -3
- data/docs/keyword-injection.html +3 -3
- data/docs/layouts.html +3 -3
- data/docs/lsp.html +3 -3
- data/docs/markdown-examples.html +3 -3
- data/docs/middleware.html +3 -3
- data/docs/overview.html +3 -3
- data/docs/pages.html +3 -3
- data/docs/recipes/alternate-layouts.html +3 -3
- data/docs/recipes/authentication.html +3 -3
- data/docs/recipes/blank-layouts.html +3 -3
- data/docs/recipes/custom-flash.html +3 -3
- data/docs/recipes/indexed-forms.html +3 -3
- data/docs/recipes/migrations.html +5 -5
- data/docs/recipes/text-field-component.html +3 -3
- data/docs/roadmap.html +3 -3
- data/docs/routes.html +3 -3
- data/docs/security.html +3 -3
- data/docs/seed-data.html +3 -3
- data/docs/space-time-continuum.html +3 -3
- data/docs/tutorial.html +732 -5
- data/docs/unit-tests.html +3 -3
- data/docs/why.html +3 -3
- data/dx/build +45 -9
- data/lib/brut/cli/app.rb +1 -1
- data/lib/brut/cli/apps/heroku_container_based_deploy.rb +1 -1
- data/lib/brut/cli/apps/scaffold.rb +1 -1
- data/lib/brut/cli/options.rb +4 -0
- data/lib/brut/factory_bot.rb +1 -1
- data/lib/brut/framework/app.rb +1 -1
- data/lib/brut/framework/config.rb +18 -12
- data/lib/brut/framework/mcp.rb +12 -7
- data/lib/brut/front_end/csrf_protector.rb +30 -0
- data/lib/brut/front_end/form.rb +4 -4
- data/lib/brut/front_end/page.rb +1 -1
- data/lib/brut/front_end/routing.rb +1 -1
- data/lib/brut/front_end.rb +1 -0
- data/lib/brut/i18n/base_methods.rb +1 -1
- data/lib/brut/instrumentation/logger_span_exporter.rb +1 -1
- data/lib/brut/junk_drawer.rb +3 -1
- data/lib/brut/rubocop_config.rb +123 -0
- data/lib/brut/spec_support/component_support.rb +0 -3
- data/lib/brut/spec_support/rspec_setup.rb +2 -2
- data/lib/brut/version.rb +1 -1
- data/mkbrut/Gemfile.lock +1 -1
- data/mkbrut/dx +1 -0
- data/mkbrut/lib/mkbrut/app.rb +1 -1
- data/mkbrut/lib/mkbrut/cli.rb +1 -1
- data/mkbrut/lib/mkbrut/segments/heroku.rb +1 -1
- data/mkbrut/lib/mkbrut/version.rb +1 -1
- data/mkbrut/mkbrut.gemspec +3 -1
- data/mkbrut/templates/Base/app/config/i18n/en/1_defaults.rb +2 -2
- data/mkbrut/templates/Base/app/config/i18n/en/2_app.rb +1 -1
- data/mkbrut/templates/Base/bin/setup +1 -1
- data/mkbrut/templates/segments/Demo/app/src/front_end/components/flash_component.rb +1 -1
- data/specs/brut/junk_drawer.spec.rb +4 -0
- metadata +92 -35
- data/.rspec +0 -3
- data/docs/assets/chunks/@localSearchIndexroot.CmtZyrFA.js +0 -1
- data/docs/assets/tutorial.md.BIb7XT6j.js +0 -1
- data/docs/assets/tutorial.md.BIb7XT6j.lean.js +0 -1
- /data/docs/assets/{components.md.DHh-NwKs.lean.js → components.md.Bu80E2Nr.lean.js} +0 -0
- /data/docs/assets/{configuration.md.D8Wz3oJU.lean.js → configuration.md.CuIxVsSf.lean.js} +0 -0
- /data/docs/assets/{database-schema.md.C5gXexJi.lean.js → database-schema.md.LpmBPVEU.lean.js} +0 -0
- /data/docs/assets/{forms.md.BRE85eju.lean.js → forms.md.DnLbzVDa.lean.js} +0 -0
- /data/docs/assets/{getting-started.md.2ioiTe-B.lean.js → getting-started.md.DdQLmU3C.lean.js} +0 -0
- /data/docs/assets/{recipes_migrations.md.DPN3gQE3.lean.js → recipes_migrations.md.CTcnWDJF.lean.js} +0 -0
@@ -689,9 +689,9 @@ it's intended to be piped into another app.</p>
|
|
689
689
|
</div>
|
690
690
|
|
691
691
|
<div id="footer">
|
692
|
-
Generated on
|
692
|
+
Generated on Tue Aug 12 16:58:16 2025 by
|
693
693
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
694
|
-
0.9.37 (ruby-3.4.
|
694
|
+
0.9.37 (ruby-3.4.5).
|
695
695
|
</div>
|
696
696
|
|
697
697
|
</div>
|
@@ -441,9 +441,9 @@
|
|
441
441
|
</div>
|
442
442
|
|
443
443
|
<div id="footer">
|
444
|
-
Generated on
|
444
|
+
Generated on Tue Aug 12 16:58:16 2025 by
|
445
445
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
446
|
-
0.9.37 (ruby-3.4.
|
446
|
+
0.9.37 (ruby-3.4.5).
|
447
447
|
</div>
|
448
448
|
|
449
449
|
</div>
|
data/docs/api/Brut/CLI.html
CHANGED
@@ -253,9 +253,9 @@ it via <code>bin/clean-files</code>, you'd create <code>bin/clean-files</code> l
|
|
253
253
|
</div>
|
254
254
|
|
255
255
|
<div id="footer">
|
256
|
-
Generated on
|
256
|
+
Generated on Tue Aug 12 16:58:16 2025 by
|
257
257
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
258
|
-
0.9.37 (ruby-3.4.
|
258
|
+
0.9.37 (ruby-3.4.5).
|
259
259
|
</div>
|
260
260
|
|
261
261
|
</div>
|
@@ -198,7 +198,7 @@
|
|
198
198
|
<span class='kw'>def</span> <span class='id identifier rubyid_setup!'>setup!</span>
|
199
199
|
<span class='const'>Faker</span><span class='op'>::</span><span class='const'>Config</span><span class='period'>.</span><span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='symbol'>:en</span>
|
200
200
|
<span class='const'><span class='object_link'><a href="" title="Brut::FactoryBot (class)">FactoryBot</a></span></span><span class='period'>.</span><span class='id identifier rubyid_definition_file_paths'>definition_file_paths</span> <span class='op'>=</span> <span class='lbracket'>[</span>
|
201
|
-
<span class='const'><span class='object_link'><a href="../Brut.html" title="Brut (module)">Brut</a></span></span><span class='period'>.</span><span class='id identifier rubyid_container'><span class='object_link'><a href="../Brut.html#container-class_method" title="Brut.container (method)">container</a></span></span><span class='period'>.</span><span class='id identifier rubyid_app_specs_dir'>app_specs_dir</span> <span class='op'>/</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>factories</span><span class='tstring_end'>"</span></span>
|
201
|
+
<span class='const'><span class='object_link'><a href="../Brut.html" title="Brut (module)">Brut</a></span></span><span class='period'>.</span><span class='id identifier rubyid_container'><span class='object_link'><a href="../Brut.html#container-class_method" title="Brut.container (method)">container</a></span></span><span class='period'>.</span><span class='id identifier rubyid_app_specs_dir'>app_specs_dir</span> <span class='op'>/</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>factories</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
202
202
|
<span class='rbracket'>]</span>
|
203
203
|
<span class='const'><span class='object_link'><a href="" title="Brut::FactoryBot (class)">FactoryBot</a></span></span><span class='period'>.</span><span class='id identifier rubyid_define'>define</span> <span class='kw'>do</span>
|
204
204
|
<span class='id identifier rubyid_to_create'>to_create</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_instance'>instance</span><span class='op'>|</span> <span class='id identifier rubyid_instance'>instance</span><span class='period'>.</span><span class='id identifier rubyid_save'>save</span> <span class='rbrace'>}</span>
|
@@ -215,9 +215,9 @@
|
|
215
215
|
</div>
|
216
216
|
|
217
217
|
<div id="footer">
|
218
|
-
Generated on
|
218
|
+
Generated on Tue Aug 12 16:58:16 2025 by
|
219
219
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
220
|
-
0.9.37 (ruby-3.4.
|
220
|
+
0.9.37 (ruby-3.4.5).
|
221
221
|
</div>
|
222
222
|
|
223
223
|
</div>
|
@@ -749,7 +749,7 @@ not <code>nil</code>, this value is highly likely to be 500.</p>
|
|
749
749
|
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Your error handler block may only accept exception: and http_status_code: as required keyword parameters. The following parameters were found:\n </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_messages'>messages</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\n </span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
750
750
|
<span class='kw'>end</span>
|
751
751
|
<span class='kw'>if</span> <span class='ivar'>@error_blocks</span><span class='lbracket'>[</span><span class='id identifier rubyid_condition'>condition</span><span class='rbracket'>]</span>
|
752
|
-
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>You have already configured error handling for condition '</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_condition'>condition</span><span class='
|
752
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>You have already configured error handling for condition '</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_condition'>condition</span><span class='embexpr_end'>}</span><span class='tstring_content'>'</span><span class='tstring_end'>"</span></span>
|
753
753
|
<span class='kw'>end</span>
|
754
754
|
<span class='ivar'>@error_blocks</span><span class='lbracket'>[</span><span class='id identifier rubyid_condition'>condition</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_block'>block</span>
|
755
755
|
<span class='kw'>end</span></pre>
|
@@ -1087,9 +1087,9 @@ actions where an app needs to exist inside some organizational context.</p>
|
|
1087
1087
|
</div>
|
1088
1088
|
|
1089
1089
|
<div id="footer">
|
1090
|
-
Generated on
|
1090
|
+
Generated on Tue Aug 12 16:58:16 2025 by
|
1091
1091
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
1092
|
-
0.9.37 (ruby-3.4.
|
1092
|
+
0.9.37 (ruby-3.4.5).
|
1093
1093
|
</div>
|
1094
1094
|
|
1095
1095
|
</div>
|
@@ -609,7 +609,13 @@ connection to your database.</p>
|
|
609
609
|
433
|
610
610
|
434
|
611
611
|
435
|
612
|
-
436
|
612
|
+
436
|
613
|
+
437
|
614
|
+
438
|
615
|
+
439
|
616
|
+
440
|
617
|
+
441
|
618
|
+
442</pre>
|
613
619
|
</td>
|
614
620
|
<td>
|
615
621
|
<pre class="code"><span class="info file"># File 'lib/brut/framework/config.rb', line 12</span>
|
@@ -924,25 +930,31 @@ connection to your database.</p>
|
|
924
930
|
<span class='label'>allow_app_override:</span> <span class='kw'>true</span><span class='comma'>,</span>
|
925
931
|
<span class='rparen'>)</span>
|
926
932
|
|
933
|
+
<span class='id identifier rubyid_c'>c</span><span class='period'>.</span><span class='id identifier rubyid_store'>store</span><span class='lparen'>(</span>
|
934
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>csrf_protector</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
935
|
+
<span class='const'><span class='object_link'><a href="../../Brut.html" title="Brut (module)">Brut</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../FrontEnd.html" title="Brut::FrontEnd (module)">FrontEnd</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../FrontEnd/CsrfProtector.html" title="Brut::FrontEnd::CsrfProtector (class)">CsrfProtector</a></span></span><span class='comma'>,</span>
|
936
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Object to allow custom logic related to CSRF protection</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
937
|
+
<span class='label'>allow_app_override:</span> <span class='kw'>true</span>
|
938
|
+
<span class='rparen'>)</span> <span class='kw'>do</span>
|
939
|
+
<span class='const'><span class='object_link'><a href="../../Brut.html" title="Brut (module)">Brut</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../FrontEnd.html" title="Brut::FrontEnd (module)">FrontEnd</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../FrontEnd/CsrfProtector.html" title="Brut::FrontEnd::CsrfProtector (class)">CsrfProtector</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
940
|
+
<span class='kw'>end</span>
|
941
|
+
|
927
942
|
<span class='id identifier rubyid_c'>c</span><span class='period'>.</span><span class='id identifier rubyid_store'>store</span><span class='lparen'>(</span>
|
928
943
|
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>semantic_logger_appenders</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
929
944
|
<span class='lbrace'>{</span> <span class='const'>Hash</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>if only one appender is needed</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='const'>Array</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>to configure multiple appenders</span><span class='tstring_end'>"</span></span> <span class='rbrace'>}</span><span class='comma'>,</span>
|
930
945
|
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>List of appenders to be configured for SemanticLogger</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
931
946
|
<span class='label'>allow_app_override:</span> <span class='kw'>true</span>
|
932
947
|
<span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_project_env'>project_env</span><span class='comma'>,</span><span class='id identifier rubyid_log_dir'>log_dir</span><span class='op'>|</span>
|
933
|
-
<span class='
|
934
|
-
|
935
|
-
|
936
|
-
|
937
|
-
|
938
|
-
|
939
|
-
|
940
|
-
|
941
|
-
|
942
|
-
<span class='kw'>if</span> <span class='id identifier rubyid_appenders'>appenders</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
|
943
|
-
<span class='id identifier rubyid_appenders'>appenders</span> <span class='op'>=</span> <span class='lbrace'>{</span> <span class='label'>io:</span> <span class='gvar'>$stdout</span> <span class='rbrace'>}</span>
|
948
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_project_env'>project_env</span><span class='period'>.</span><span class='id identifier rubyid_development?'>development?</span>
|
949
|
+
<span class='lbracket'>[</span>
|
950
|
+
<span class='lbrace'>{</span> <span class='label'>formatter:</span> <span class='symbol'>:color</span><span class='comma'>,</span> <span class='label'>io:</span> <span class='gvar'>$stdout</span> <span class='rbrace'>}</span><span class='comma'>,</span>
|
951
|
+
<span class='lbrace'>{</span> <span class='label'>file_name:</span> <span class='lparen'>(</span><span class='id identifier rubyid_log_dir'>log_dir</span> <span class='op'>/</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>development.log</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='rbrace'>}</span><span class='comma'>,</span>
|
952
|
+
<span class='rbracket'>]</span>
|
953
|
+
<span class='kw'>elsif</span> <span class='id identifier rubyid_project_env'>project_env</span><span class='period'>.</span><span class='id identifier rubyid_test?'>test?</span>
|
954
|
+
<span class='lbrace'>{</span> <span class='label'>file_name:</span> <span class='lparen'>(</span><span class='id identifier rubyid_log_dir'>log_dir</span> <span class='op'>/</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>test.log</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='rbrace'>}</span>
|
955
|
+
<span class='kw'>else</span>
|
956
|
+
<span class='lbrace'>{</span> <span class='label'>io:</span> <span class='gvar'>$stdout</span> <span class='rbrace'>}</span>
|
944
957
|
<span class='kw'>end</span>
|
945
|
-
<span class='id identifier rubyid_appenders'>appenders</span>
|
946
958
|
<span class='kw'>end</span>
|
947
959
|
|
948
960
|
<span class='id identifier rubyid_c'>c</span><span class='period'>.</span><span class='id identifier rubyid_store'>store</span><span class='lparen'>(</span>
|
@@ -1049,9 +1061,9 @@ connection to your database.</p>
|
|
1049
1061
|
</div>
|
1050
1062
|
|
1051
1063
|
<div id="footer">
|
1052
|
-
Generated on
|
1064
|
+
Generated on Tue Aug 12 16:58:17 2025 by
|
1053
1065
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
1054
|
-
0.9.37 (ruby-3.4.
|
1066
|
+
0.9.37 (ruby-3.4.5).
|
1055
1067
|
</div>
|
1056
1068
|
|
1057
1069
|
</div>
|
@@ -1450,9 +1450,9 @@ The names of the parameters must match the name of another configuration value.<
|
|
1450
1450
|
</div>
|
1451
1451
|
|
1452
1452
|
<div id="footer">
|
1453
|
-
Generated on
|
1453
|
+
Generated on Tue Aug 12 16:58:17 2025 by
|
1454
1454
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
1455
|
-
0.9.37 (ruby-3.4.
|
1455
|
+
0.9.37 (ruby-3.4.5).
|
1456
1456
|
</div>
|
1457
1457
|
|
1458
1458
|
</div>
|
@@ -130,9 +130,9 @@ for Brut-specific error conditions.</p>
|
|
130
130
|
</div>
|
131
131
|
|
132
132
|
<div id="footer">
|
133
|
-
Generated on
|
133
|
+
Generated on Tue Aug 12 16:58:17 2025 by
|
134
134
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
135
|
-
0.9.37 (ruby-3.4.
|
135
|
+
0.9.37 (ruby-3.4.5).
|
136
136
|
</div>
|
137
137
|
|
138
138
|
</div>
|
@@ -222,9 +222,9 @@ makes sense.</p>
|
|
222
222
|
</div>
|
223
223
|
|
224
224
|
<div id="footer">
|
225
|
-
Generated on
|
225
|
+
Generated on Tue Aug 12 16:58:17 2025 by
|
226
226
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
227
|
-
0.9.37 (ruby-3.4.
|
227
|
+
0.9.37 (ruby-3.4.5).
|
228
228
|
</div>
|
229
229
|
|
230
230
|
</div>
|
@@ -224,9 +224,9 @@ prevented</p>
|
|
224
224
|
</div>
|
225
225
|
|
226
226
|
<div id="footer">
|
227
|
-
Generated on
|
227
|
+
Generated on Tue Aug 12 16:58:17 2025 by
|
228
228
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
229
|
-
0.9.37 (ruby-3.4.
|
229
|
+
0.9.37 (ruby-3.4.5).
|
230
230
|
</div>
|
231
231
|
|
232
232
|
</div>
|
@@ -247,9 +247,9 @@ have not been set.</p>
|
|
247
247
|
</div>
|
248
248
|
|
249
249
|
<div id="footer">
|
250
|
-
Generated on
|
250
|
+
Generated on Tue Aug 12 16:58:17 2025 by
|
251
251
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
252
|
-
0.9.37 (ruby-3.4.
|
252
|
+
0.9.37 (ruby-3.4.5).
|
253
253
|
</div>
|
254
254
|
|
255
255
|
</div>
|
@@ -263,9 +263,9 @@ 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
|
266
|
+
Generated on Tue Aug 12 16:58:17 2025 by
|
267
267
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
268
|
-
0.9.37 (ruby-3.4.
|
268
|
+
0.9.37 (ruby-3.4.5).
|
269
269
|
</div>
|
270
270
|
|
271
271
|
</div>
|
@@ -461,9 +461,9 @@
|
|
461
461
|
</div>
|
462
462
|
|
463
463
|
<div id="footer">
|
464
|
-
Generated on
|
464
|
+
Generated on Tue Aug 12 16:58:17 2025 by
|
465
465
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
466
|
-
0.9.37 (ruby-3.4.
|
466
|
+
0.9.37 (ruby-3.4.5).
|
467
467
|
</div>
|
468
468
|
|
469
469
|
</div>
|
@@ -298,9 +298,9 @@
|
|
298
298
|
</div>
|
299
299
|
|
300
300
|
<div id="footer">
|
301
|
-
Generated on
|
301
|
+
Generated on Tue Aug 12 16:58:17 2025 by
|
302
302
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
303
|
-
0.9.37 (ruby-3.4.
|
303
|
+
0.9.37 (ruby-3.4.5).
|
304
304
|
</div>
|
305
305
|
|
306
306
|
</div>
|
@@ -224,9 +224,9 @@ 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
|
227
|
+
Generated on Tue Aug 12 16:58:17 2025 by
|
228
228
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
229
|
-
0.9.37 (ruby-3.4.
|
229
|
+
0.9.37 (ruby-3.4.5).
|
230
230
|
</div>
|
231
231
|
|
232
232
|
</div>
|
@@ -341,9 +341,9 @@ 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
|
344
|
+
Generated on Tue Aug 12 16:58:16 2025 by
|
345
345
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
346
|
-
0.9.37 (ruby-3.4.
|
346
|
+
0.9.37 (ruby-3.4.5).
|
347
347
|
</div>
|
348
348
|
|
349
349
|
</div>
|
@@ -382,9 +382,9 @@ 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
|
385
|
+
Generated on Tue Aug 12 16:58:16 2025 by
|
386
386
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
387
|
-
0.9.37 (ruby-3.4.
|
387
|
+
0.9.37 (ruby-3.4.5).
|
388
388
|
</div>
|
389
389
|
|
390
390
|
</div>
|
@@ -618,7 +618,12 @@ to external resources.</p>
|
|
618
618
|
286
|
619
619
|
287
|
620
620
|
288
|
621
|
-
289
|
621
|
+
289
|
622
|
+
290
|
623
|
+
291
|
624
|
+
292
|
625
|
+
293
|
626
|
+
294</pre>
|
622
627
|
</td>
|
623
628
|
<td>
|
624
629
|
<pre class="code"><span class="info file"># File 'lib/brut/framework/mcp.rb', line 72</span>
|
@@ -685,9 +690,9 @@ to external resources.</p>
|
|
685
690
|
<span class='label'>exception:</span> <span class='id identifier rubyid_ex'>ex</span><span class='rparen'>)</span>
|
686
691
|
<span class='kw'>rescue</span> <span class='op'>=></span> <span class='id identifier rubyid_ex2'>ex2</span>
|
687
692
|
<span class='gvar'>$stderr</span><span class='period'>.</span><span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>While handling an error recording an exception, we get another error from SemanticLogger.</span><span class='tstring_end'>"</span></span> <span class='op'>+</span> <span class='lbracket'>[</span>
|
688
|
-
<span class='lbracket'>[</span> <span class='symbol'>:original_exception</span><span class='comma'>,</span>
|
689
|
-
<span class='lbracket'>[</span> <span class='symbol'>:exception_from_recording_exception</span><span class='comma'>,</span> <span class='id identifier rubyid_ex'>ex</span
|
690
|
-
<span class='lbracket'>[</span> <span class='symbol'>:exception_from_semantic_logger</span><span class='comma'>,</span>
|
693
|
+
<span class='lbracket'>[</span> <span class='symbol'>:original_exception</span><span class='comma'>,</span> <span class='id identifier rubyid_exception'>exception</span> <span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>: </span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='comma'>,</span>
|
694
|
+
<span class='lbracket'>[</span> <span class='symbol'>:exception_from_recording_exception</span><span class='comma'>,</span> <span class='id identifier rubyid_ex'>ex</span> <span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>: </span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='comma'>,</span>
|
695
|
+
<span class='lbracket'>[</span> <span class='symbol'>:exception_from_semantic_logger</span><span class='comma'>,</span> <span class='id identifier rubyid_ex2'>ex2</span> <span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>: </span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='comma'>,</span>
|
691
696
|
|
692
697
|
<span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>, </span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
693
698
|
<span class='kw'>end</span>
|
@@ -728,7 +733,7 @@ to external resources.</p>
|
|
728
733
|
<span class='kw'>end</span>
|
729
734
|
|
730
735
|
<span class='id identifier rubyid_message'>message</span> <span class='op'>=</span> <span class='kw'>if</span> <span class='const'><span class='object_link'><a href="../../Brut.html" title="Brut (module)">Brut</a></span></span><span class='period'>.</span><span class='id identifier rubyid_container'><span class='object_link'><a href="../../Brut.html#container-class_method" title="Brut.container (method)">container</a></span></span><span class='period'>.</span><span class='id identifier rubyid_project_env'>project_env</span><span class='period'>.</span><span class='id identifier rubyid_development?'>development?</span>
|
731
|
-
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Form submission did not include an authenticity token. All forms must include one. To add one, use the `
|
736
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Form submission did not include an authenticity token. All forms must include one. To add one, use the `Brut::FrontEnd::Components::FormTag` component, or include Brut::FrontEnd::Components::Inputs::CsrfToken somewhere inside your <form> tag</span><span class='tstring_end'>"</span></span>
|
732
737
|
<span class='kw'>else</span>
|
733
738
|
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Forbidden</span><span class='tstring_end'>"</span></span>
|
734
739
|
<span class='kw'>end</span>
|
@@ -740,10 +745,15 @@ to external resources.</p>
|
|
740
745
|
<span class='const'>Rack</span><span class='op'>::</span><span class='const'>Protection</span><span class='op'>::</span><span class='const'>AuthenticityToken</span><span class='comma'>,</span>
|
741
746
|
<span class='lbracket'>[</span>
|
742
747
|
<span class='lbrace'>{</span>
|
743
|
-
<span class='label'>allow_if:</span> <span class='tlambda'>-></span><span class='lparen'>(</span><span class='id identifier rubyid_env'>env</span><span class='rparen'>)</span> <span class='tlambeg'>{</span>
|
748
|
+
<span class='label'>allow_if:</span> <span class='tlambda'>-></span><span class='lparen'>(</span><span class='id identifier rubyid_env'>env</span><span class='rparen'>)</span> <span class='tlambeg'>{</span>
|
749
|
+
<span class='id identifier rubyid_brut_owned_path'>brut_owned_path</span> <span class='op'>=</span> <span class='id identifier rubyid_env'>env</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>brut.owned_path</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span>
|
750
|
+
<span class='id identifier rubyid_app_allowed'>app_allowed</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../Brut.html" title="Brut (module)">Brut</a></span></span><span class='period'>.</span><span class='id identifier rubyid_container'><span class='object_link'><a href="../../Brut.html#container-class_method" title="Brut.container (method)">container</a></span></span><span class='period'>.</span><span class='id identifier rubyid_csrf_protector'>csrf_protector</span><span class='period'>.</span><span class='id identifier rubyid_tap'>tap</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid__'>_</span><span class='op'>|</span> <span class='id identifier rubyid_puts'>puts</span> <span class='id identifier rubyid__'>_</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span> <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_allowed?'>allowed?</span><span class='lparen'>(</span><span class='id identifier rubyid_env'>env</span><span class='rparen'>)</span>
|
751
|
+
|
752
|
+
<span class='id identifier rubyid_brut_owned_path'>brut_owned_path</span> <span class='op'>||</span> <span class='id identifier rubyid_app_allowed'>app_allowed</span>
|
753
|
+
<span class='rbrace'>}</span><span class='comma'>,</span>
|
744
754
|
<span class='label'>message:</span> <span class='id identifier rubyid_message'>message</span><span class='comma'>,</span>
|
745
|
-
<span class='rbrace'>}</span>
|
746
|
-
<span class='rbracket'>]</span>
|
755
|
+
<span class='rbrace'>}</span><span class='comma'>,</span>
|
756
|
+
<span class='rbracket'>]</span><span class='comma'>,</span>
|
747
757
|
<span class='rbracket'>]</span><span class='comma'>,</span>
|
748
758
|
<span class='rbracket'>]</span>
|
749
759
|
<span class='kw'>if</span> <span class='const'><span class='object_link'><a href="../../Brut.html" title="Brut (module)">Brut</a></span></span><span class='period'>.</span><span class='id identifier rubyid_container'><span class='object_link'><a href="../../Brut.html#container-class_method" title="Brut.container (method)">container</a></span></span><span class='period'>.</span><span class='id identifier rubyid_auto_reload_classes?'>auto_reload_classes?</span>
|
@@ -829,7 +839,7 @@ to external resources.</p>
|
|
829
839
|
<span class='kw'>in</span> <span class='const'>TrueClass</span>
|
830
840
|
<span class='kw'>nil</span>
|
831
841
|
<span class='kw'>else</span>
|
832
|
-
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>NoMatchingPatternError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Result from </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_method'>method</span><span class='embexpr_end'>}</span><span class='tstring_content'> hook </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_klass'>klass</span><span class='embexpr_end'>}</span><span class='tstring_content'>'s </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_method'>method</span><span class='embexpr_end'>}</span><span class='tstring_content'> method was a </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_result'>result</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='embexpr_end'>}</span><span class='tstring_content'> (</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_result'>result</span><span class='
|
842
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>NoMatchingPatternError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Result from </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_method'>method</span><span class='embexpr_end'>}</span><span class='tstring_content'> hook </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_klass'>klass</span><span class='embexpr_end'>}</span><span class='tstring_content'>'s </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_method'>method</span><span class='embexpr_end'>}</span><span class='tstring_content'> method was a </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_result'>result</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='embexpr_end'>}</span><span class='tstring_content'> (</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_result'>result</span><span class='embexpr_end'>}</span><span class='tstring_content'> as a string), which cannot be used to understand the response to generate. Return nil or true if processing should proceed</span><span class='tstring_end'>"</span></span>
|
833
843
|
<span class='kw'>end</span>
|
834
844
|
<span class='kw'>end</span>
|
835
845
|
<span class='kw'>end</span>
|
@@ -851,9 +861,9 @@ to external resources.</p>
|
|
851
861
|
</div>
|
852
862
|
|
853
863
|
<div id="footer">
|
854
|
-
Generated on
|
864
|
+
Generated on Tue Aug 12 16:58:17 2025 by
|
855
865
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
856
|
-
0.9.37 (ruby-3.4.
|
866
|
+
0.9.37 (ruby-3.4.5).
|
857
867
|
</div>
|
858
868
|
|
859
869
|
</div>
|
@@ -638,9 +638,9 @@ to the configuration values. But, you do you.</p>
|
|
638
638
|
</div>
|
639
639
|
|
640
640
|
<div id="footer">
|
641
|
-
Generated on
|
641
|
+
Generated on Tue Aug 12 16:58:17 2025 by
|
642
642
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
643
|
-
0.9.37 (ruby-3.4.
|
643
|
+
0.9.37 (ruby-3.4.5).
|
644
644
|
</div>
|
645
645
|
|
646
646
|
</div>
|
@@ -119,9 +119,9 @@
|
|
119
119
|
</div>
|
120
120
|
|
121
121
|
<div id="footer">
|
122
|
-
Generated on
|
122
|
+
Generated on Tue Aug 12 16:58:16 2025 by
|
123
123
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
124
|
-
0.9.37 (ruby-3.4.
|
124
|
+
0.9.37 (ruby-3.4.5).
|
125
125
|
</div>
|
126
126
|
|
127
127
|
</div>
|
@@ -307,9 +307,9 @@
|
|
307
307
|
</div>
|
308
308
|
|
309
309
|
<div id="footer">
|
310
|
-
Generated on
|
310
|
+
Generated on Tue Aug 12 16:58:17 2025 by
|
311
311
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
312
|
-
0.9.37 (ruby-3.4.
|
312
|
+
0.9.37 (ruby-3.4.5).
|
313
313
|
</div>
|
314
314
|
|
315
315
|
</div>
|
@@ -410,9 +410,9 @@ looking</p>
|
|
410
410
|
</div>
|
411
411
|
|
412
412
|
<div id="footer">
|
413
|
-
Generated on
|
413
|
+
Generated on Tue Aug 12 16:58:16 2025 by
|
414
414
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
415
|
-
0.9.37 (ruby-3.4.
|
415
|
+
0.9.37 (ruby-3.4.5).
|
416
416
|
</div>
|
417
417
|
|
418
418
|
</div>
|
@@ -424,9 +424,9 @@ 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
|
427
|
+
Generated on Tue Aug 12 16:58:17 2025 by
|
428
428
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
429
|
-
0.9.37 (ruby-3.4.
|
429
|
+
0.9.37 (ruby-3.4.5).
|
430
430
|
</div>
|
431
431
|
|
432
432
|
</div>
|
@@ -460,9 +460,9 @@
|
|
460
460
|
</div>
|
461
461
|
|
462
462
|
<div id="footer">
|
463
|
-
Generated on
|
463
|
+
Generated on Tue Aug 12 16:58:18 2025 by
|
464
464
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
465
|
-
0.9.37 (ruby-3.4.
|
465
|
+
0.9.37 (ruby-3.4.5).
|
466
466
|
</div>
|
467
467
|
|
468
468
|
</div>
|
@@ -425,10 +425,10 @@ If the form's action is GET, it will not.</p>
|
|
425
425
|
<span class='id identifier rubyid_form_class'>form_class</span> <span class='op'>=</span> <span class='id identifier rubyid_form_class'>form_class</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span>
|
426
426
|
<span class='kw'>end</span>
|
427
427
|
<span class='kw'>if</span> <span class='id identifier rubyid_html_attributes'>html_attributes</span><span class='lbracket'>[</span><span class='symbol'>:action</span><span class='rbracket'>]</span>
|
428
|
-
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>You cannot specify both for: (</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_form_class'>form_class</span><span class='embexpr_end'>}</span><span class='tstring_content'>) and and action: (</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_html_attributes'>html_attributes</span><span class='lbracket'>[</span><span class='symbol'>:action</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_content'>) to
|
428
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>You cannot specify both for: (</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_form_class'>form_class</span><span class='embexpr_end'>}</span><span class='tstring_content'>) and and action: (</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_html_attributes'>html_attributes</span><span class='lbracket'>[</span><span class='symbol'>:action</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_content'>) to </span><span class='embexpr_beg'>#{</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
429
429
|
<span class='kw'>end</span>
|
430
430
|
<span class='kw'>if</span> <span class='id identifier rubyid_html_attributes'>html_attributes</span><span class='lbracket'>[</span><span class='symbol'>:method</span><span class='rbracket'>]</span>
|
431
|
-
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>You cannot specify both for: (</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_form_class'>form_class</span><span class='embexpr_end'>}</span><span class='tstring_content'>) and and method: (</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_html_attributes'>html_attributes</span><span class='lbracket'>[</span><span class='symbol'>:method</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_content'>) to
|
431
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>You cannot specify both for: (</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_form_class'>form_class</span><span class='embexpr_end'>}</span><span class='tstring_content'>) and and method: (</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_html_attributes'>html_attributes</span><span class='lbracket'>[</span><span class='symbol'>:method</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_content'>) to </span><span class='embexpr_beg'>#{</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
432
432
|
<span class='kw'>end</span>
|
433
433
|
<span class='kw'>begin</span>
|
434
434
|
<span class='id identifier rubyid_route'>route</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../../Brut.html" title="Brut (module)">Brut</a></span></span><span class='period'>.</span><span class='id identifier rubyid_container'><span class='object_link'><a href="../../../Brut.html#container-class_method" title="Brut.container (method)">container</a></span></span><span class='period'>.</span><span class='id identifier rubyid_routing'>routing</span><span class='period'>.</span><span class='id identifier rubyid_route'>route</span><span class='lparen'>(</span><span class='id identifier rubyid_form_class'>form_class</span><span class='rparen'>)</span>
|
@@ -516,9 +516,9 @@ If the form's action is GET, it will not.</p>
|
|
516
516
|
</div>
|
517
517
|
|
518
518
|
<div id="footer">
|
519
|
-
Generated on
|
519
|
+
Generated on Tue Aug 12 16:58:17 2025 by
|
520
520
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
521
|
-
0.9.37 (ruby-3.4.
|
521
|
+
0.9.37 (ruby-3.4.5).
|
522
522
|
</div>
|
523
523
|
|
524
524
|
</div>
|
@@ -303,9 +303,9 @@ 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
|
306
|
+
Generated on Tue Aug 12 16:58:17 2025 by
|
307
307
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
308
|
-
0.9.37 (ruby-3.4.
|
308
|
+
0.9.37 (ruby-3.4.5).
|
309
309
|
</div>
|
310
310
|
|
311
311
|
</div>
|
@@ -185,9 +185,9 @@
|
|
185
185
|
</div>
|
186
186
|
|
187
187
|
<div id="footer">
|
188
|
-
Generated on
|
188
|
+
Generated on Tue Aug 12 16:58:17 2025 by
|
189
189
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
190
|
-
0.9.37 (ruby-3.4.
|
190
|
+
0.9.37 (ruby-3.4.5).
|
191
191
|
</div>
|
192
192
|
|
193
193
|
</div>
|
@@ -329,9 +329,9 @@ to use this directly if you are building a form without <span class='object_link
|
|
329
329
|
</div>
|
330
330
|
|
331
331
|
<div id="footer">
|
332
|
-
Generated on
|
332
|
+
Generated on Tue Aug 12 16:58:17 2025 by
|
333
333
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
334
|
-
0.9.37 (ruby-3.4.
|
334
|
+
0.9.37 (ruby-3.4.5).
|
335
335
|
</div>
|
336
336
|
|
337
337
|
</div>
|