brut 0.4.0 → 0.8.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/.gitignore +4 -0
- data/CHANGELOG.md +36 -1
- data/Dockerfile.dx +19 -0
- data/Gemfile.lock +1 -1
- data/README.md +19 -0
- data/assets/MetroIcon.graffle +0 -0
- data/assets/YouTubeThumb.pxd +0 -0
- data/bin/build +86 -0
- data/bin/ci +36 -0
- data/bin/docs +39 -9
- data/bin/publish +61 -0
- data/bin/setup +6 -0
- data/brut-css/bin/build +19 -0
- data/brut-css/bin/ci +19 -0
- data/brut-css/bin/docs +19 -0
- data/brut-css/bin/publish +21 -0
- data/brut-css/bin/setup +1 -0
- data/brut-css/package-lock.json +2 -2
- data/brut-css/package.json +1 -1
- data/brut-css/src/css/flex.css +1 -1
- data/brut-css/src/docs/includes/body-and-header.html.ejs +1 -1
- data/brut-js/bin/build +15 -6
- data/brut-js/bin/docs +25 -0
- data/brut-js/bin/publish +21 -0
- data/brut-js/bin/setup +1 -0
- data/brut-js/dx +1 -0
- data/brut-js/package-lock.json +2 -2
- data/brut-js/package.json +1 -1
- data/brut-js/specs/AjaxSubmit.spec.js +100 -7
- data/brut-js/src/AjaxSubmit.js +76 -40
- data/brut.gemspec +2 -2
- data/brutrb.com/adrs.md +1 -0
- data/brutrb.com/bin/setup +1 -0
- data/brutrb.com/getting-started.md +3 -0
- data/brutrb.com/overview.md +6 -0
- data/brutrb.com/tutorial.md +7 -3
- data/docs/404.html +2 -2
- data/docs/adrs.html +5 -5
- data/docs/ai.html +3 -3
- data/docs/api/Brut/BackEnd/SeedData.html +1 -1
- data/docs/api/Brut/BackEnd/Sidekiq/Middlewares/Server/FlushSpans.html +1 -1
- data/docs/api/Brut/BackEnd/Sidekiq/Middlewares/Server.html +1 -1
- data/docs/api/Brut/BackEnd/Sidekiq/Middlewares.html +1 -1
- data/docs/api/Brut/BackEnd/Sidekiq.html +1 -1
- data/docs/api/Brut/BackEnd/Validators/FormValidator.html +1 -1
- data/docs/api/Brut/BackEnd/Validators.html +1 -1
- data/docs/api/Brut/BackEnd.html +1 -1
- data/docs/api/Brut/CLI/App.html +1 -1
- data/docs/api/Brut/CLI/AppRunner.html +1 -1
- data/docs/api/Brut/CLI/Apps/BuildAssets/All.html +1 -1
- data/docs/api/Brut/CLI/Apps/BuildAssets/CSS.html +1 -1
- data/docs/api/Brut/CLI/Apps/BuildAssets/Images.html +1 -1
- data/docs/api/Brut/CLI/Apps/BuildAssets/JS.html +1 -1
- data/docs/api/Brut/CLI/Apps/BuildAssets.html +1 -1
- data/docs/api/Brut/CLI/Apps/DB/Create.html +1 -1
- data/docs/api/Brut/CLI/Apps/DB/Drop.html +1 -1
- data/docs/api/Brut/CLI/Apps/DB/Migrate.html +1 -1
- data/docs/api/Brut/CLI/Apps/DB/NewMigration.html +1 -1
- data/docs/api/Brut/CLI/Apps/DB/Rebuild.html +1 -1
- data/docs/api/Brut/CLI/Apps/DB/Seed.html +1 -1
- data/docs/api/Brut/CLI/Apps/DB/Status.html +1 -1
- data/docs/api/Brut/CLI/Apps/DB.html +1 -1
- data/docs/api/Brut/CLI/Apps/DeployBase/GitChecks.html +1 -1
- data/docs/api/Brut/CLI/Apps/DeployBase.html +1 -1
- data/docs/api/Brut/CLI/Apps/HerokuContainerBasedDeploy/Deploy.html +1 -1
- data/docs/api/Brut/CLI/Apps/HerokuContainerBasedDeploy.html +1 -1
- data/docs/api/Brut/CLI/Apps/Scaffold/Action/Route.html +1 -1
- data/docs/api/Brut/CLI/Apps/Scaffold/Action.html +1 -1
- data/docs/api/Brut/CLI/Apps/Scaffold/Component.html +1 -1
- data/docs/api/Brut/CLI/Apps/Scaffold/CustomElementTest.html +1 -1
- data/docs/api/Brut/CLI/Apps/Scaffold/DbModel.html +2 -2
- 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 +86 -2
- data/docs/api/Brut/FrontEnd/Component.html +78 -9
- data/docs/api/Brut/FrontEnd/Components/ConstraintViolations.html +3 -3
- data/docs/api/Brut/FrontEnd/Components/FormTag.html +3 -3
- data/docs/api/Brut/FrontEnd/Components/I18nTranslations.html +3 -3
- data/docs/api/Brut/FrontEnd/Components/Input.html +3 -3
- data/docs/api/Brut/FrontEnd/Components/Inputs/CsrfToken.html +3 -3
- data/docs/api/Brut/FrontEnd/Components/Inputs/InputTag.html +3 -3
- data/docs/api/Brut/FrontEnd/Components/Inputs/RadioButton.html +3 -3
- data/docs/api/Brut/FrontEnd/Components/Inputs/SelectTagWithOptions.html +3 -3
- data/docs/api/Brut/FrontEnd/Components/Inputs/TextareaTag.html +3 -3
- data/docs/api/Brut/FrontEnd/Components/Inputs.html +1 -1
- data/docs/api/Brut/FrontEnd/Components/LocaleDetection.html +3 -3
- data/docs/api/Brut/FrontEnd/Components/PageIdentifier.html +3 -3
- data/docs/api/Brut/FrontEnd/Components/TimeTag.html +3 -3
- data/docs/api/Brut/FrontEnd/Components/Traceparent.html +3 -3
- 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 +1 -1
- 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 +1 -1
- data/docs/api/Brut/FrontEnd/Forms/RadioButtonGroupInputDefinition.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/SelectInput.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/SelectInputDefinition.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms/ValidityState.html +1 -1
- data/docs/api/Brut/FrontEnd/Forms.html +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 +3 -3
- 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 +31 -23
- data/docs/api/Brut/FrontEnd/Pages/MissingPage.html +3 -3
- 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 +13 -11
- data/docs/api/Brut/SinatraHelpers.html +1 -1
- data/docs/api/Brut/SpecSupport/ClockSupport.html +1 -1
- data/docs/api/Brut/SpecSupport/ComponentSupport.html +1 -1
- data/docs/api/Brut/SpecSupport/E2ETestServer.html +1 -1
- data/docs/api/Brut/SpecSupport/E2eSupport.html +1 -1
- data/docs/api/Brut/SpecSupport/EnhancedNode.html +1 -1
- data/docs/api/Brut/SpecSupport/FlashSupport.html +1 -1
- data/docs/api/Brut/SpecSupport/GeneralSupport/ClassMethods.html +1 -1
- data/docs/api/Brut/SpecSupport/GeneralSupport.html +1 -1
- data/docs/api/Brut/SpecSupport/HandlerSupport.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/BeABug.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/BePageFor.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/BeRoutingFor.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/HaveConstraintViolation.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/HaveGenerated.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/HaveHTMLAttribute.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/HaveI18nString.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/HaveLinkTo.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/HaveRedirectedTo.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/HaveReturnedHttpStatus.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers/HaveReturnedRackResponse.html +1 -1
- data/docs/api/Brut/SpecSupport/Matchers.html +1 -1
- data/docs/api/Brut/SpecSupport/RSpecSetup/OptionalSidekiqSupport.html +1 -1
- data/docs/api/Brut/SpecSupport/RSpecSetup.html +1 -1
- data/docs/api/Brut/SpecSupport/SessionSupport.html +1 -1
- data/docs/api/Brut/SpecSupport.html +1 -1
- data/docs/api/Brut.html +1 -1
- data/docs/api/Clock.html +1 -1
- data/docs/api/ModuleName.html +1 -1
- data/docs/api/RichString.html +1 -1
- data/docs/api/SemanticLogger/Appender/Async.html +1 -1
- data/docs/api/Sequel/Extensions/BrutInstrumentation.html +1 -1
- data/docs/api/Sequel/Extensions/BrutMigrations.html +1 -1
- data/docs/api/Sequel/Extensions.html +1 -1
- data/docs/api/Sequel/Plugins/CreatedAt/InstanceMethods.html +1 -1
- data/docs/api/Sequel/Plugins/CreatedAt.html +1 -1
- data/docs/api/Sequel/Plugins/ExternalId/ClassMethods.html +1 -1
- data/docs/api/Sequel/Plugins/ExternalId/InstanceMethods.html +1 -1
- data/docs/api/Sequel/Plugins/ExternalId.html +1 -1
- data/docs/api/Sequel/Plugins/FindBang/ClassMethods.html +1 -1
- data/docs/api/Sequel/Plugins/FindBang.html +1 -1
- data/docs/api/Sequel/Plugins.html +1 -1
- data/docs/api/Sequel.html +1 -1
- data/docs/api/_index.html +1 -1
- data/docs/api/file.README.html +1 -1
- data/docs/api/index.html +1 -1
- data/docs/api/method_list.html +92 -76
- data/docs/api/top-level-namespace.html +1 -1
- data/docs/assets/{adrs.md.JRxZ5uYE.js → adrs.md.BxjHi9-8.js} +1 -1
- data/docs/assets/adrs.md.BxjHi9-8.lean.js +1 -0
- data/docs/assets/{app.AkS4fHzI.js → app.DyQLb4Ot.js} +1 -1
- data/docs/assets/chunks/@localSearchIndexroot.CmtZyrFA.js +1 -0
- data/docs/assets/chunks/{VPLocalSearchBox.By6un1FD.js → VPLocalSearchBox.T1iA-eJx.js} +1 -1
- data/docs/assets/chunks/{theme.DwiUPdci.js → theme.ChwsbWjK.js} +2 -2
- data/docs/assets/{components.md.BfeWD9sX.js → components.md.DHh-NwKs.js} +3 -3
- data/docs/assets/{configuration.md.DoSBNc0H.js → configuration.md.D8Wz3oJU.js} +1 -1
- data/docs/assets/{forms.md.DFveP5g_.js → forms.md.BRE85eju.js} +1 -1
- data/docs/assets/{getting-started.md.DZWjCVC0.js → getting-started.md.2ioiTe-B.js} +6 -3
- data/docs/assets/{getting-started.md.DZWjCVC0.lean.js → getting-started.md.2ioiTe-B.lean.js} +1 -1
- data/docs/assets/overview.md.DlKiRRG_.js +1 -0
- data/docs/assets/overview.md.DlKiRRG_.lean.js +1 -0
- data/docs/assets/tutorial.md.BIb7XT6j.js +1 -0
- data/docs/assets/tutorial.md.BIb7XT6j.lean.js +1 -0
- data/docs/assets.html +3 -3
- data/docs/brut-css/brut.max.css +1 -1
- data/docs/brut-css/classes/appearances.html +1 -1
- data/docs/brut-css/classes/background-colors.html +1 -1
- data/docs/brut-css/classes/border-colors.html +1 -1
- data/docs/brut-css/classes/borders.html +1 -1
- data/docs/brut-css/classes/dimensions.html +1 -1
- data/docs/brut-css/classes/flex.html +3 -3
- data/docs/brut-css/classes/foreground-colors.html +1 -1
- data/docs/brut-css/classes/junk-drawer.html +1 -1
- data/docs/brut-css/classes/layout.html +1 -1
- data/docs/brut-css/classes/lists.html +1 -1
- data/docs/brut-css/classes/positioning.html +1 -1
- data/docs/brut-css/classes/spacings.html +1 -1
- data/docs/brut-css/classes/typography.html +1 -1
- data/docs/brut-css/customization/advanced-configuration.html +1 -1
- data/docs/brut-css/customization/breakpoints.html +1 -1
- data/docs/brut-css/customization/design-system.html +1 -1
- data/docs/brut-css/customization/pseudo-classes.html +1 -1
- data/docs/brut-css/getting-started/core-concepts.html +1 -1
- data/docs/brut-css/getting-started/installation.html +1 -1
- data/docs/brut-css/getting-started/overview.html +1 -1
- data/docs/brut-css/getting-started/simple-example.html +1 -1
- data/docs/brut-css/index.html +1 -1
- data/docs/brut-css/properties/colors.html +1 -1
- data/docs/brut-css/properties/spacings.html +1 -1
- data/docs/brut-css/properties/typography.html +1 -1
- data/docs/brut-js/api/AjaxSubmit.html +56 -7
- data/docs/brut-js/api/AjaxSubmit.js.html +77 -41
- 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 +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 +3 -3
- 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 +9 -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 +5 -5
- 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 +3 -3
- 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 +5 -5
- data/docs/unit-tests.html +3 -3
- data/docs/why.html +3 -3
- data/lib/brut/cli/apps/scaffold.rb +1 -1
- data/lib/brut/framework/mcp.rb +1 -1
- data/lib/brut/front_end/component.rb +19 -0
- data/lib/brut/front_end/components/form_tag.rb +2 -2
- data/lib/brut/front_end/page.rb +11 -7
- data/lib/brut/sinatra_helpers.rb +1 -0
- data/lib/brut/version.rb +1 -1
- data/mkbrut/.gitignore +16 -0
- data/mkbrut/CODE_OF_CONDUCT.txt +100 -0
- data/mkbrut/Gemfile +3 -0
- data/mkbrut/Gemfile.lock +19 -0
- data/mkbrut/LICENSE.txt +370 -0
- data/mkbrut/README.md +145 -0
- data/mkbrut/Rakefile +2 -0
- data/mkbrut/bin/build +36 -0
- data/mkbrut/bin/ci +19 -0
- data/mkbrut/bin/docs +19 -0
- data/mkbrut/bin/publish +129 -0
- data/mkbrut/bin/rake +16 -0
- data/mkbrut/bin/setup +30 -0
- data/mkbrut/brut-welcome.png +0 -0
- data/mkbrut/deploy/.dockerignore +2 -0
- data/mkbrut/deploy/Dockerfile +25 -0
- data/mkbrut/exe/mkbrut +5 -0
- data/mkbrut/lib/mkbrut/app.rb +79 -0
- data/mkbrut/lib/mkbrut/app_id.rb +8 -0
- data/mkbrut/lib/mkbrut/app_name.rb +29 -0
- data/mkbrut/lib/mkbrut/app_options.rb +36 -0
- data/mkbrut/lib/mkbrut/base.rb +57 -0
- data/mkbrut/lib/mkbrut/cli.rb +107 -0
- data/mkbrut/lib/mkbrut/erb_binding_delegate.rb +20 -0
- data/mkbrut/lib/mkbrut/internet_identifier.rb +32 -0
- data/mkbrut/lib/mkbrut/invalid_identifier.rb +4 -0
- data/mkbrut/lib/mkbrut/ops/add_css_import.rb +42 -0
- data/mkbrut/lib/mkbrut/ops/add_i18n_message.rb +74 -0
- data/mkbrut/lib/mkbrut/ops/add_method.rb +48 -0
- data/mkbrut/lib/mkbrut/ops/append_to_file.rb +20 -0
- data/mkbrut/lib/mkbrut/ops/base_op.rb +21 -0
- data/mkbrut/lib/mkbrut/ops/copy_file.rb +12 -0
- data/mkbrut/lib/mkbrut/ops/insert_code_in_method.rb +58 -0
- data/mkbrut/lib/mkbrut/ops/insert_route.rb +52 -0
- data/mkbrut/lib/mkbrut/ops/mkdir.rb +13 -0
- data/mkbrut/lib/mkbrut/ops/prism_parsing_op.rb +70 -0
- data/mkbrut/lib/mkbrut/ops/render_template.rb +26 -0
- data/mkbrut/lib/mkbrut/ops/skip_file.rb +10 -0
- data/mkbrut/lib/mkbrut/ops.rb +16 -0
- data/mkbrut/lib/mkbrut/organization.rb +5 -0
- data/mkbrut/lib/mkbrut/prefix.rb +26 -0
- data/mkbrut/lib/mkbrut/prefixed_io.rb +16 -0
- data/mkbrut/lib/mkbrut/segments/bare_bones.rb +185 -0
- data/mkbrut/lib/mkbrut/segments/demo.rb +121 -0
- data/mkbrut/lib/mkbrut/segments/heroku.rb +30 -0
- data/mkbrut/lib/mkbrut/segments/sidekiq.rb +3 -0
- data/mkbrut/lib/mkbrut/segments.rb +8 -0
- data/mkbrut/lib/mkbrut/version.rb +3 -0
- data/mkbrut/lib/mkbrut/versions.rb +13 -0
- data/mkbrut/lib/mkbrut.rb +18 -0
- data/mkbrut/mkbrut.gemspec +32 -0
- data/mkbrut/templates/Base/.dockerignore +25 -0
- data/mkbrut/templates/Base/.env.development.erb +60 -0
- data/mkbrut/templates/Base/.env.test.erb +8 -0
- data/mkbrut/templates/Base/.gitignore +31 -0
- data/mkbrut/templates/Base/.projections.json +59 -0
- data/mkbrut/templates/Base/Dockerfile.dx +205 -0
- data/mkbrut/templates/Base/Gemfile.erb +53 -0
- data/mkbrut/templates/Base/Procfile.development +5 -0
- data/mkbrut/templates/Base/Procfile.test +1 -0
- data/mkbrut/templates/Base/README.md +4 -0
- data/mkbrut/templates/Base/README.md.erb +40 -0
- data/mkbrut/templates/Base/app/bootstrap.rb +61 -0
- data/mkbrut/templates/Base/app/config/i18n/en/1_defaults.rb +128 -0
- data/mkbrut/templates/Base/app/config/i18n/en/2_app.rb +24 -0
- data/mkbrut/templates/Base/app/public/static/manifest.json.erb +33 -0
- data/mkbrut/templates/Base/app/src/app.rb.erb +37 -0
- data/mkbrut/templates/Base/app/src/back_end/data_models/app_data_model.rb +5 -0
- data/mkbrut/templates/Base/app/src/back_end/data_models/db.rb +19 -0
- data/mkbrut/templates/Base/app/src/back_end/data_models/migrations/20240101130000_citext.rb +6 -0
- data/mkbrut/templates/Base/app/src/back_end/data_models/seed/seed_data.rb +9 -0
- data/mkbrut/templates/Base/app/src/front_end/components/app_component.rb +8 -0
- data/mkbrut/templates/Base/app/src/front_end/components/custom_element_registration.rb.erb +7 -0
- data/mkbrut/templates/Base/app/src/front_end/css/index.css +2 -0
- data/mkbrut/templates/Base/app/src/front_end/css/svgs.css +12 -0
- data/mkbrut/templates/Base/app/src/front_end/forms/app_form.rb +4 -0
- data/mkbrut/templates/Base/app/src/front_end/handlers/app_handler.rb +4 -0
- data/mkbrut/templates/Base/app/src/front_end/images/LogoPylon.png +0 -0
- data/mkbrut/templates/Base/app/src/front_end/images/LogoTransit.png +0 -0
- data/mkbrut/templates/Base/app/src/front_end/images/apple-touch-icon-120x120.png +0 -0
- data/mkbrut/templates/Base/app/src/front_end/images/apple-touch-icon-152x152.png +0 -0
- data/mkbrut/templates/Base/app/src/front_end/images/apple-touch-icon-167x167.png +0 -0
- data/mkbrut/templates/Base/app/src/front_end/images/apple-touch-icon-180x180.png +0 -0
- data/mkbrut/templates/Base/app/src/front_end/images/favicon.ico +0 -0
- data/mkbrut/templates/Base/app/src/front_end/images/icon.png +0 -0
- data/mkbrut/templates/Base/app/src/front_end/images/mkicons.sh +6 -0
- data/mkbrut/templates/Base/app/src/front_end/js/index.js +6 -0
- data/mkbrut/templates/Base/app/src/front_end/layouts/default_layout.rb.erb +73 -0
- data/mkbrut/templates/Base/app/src/front_end/pages/app_page.rb +11 -0
- data/mkbrut/templates/Base/app/src/front_end/pages/home_page.rb +62 -0
- data/mkbrut/templates/Base/app/src/front_end/support/app_session.rb +6 -0
- data/mkbrut/templates/Base/app/src/front_end/svgs/README.md +5 -0
- data/mkbrut/templates/Base/app/src/front_end/svgs/comment-button.svg +59 -0
- data/mkbrut/templates/Base/bin/README.md.erb +5 -0
- data/mkbrut/templates/Base/bin/build-assets +7 -0
- data/mkbrut/templates/Base/bin/ci +39 -0
- data/mkbrut/templates/Base/bin/console +31 -0
- data/mkbrut/templates/Base/bin/db +9 -0
- data/mkbrut/templates/Base/bin/dbconsole +51 -0
- data/mkbrut/templates/Base/bin/dev +25 -0
- data/mkbrut/templates/Base/bin/release +26 -0
- data/mkbrut/templates/Base/bin/run +86 -0
- data/mkbrut/templates/Base/bin/scaffold +9 -0
- data/mkbrut/templates/Base/bin/setup +256 -0
- data/mkbrut/templates/Base/bin/startup-message +65 -0
- data/mkbrut/templates/Base/bin/test +9 -0
- data/mkbrut/templates/Base/bin/test-server +29 -0
- data/mkbrut/templates/Base/bin/watch-and-build-assets +37 -0
- data/mkbrut/templates/Base/config.ru +16 -0
- data/mkbrut/templates/Base/docker-compose.dx.yml +92 -0
- data/mkbrut/templates/Base/dx/README.md +28 -0
- data/mkbrut/templates/Base/dx/bash_customizations +12 -0
- data/mkbrut/templates/Base/dx/bash_customizations.local +8 -0
- data/mkbrut/templates/Base/dx/build +107 -0
- data/mkbrut/templates/Base/dx/docker-compose.env.erb +25 -0
- data/mkbrut/templates/Base/dx/dx.sh.lib +137 -0
- data/mkbrut/templates/Base/dx/exec +68 -0
- data/mkbrut/templates/Base/dx/prune +19 -0
- data/mkbrut/templates/Base/dx/show-help-in-app-container-then-wait.sh +38 -0
- data/mkbrut/templates/Base/dx/start +30 -0
- data/mkbrut/templates/Base/dx/stop +23 -0
- data/mkbrut/templates/Base/package.json.erb +37 -0
- data/mkbrut/templates/Base/puma.config.rb +53 -0
- data/mkbrut/templates/Base/specs/e2e/home_page.spec.rb.erb +23 -0
- data/mkbrut/templates/Base/specs/front_end/js/SpecHelper.js +24 -0
- data/mkbrut/templates/Base/specs/front_end/pages/home_page.spec.rb +22 -0
- data/mkbrut/templates/Base/specs/lint_factories.spec.rb +7 -0
- data/mkbrut/templates/Base/specs/spec_helper.rb +78 -0
- data/mkbrut/templates/Base/specs/support.rb +2 -0
- data/mkbrut/templates/segments/BareBones/app/src/front_end/handlers/trigger_exception_handler.rb +24 -0
- data/mkbrut/templates/segments/BareBones/app/src/front_end/js/Example.js.erb +49 -0
- data/mkbrut/templates/segments/BareBones/specs/front_end/handlers/trigger_exception_handler.spec.rb +41 -0
- data/mkbrut/templates/segments/BareBones/specs/front_end/js/Example.spec.js.erb +38 -0
- data/mkbrut/templates/segments/Demo/app/src/back_end/data_models/db/guestbook_message.rb +3 -0
- data/mkbrut/templates/segments/Demo/app/src/back_end/data_models/migrations/20250628194124_guestbook.rb +14 -0
- data/mkbrut/templates/segments/Demo/app/src/front_end/components/flash_component.rb +36 -0
- data/mkbrut/templates/segments/Demo/app/src/front_end/css/constraint-violations.css +18 -0
- data/mkbrut/templates/segments/Demo/app/src/front_end/css/fonts.css +19 -0
- data/mkbrut/templates/segments/Demo/app/src/front_end/fonts/monaspace-xenon.ttf +0 -0
- data/mkbrut/templates/segments/Demo/app/src/front_end/forms/guestbook_message_form.rb +4 -0
- data/mkbrut/templates/segments/Demo/app/src/front_end/handlers/guestbook_message_handler.rb +64 -0
- data/mkbrut/templates/segments/Demo/app/src/front_end/pages/guestbook_page/message_component.rb +41 -0
- data/mkbrut/templates/segments/Demo/app/src/front_end/pages/guestbook_page.rb +43 -0
- data/mkbrut/templates/segments/Demo/app/src/front_end/pages/new_guestbook_message_page.rb +64 -0
- data/mkbrut/templates/segments/Demo/specs/back_end/data_models/db/guestbook_message.spec.rb +5 -0
- data/mkbrut/templates/segments/Demo/specs/e2e/guest_message.spec.rb +54 -0
- data/mkbrut/templates/segments/Demo/specs/factories/db/guestbook_message.factory.rb +7 -0
- data/mkbrut/templates/segments/Demo/specs/front_end/components/flash_component.spec.rb +5 -0
- data/mkbrut/templates/segments/Demo/specs/front_end/handlers/guestbook_message_handler.spec.rb +122 -0
- data/mkbrut/templates/segments/Demo/specs/front_end/pages/guestbook_page/message_component.spec.rb +5 -0
- data/mkbrut/templates/segments/Demo/specs/front_end/pages/guestbook_page.spec.rb +52 -0
- data/mkbrut/templates/segments/Demo/specs/front_end/pages/new_guestbook_message_page.spec.rb +5 -0
- data/mkbrut/templates/segments/Heroku/bin/deploy +11 -0
- data/mkbrut/templates/segments/Heroku/deploy/Dockerfile +125 -0
- data/mkbrut/templates/segments/Heroku/deploy/docker-entrypoint +15 -0
- data/mkbrut/templates/segments/Heroku/deploy/heroku_config.rb +26 -0
- metadata +188 -24
- data/brut-js/CHANGELOG.md +0 -5
- data/docs/assets/adrs.md.JRxZ5uYE.lean.js +0 -1
- data/docs/assets/chunks/@localSearchIndexroot.C9FqcQxD.js +0 -1
- data/docs/assets/overview.md.iMnwLO4x.js +0 -1
- data/docs/assets/overview.md.iMnwLO4x.lean.js +0 -1
- data/docs/assets/tutorial.md.BYXj4cOu.js +0 -1
- data/docs/assets/tutorial.md.BYXj4cOu.lean.js +0 -1
- /data/docs/assets/{components.md.BfeWD9sX.lean.js → components.md.DHh-NwKs.lean.js} +0 -0
- /data/docs/assets/{configuration.md.DoSBNc0H.lean.js → configuration.md.D8Wz3oJU.lean.js} +0 -0
- /data/docs/assets/{forms.md.DFveP5g_.lean.js → forms.md.BRE85eju.lean.js} +0 -0
@@ -0,0 +1,125 @@
|
|
1
|
+
# This is a multi-stage build, meaning one image will be built that
|
2
|
+
# has necessarily dev tools in it, and that image is used to create artifacts
|
3
|
+
# that will be copied into the second build, which will create the image
|
4
|
+
# you deploy to production.
|
5
|
+
#
|
6
|
+
# # Maintaing this file
|
7
|
+
#
|
8
|
+
# You own this file now. While there could be a way to create it from
|
9
|
+
# the Dockerfile.dx, for now, you'll need to stay on top of it:
|
10
|
+
#
|
11
|
+
# 1 - ensure the versions of Ruby match
|
12
|
+
# 2 - ensure the versions of NodeJS match
|
13
|
+
# 3 - ensure that anything you installed in Dockerfile.dx to make
|
14
|
+
# the app work or to pre-generate assets is set up here as well.
|
15
|
+
# You are advised to make that setup identical.
|
16
|
+
#
|
17
|
+
# You can test this locally but using the `--plaform` flag to `bin/deploy deploy`
|
18
|
+
# and running a container locally. You'll need all infrastructure available
|
19
|
+
# but it can be done to test things before you deploy. If you need to.
|
20
|
+
|
21
|
+
# Use Ruby 3.4 as a base.
|
22
|
+
FROM docker.io/library/ruby:3.4 AS base
|
23
|
+
|
24
|
+
# bin/deploy will inject this value so that your app's GIT SHA1
|
25
|
+
# is in the environment in production, thus allowing you to be more
|
26
|
+
# sure of what's actually running.
|
27
|
+
ARG app_git_sha1
|
28
|
+
|
29
|
+
WORKDIR /brut-app
|
30
|
+
|
31
|
+
# Install base packages
|
32
|
+
#
|
33
|
+
# - ca-certificates is needed for other installs
|
34
|
+
# - curl is needed generally for other installs and by Heroku
|
35
|
+
# - gnupg is a PGP replacement used in making sure new APT repos work
|
36
|
+
# - libjemalloc2 in theory speeds up Ruby
|
37
|
+
# - lsb-release is used to generically access information for this OS's version
|
38
|
+
# - wget allows us to copy/paste commands from vendors about how to install
|
39
|
+
# software even though it does the same thing as curl
|
40
|
+
RUN apt-get update --quiet --yes && \
|
41
|
+
apt-get install --no-install-recommends --quiet --yes \
|
42
|
+
ca-certificates \
|
43
|
+
curl \
|
44
|
+
gnupg \
|
45
|
+
libjemalloc2 \
|
46
|
+
lsb-release \
|
47
|
+
rsync \
|
48
|
+
wget && \
|
49
|
+
rm -rf /var/lib/apt/lists /var/cache/apt/archives
|
50
|
+
|
51
|
+
# Install the PostgreSQL client. The latest version is not available
|
52
|
+
# from Debian, so we set up our own. This should match what's in Dockerfile.dx
|
53
|
+
# and ideally the version of Postgres used in production.
|
54
|
+
#
|
55
|
+
# Incancation is based on: https://www.postgresql.org/download/linux/debian/
|
56
|
+
RUN sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' && \
|
57
|
+
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - && \
|
58
|
+
apt-get update && \
|
59
|
+
apt-get --yes --quiet install postgresql-client-16 && \
|
60
|
+
rm -rf /var/lib/apt/lists /var/cache/apt/archives
|
61
|
+
|
62
|
+
# Set basic env vars for production
|
63
|
+
ENV RACK_ENV="production" \
|
64
|
+
BUNDLE_DEPLOYMENT="1" \
|
65
|
+
BUNDLE_PATH="/usr/local/bundle" \
|
66
|
+
BUNDLE_WITHOUT="development" \
|
67
|
+
APP_GIT_SHA1="${app_git_sha1}"
|
68
|
+
|
69
|
+
# This makes a new image that we'll throw away after building
|
70
|
+
# needed artifacts.
|
71
|
+
FROM base AS build
|
72
|
+
|
73
|
+
# - build-essential is needed for almost any build tool we have to install
|
74
|
+
# - git is needed to install some things
|
75
|
+
# - libpq-dev is needed by postgres
|
76
|
+
# - pkg-config is, I guess, not considered "essential" (as in build-essential),
|
77
|
+
# but still needed to install downstream stuff
|
78
|
+
RUN apt-get update --quiet --yes && \
|
79
|
+
apt-get install --no-install-recommends --quiet --yes \
|
80
|
+
build-essential \
|
81
|
+
git \
|
82
|
+
libpq-dev \
|
83
|
+
pkg-config
|
84
|
+
|
85
|
+
# Install NodeJS, per https://nodejs.org/en/download
|
86
|
+
RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash && \
|
87
|
+
\. "$HOME/.nvm/nvm.sh" && \
|
88
|
+
nvm install 22 && \
|
89
|
+
node -v && nvm current && npm -v
|
90
|
+
|
91
|
+
# Copy the app into the file, excluding the contents of .dockerignore
|
92
|
+
COPY . .
|
93
|
+
|
94
|
+
# Install RubyGems from app's Gemfile
|
95
|
+
RUN bundle install --verbose && \
|
96
|
+
rm -rf ~/.bundle/ "${BUNDLE_PATH}"/ruby/*/cache "${BUNDLE_PATH}"/ruby/*/bundler/gems/*/.git
|
97
|
+
|
98
|
+
# Install Node Modules from package.json
|
99
|
+
RUN \. "$HOME/.nvm/nvm.sh" && \
|
100
|
+
nvm use default && \
|
101
|
+
npm clean-install --no-audit --no-fund --verbose
|
102
|
+
|
103
|
+
# Build all assets
|
104
|
+
RUN \. "$HOME/.nvm/nvm.sh" && \
|
105
|
+
nvm use default && \
|
106
|
+
bin/build-assets && \
|
107
|
+
rm -rf node_modules
|
108
|
+
|
109
|
+
# We are now switching back to building the image that will be deployed.
|
110
|
+
|
111
|
+
FROM base
|
112
|
+
# Copy built artifacts from the throwaway image: gems, application
|
113
|
+
COPY --from=build "${BUNDLE_PATH}" "${BUNDLE_PATH}"
|
114
|
+
COPY --from=build /brut-app /brut-app
|
115
|
+
|
116
|
+
# For security, set directories that will be written to be owned by non-root
|
117
|
+
RUN groupadd --system --gid 1000 brut && \
|
118
|
+
useradd brut --uid 1000 --gid 1000 --create-home --shell /bin/bash && \
|
119
|
+
chown -R brut:brut logs tmp
|
120
|
+
USER 1000:1000
|
121
|
+
|
122
|
+
# This is used to execute other commands. When the app is run in production,
|
123
|
+
# this script is used to run it.
|
124
|
+
ENTRYPOINT ["/brut-app/deploy/docker-entrypoint"]
|
125
|
+
|
@@ -0,0 +1,15 @@
|
|
1
|
+
#!/bin/bash -e
|
2
|
+
|
3
|
+
# This is the Docker entrypoint, mean this script is used to execute
|
4
|
+
# the command given to the RUN directive.
|
5
|
+
#
|
6
|
+
# The reason this exists is to load jemalloc. If you don't want to use
|
7
|
+
# jemalloc, you can delete this script, as well as the ENTRYPOINT directive
|
8
|
+
# in deploy/Dockerfile.
|
9
|
+
|
10
|
+
# Enable jemalloc for reduced memory usage and latency.
|
11
|
+
if [ -z "${LD_PRELOAD+x}" ] && [ -f /usr/lib/*/libjemalloc.so.2 ]; then
|
12
|
+
export LD_PRELOAD="$(echo /usr/lib/*/libjemalloc.so.2)"
|
13
|
+
fi
|
14
|
+
|
15
|
+
exec "${@}"
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# This contains settings for your Heroku setup.
|
2
|
+
# You own and maintain this file. It is required by
|
3
|
+
# build/deploy
|
4
|
+
class HerokuConfig
|
5
|
+
|
6
|
+
# Return a Hash oif additional images to run, beyond "web" and "release".
|
7
|
+
#
|
8
|
+
# The format of this Hash is:
|
9
|
+
#
|
10
|
+
# {
|
11
|
+
# "«image name» => {
|
12
|
+
# cmd: "«command line for Dockerfile RUN directive»",
|
13
|
+
# }
|
14
|
+
# }
|
15
|
+
#
|
16
|
+
# For example, if you have the Sidekiq segment installed, `bin/run-sidekiq`
|
17
|
+
# runs Sidekiq, so you would return this hash:
|
18
|
+
#
|
19
|
+
# {
|
20
|
+
# "sidekiq" => {
|
21
|
+
# cmd: "bin/run-sidekiq",
|
22
|
+
# }
|
23
|
+
# }
|
24
|
+
def self.additional_images = {}
|
25
|
+
end
|
26
|
+
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: brut
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Bryant Copeland
|
@@ -387,7 +387,7 @@ dependencies:
|
|
387
387
|
- - ">="
|
388
388
|
- !ruby/object:Gem::Version
|
389
389
|
version: '0'
|
390
|
-
description:
|
390
|
+
description: An opinionated web framework build on web standards
|
391
391
|
email:
|
392
392
|
- davec@thirdtank.com
|
393
393
|
executables: []
|
@@ -410,20 +410,27 @@ files:
|
|
410
410
|
- assets/LogoPylon.pxd
|
411
411
|
- assets/LogoStop.pxd
|
412
412
|
- assets/LogoTall.pxd
|
413
|
+
- assets/MetroIcon.graffle
|
413
414
|
- assets/MetroLogo.graffle
|
414
415
|
- assets/SocialImage.png
|
415
416
|
- assets/SocialImage.pxd
|
417
|
+
- assets/YouTubeThumb.pxd
|
416
418
|
- bin/bin_kit.rb
|
419
|
+
- bin/build
|
420
|
+
- bin/ci
|
417
421
|
- bin/dev
|
418
422
|
- bin/docs
|
423
|
+
- bin/publish
|
419
424
|
- bin/rake
|
420
425
|
- bin/rspec
|
421
426
|
- bin/setup
|
422
427
|
- brut-css/.nvim.lua
|
423
428
|
- brut-css/README.md
|
424
429
|
- brut-css/bin/build
|
430
|
+
- brut-css/bin/ci
|
425
431
|
- brut-css/bin/dev
|
426
432
|
- brut-css/bin/docs
|
433
|
+
- brut-css/bin/publish
|
427
434
|
- brut-css/bin/setup
|
428
435
|
- brut-css/config/media-queries-all.css
|
429
436
|
- brut-css/config/media-queries-minimal.css
|
@@ -503,10 +510,11 @@ files:
|
|
503
510
|
- brut-css/src/js/post-css-plugins/generateRootCustomPropertiesPlugin.js
|
504
511
|
- brut-css/src/js/pseudoClassConfigParser.js
|
505
512
|
- brut-js/.projections.json
|
506
|
-
- brut-js/CHANGELOG.md
|
507
513
|
- brut-js/README.md
|
508
514
|
- brut-js/bin/build
|
509
515
|
- brut-js/bin/ci
|
516
|
+
- brut-js/bin/docs
|
517
|
+
- brut-js/bin/publish
|
510
518
|
- brut-js/bin/setup
|
511
519
|
- brut-js/docs/README.md
|
512
520
|
- brut-js/docs/jsdoc-plugins/customElementTag.js
|
@@ -538,6 +546,7 @@ files:
|
|
538
546
|
- brut-js/docs/jsdoc.config.json
|
539
547
|
- brut-js/docs/package-lock.json
|
540
548
|
- brut-js/docs/package.json
|
549
|
+
- brut-js/dx
|
541
550
|
- brut-js/package-lock.json
|
542
551
|
- brut-js/package.json
|
543
552
|
- brut-js/specs/AjaxSubmit.spec.js
|
@@ -892,27 +901,27 @@ files:
|
|
892
901
|
- docs/assets/DevEnvironment.DaFcVfwP.png
|
893
902
|
- docs/assets/LogoStop.Gb3tDhL1.png
|
894
903
|
- docs/assets/OverviewMetro.DUS-5fUZ.png
|
895
|
-
- docs/assets/adrs.md.
|
896
|
-
- docs/assets/adrs.md.
|
904
|
+
- docs/assets/adrs.md.BxjHi9-8.js
|
905
|
+
- docs/assets/adrs.md.BxjHi9-8.lean.js
|
897
906
|
- docs/assets/ai.md.Cy9GWnER.js
|
898
907
|
- docs/assets/ai.md.Cy9GWnER.lean.js
|
899
|
-
- docs/assets/app.
|
908
|
+
- docs/assets/app.DyQLb4Ot.js
|
900
909
|
- docs/assets/assets.md.7C3HWkga.js
|
901
910
|
- docs/assets/assets.md.7C3HWkga.lean.js
|
902
911
|
- docs/assets/brut-js.md.B4GYxQVw.js
|
903
912
|
- docs/assets/brut-js.md.B4GYxQVw.lean.js
|
904
913
|
- docs/assets/business-logic.md.BY4hGy0m.js
|
905
914
|
- docs/assets/business-logic.md.BY4hGy0m.lean.js
|
906
|
-
- docs/assets/chunks/@localSearchIndexroot.
|
907
|
-
- docs/assets/chunks/VPLocalSearchBox.
|
915
|
+
- docs/assets/chunks/@localSearchIndexroot.CmtZyrFA.js
|
916
|
+
- docs/assets/chunks/VPLocalSearchBox.T1iA-eJx.js
|
908
917
|
- docs/assets/chunks/framework.1L-BeKqY.js
|
909
|
-
- docs/assets/chunks/theme.
|
918
|
+
- docs/assets/chunks/theme.ChwsbWjK.js
|
910
919
|
- docs/assets/cli.md.CjsktgFz.js
|
911
920
|
- docs/assets/cli.md.CjsktgFz.lean.js
|
912
|
-
- docs/assets/components.md.
|
913
|
-
- docs/assets/components.md.
|
914
|
-
- docs/assets/configuration.md.
|
915
|
-
- docs/assets/configuration.md.
|
921
|
+
- docs/assets/components.md.DHh-NwKs.js
|
922
|
+
- docs/assets/components.md.DHh-NwKs.lean.js
|
923
|
+
- docs/assets/configuration.md.D8Wz3oJU.js
|
924
|
+
- docs/assets/configuration.md.D8Wz3oJU.lean.js
|
916
925
|
- docs/assets/css.md.CltvJqAa.js
|
917
926
|
- docs/assets/css.md.CltvJqAa.lean.js
|
918
927
|
- docs/assets/custom-element-tests.md.B_rbta32.js
|
@@ -938,10 +947,10 @@ files:
|
|
938
947
|
- docs/assets/flash-and-session.md.nPvUpnUx.lean.js
|
939
948
|
- docs/assets/form-constraints.md.DK5adCgM.js
|
940
949
|
- docs/assets/form-constraints.md.DK5adCgM.lean.js
|
941
|
-
- docs/assets/forms.md.
|
942
|
-
- docs/assets/forms.md.
|
943
|
-
- docs/assets/getting-started.md.
|
944
|
-
- docs/assets/getting-started.md.
|
950
|
+
- docs/assets/forms.md.BRE85eju.js
|
951
|
+
- docs/assets/forms.md.BRE85eju.lean.js
|
952
|
+
- docs/assets/getting-started.md.2ioiTe-B.js
|
953
|
+
- docs/assets/getting-started.md.2ioiTe-B.lean.js
|
945
954
|
- docs/assets/handlers.md.h84MMB1R.js
|
946
955
|
- docs/assets/handlers.md.h84MMB1R.lean.js
|
947
956
|
- docs/assets/hooks.md.Jmb5VOLA.js
|
@@ -966,8 +975,8 @@ files:
|
|
966
975
|
- docs/assets/markdown-examples.md.CCFEQO44.lean.js
|
967
976
|
- docs/assets/middleware.md.Czz_UlJN.js
|
968
977
|
- docs/assets/middleware.md.Czz_UlJN.lean.js
|
969
|
-
- docs/assets/overview.md.
|
970
|
-
- docs/assets/overview.md.
|
978
|
+
- docs/assets/overview.md.DlKiRRG_.js
|
979
|
+
- docs/assets/overview.md.DlKiRRG_.lean.js
|
971
980
|
- docs/assets/pages.md.B7Hc-i6H.js
|
972
981
|
- docs/assets/pages.md.B7Hc-i6H.lean.js
|
973
982
|
- docs/assets/recipes_alternate-layouts.md.BwEytl59.js
|
@@ -996,8 +1005,8 @@ files:
|
|
996
1005
|
- docs/assets/space-time-continuum.md.xl44xDos.js
|
997
1006
|
- docs/assets/space-time-continuum.md.xl44xDos.lean.js
|
998
1007
|
- docs/assets/style.B1z60PPQ.css
|
999
|
-
- docs/assets/tutorial.md.
|
1000
|
-
- docs/assets/tutorial.md.
|
1008
|
+
- docs/assets/tutorial.md.BIb7XT6j.js
|
1009
|
+
- docs/assets/tutorial.md.BIb7XT6j.lean.js
|
1001
1010
|
- docs/assets/unit-tests.md.DUGrnLj5.js
|
1002
1011
|
- docs/assets/unit-tests.md.DUGrnLj5.lean.js
|
1003
1012
|
- docs/assets/why.md.C-hk5xgJ.js
|
@@ -1294,6 +1303,162 @@ files:
|
|
1294
1303
|
- lib/sequel/plugins/created_at.rb
|
1295
1304
|
- lib/sequel/plugins/external_id.rb
|
1296
1305
|
- lib/sequel/plugins/find_bang.rb
|
1306
|
+
- mkbrut/.gitignore
|
1307
|
+
- mkbrut/CODE_OF_CONDUCT.txt
|
1308
|
+
- mkbrut/Gemfile
|
1309
|
+
- mkbrut/Gemfile.lock
|
1310
|
+
- mkbrut/LICENSE.txt
|
1311
|
+
- mkbrut/README.md
|
1312
|
+
- mkbrut/Rakefile
|
1313
|
+
- mkbrut/bin/build
|
1314
|
+
- mkbrut/bin/ci
|
1315
|
+
- mkbrut/bin/docs
|
1316
|
+
- mkbrut/bin/publish
|
1317
|
+
- mkbrut/bin/rake
|
1318
|
+
- mkbrut/bin/setup
|
1319
|
+
- mkbrut/brut-welcome.png
|
1320
|
+
- mkbrut/deploy/.dockerignore
|
1321
|
+
- mkbrut/deploy/Dockerfile
|
1322
|
+
- mkbrut/exe/mkbrut
|
1323
|
+
- mkbrut/lib/mkbrut.rb
|
1324
|
+
- mkbrut/lib/mkbrut/app.rb
|
1325
|
+
- mkbrut/lib/mkbrut/app_id.rb
|
1326
|
+
- mkbrut/lib/mkbrut/app_name.rb
|
1327
|
+
- mkbrut/lib/mkbrut/app_options.rb
|
1328
|
+
- mkbrut/lib/mkbrut/base.rb
|
1329
|
+
- mkbrut/lib/mkbrut/cli.rb
|
1330
|
+
- mkbrut/lib/mkbrut/erb_binding_delegate.rb
|
1331
|
+
- mkbrut/lib/mkbrut/internet_identifier.rb
|
1332
|
+
- mkbrut/lib/mkbrut/invalid_identifier.rb
|
1333
|
+
- mkbrut/lib/mkbrut/ops.rb
|
1334
|
+
- mkbrut/lib/mkbrut/ops/add_css_import.rb
|
1335
|
+
- mkbrut/lib/mkbrut/ops/add_i18n_message.rb
|
1336
|
+
- mkbrut/lib/mkbrut/ops/add_method.rb
|
1337
|
+
- mkbrut/lib/mkbrut/ops/append_to_file.rb
|
1338
|
+
- mkbrut/lib/mkbrut/ops/base_op.rb
|
1339
|
+
- mkbrut/lib/mkbrut/ops/copy_file.rb
|
1340
|
+
- mkbrut/lib/mkbrut/ops/insert_code_in_method.rb
|
1341
|
+
- mkbrut/lib/mkbrut/ops/insert_route.rb
|
1342
|
+
- mkbrut/lib/mkbrut/ops/mkdir.rb
|
1343
|
+
- mkbrut/lib/mkbrut/ops/prism_parsing_op.rb
|
1344
|
+
- mkbrut/lib/mkbrut/ops/render_template.rb
|
1345
|
+
- mkbrut/lib/mkbrut/ops/skip_file.rb
|
1346
|
+
- mkbrut/lib/mkbrut/organization.rb
|
1347
|
+
- mkbrut/lib/mkbrut/prefix.rb
|
1348
|
+
- mkbrut/lib/mkbrut/prefixed_io.rb
|
1349
|
+
- mkbrut/lib/mkbrut/segments.rb
|
1350
|
+
- mkbrut/lib/mkbrut/segments/bare_bones.rb
|
1351
|
+
- mkbrut/lib/mkbrut/segments/demo.rb
|
1352
|
+
- mkbrut/lib/mkbrut/segments/heroku.rb
|
1353
|
+
- mkbrut/lib/mkbrut/segments/sidekiq.rb
|
1354
|
+
- mkbrut/lib/mkbrut/version.rb
|
1355
|
+
- mkbrut/lib/mkbrut/versions.rb
|
1356
|
+
- mkbrut/mkbrut.gemspec
|
1357
|
+
- mkbrut/templates/Base/.dockerignore
|
1358
|
+
- mkbrut/templates/Base/.env.development.erb
|
1359
|
+
- mkbrut/templates/Base/.env.test.erb
|
1360
|
+
- mkbrut/templates/Base/.gitignore
|
1361
|
+
- mkbrut/templates/Base/.projections.json
|
1362
|
+
- mkbrut/templates/Base/Dockerfile.dx
|
1363
|
+
- mkbrut/templates/Base/Gemfile.erb
|
1364
|
+
- mkbrut/templates/Base/Procfile.development
|
1365
|
+
- mkbrut/templates/Base/Procfile.test
|
1366
|
+
- mkbrut/templates/Base/README.md
|
1367
|
+
- mkbrut/templates/Base/README.md.erb
|
1368
|
+
- mkbrut/templates/Base/app/bootstrap.rb
|
1369
|
+
- mkbrut/templates/Base/app/config/i18n/en/1_defaults.rb
|
1370
|
+
- mkbrut/templates/Base/app/config/i18n/en/2_app.rb
|
1371
|
+
- mkbrut/templates/Base/app/public/static/manifest.json.erb
|
1372
|
+
- mkbrut/templates/Base/app/src/app.rb.erb
|
1373
|
+
- mkbrut/templates/Base/app/src/back_end/data_models/app_data_model.rb
|
1374
|
+
- mkbrut/templates/Base/app/src/back_end/data_models/db.rb
|
1375
|
+
- mkbrut/templates/Base/app/src/back_end/data_models/migrations/20240101130000_citext.rb
|
1376
|
+
- mkbrut/templates/Base/app/src/back_end/data_models/seed/seed_data.rb
|
1377
|
+
- mkbrut/templates/Base/app/src/front_end/components/app_component.rb
|
1378
|
+
- mkbrut/templates/Base/app/src/front_end/components/custom_element_registration.rb.erb
|
1379
|
+
- mkbrut/templates/Base/app/src/front_end/css/index.css
|
1380
|
+
- mkbrut/templates/Base/app/src/front_end/css/svgs.css
|
1381
|
+
- mkbrut/templates/Base/app/src/front_end/forms/app_form.rb
|
1382
|
+
- mkbrut/templates/Base/app/src/front_end/handlers/app_handler.rb
|
1383
|
+
- mkbrut/templates/Base/app/src/front_end/images/LogoPylon.png
|
1384
|
+
- mkbrut/templates/Base/app/src/front_end/images/LogoTransit.png
|
1385
|
+
- mkbrut/templates/Base/app/src/front_end/images/apple-touch-icon-120x120.png
|
1386
|
+
- mkbrut/templates/Base/app/src/front_end/images/apple-touch-icon-152x152.png
|
1387
|
+
- mkbrut/templates/Base/app/src/front_end/images/apple-touch-icon-167x167.png
|
1388
|
+
- mkbrut/templates/Base/app/src/front_end/images/apple-touch-icon-180x180.png
|
1389
|
+
- mkbrut/templates/Base/app/src/front_end/images/favicon.ico
|
1390
|
+
- mkbrut/templates/Base/app/src/front_end/images/icon.png
|
1391
|
+
- mkbrut/templates/Base/app/src/front_end/images/mkicons.sh
|
1392
|
+
- mkbrut/templates/Base/app/src/front_end/js/index.js
|
1393
|
+
- mkbrut/templates/Base/app/src/front_end/layouts/default_layout.rb.erb
|
1394
|
+
- mkbrut/templates/Base/app/src/front_end/pages/app_page.rb
|
1395
|
+
- mkbrut/templates/Base/app/src/front_end/pages/home_page.rb
|
1396
|
+
- mkbrut/templates/Base/app/src/front_end/support/app_session.rb
|
1397
|
+
- mkbrut/templates/Base/app/src/front_end/svgs/README.md
|
1398
|
+
- mkbrut/templates/Base/app/src/front_end/svgs/comment-button.svg
|
1399
|
+
- mkbrut/templates/Base/bin/README.md.erb
|
1400
|
+
- mkbrut/templates/Base/bin/build-assets
|
1401
|
+
- mkbrut/templates/Base/bin/ci
|
1402
|
+
- mkbrut/templates/Base/bin/console
|
1403
|
+
- mkbrut/templates/Base/bin/db
|
1404
|
+
- mkbrut/templates/Base/bin/dbconsole
|
1405
|
+
- mkbrut/templates/Base/bin/dev
|
1406
|
+
- mkbrut/templates/Base/bin/release
|
1407
|
+
- mkbrut/templates/Base/bin/run
|
1408
|
+
- mkbrut/templates/Base/bin/scaffold
|
1409
|
+
- mkbrut/templates/Base/bin/setup
|
1410
|
+
- mkbrut/templates/Base/bin/startup-message
|
1411
|
+
- mkbrut/templates/Base/bin/test
|
1412
|
+
- mkbrut/templates/Base/bin/test-server
|
1413
|
+
- mkbrut/templates/Base/bin/watch-and-build-assets
|
1414
|
+
- mkbrut/templates/Base/config.ru
|
1415
|
+
- mkbrut/templates/Base/docker-compose.dx.yml
|
1416
|
+
- mkbrut/templates/Base/dx/README.md
|
1417
|
+
- mkbrut/templates/Base/dx/bash_customizations
|
1418
|
+
- mkbrut/templates/Base/dx/bash_customizations.local
|
1419
|
+
- mkbrut/templates/Base/dx/build
|
1420
|
+
- mkbrut/templates/Base/dx/docker-compose.env.erb
|
1421
|
+
- mkbrut/templates/Base/dx/dx.sh.lib
|
1422
|
+
- mkbrut/templates/Base/dx/exec
|
1423
|
+
- mkbrut/templates/Base/dx/prune
|
1424
|
+
- mkbrut/templates/Base/dx/show-help-in-app-container-then-wait.sh
|
1425
|
+
- mkbrut/templates/Base/dx/start
|
1426
|
+
- mkbrut/templates/Base/dx/stop
|
1427
|
+
- mkbrut/templates/Base/package.json.erb
|
1428
|
+
- mkbrut/templates/Base/puma.config.rb
|
1429
|
+
- mkbrut/templates/Base/specs/e2e/home_page.spec.rb.erb
|
1430
|
+
- mkbrut/templates/Base/specs/front_end/js/SpecHelper.js
|
1431
|
+
- mkbrut/templates/Base/specs/front_end/pages/home_page.spec.rb
|
1432
|
+
- mkbrut/templates/Base/specs/lint_factories.spec.rb
|
1433
|
+
- mkbrut/templates/Base/specs/spec_helper.rb
|
1434
|
+
- mkbrut/templates/Base/specs/support.rb
|
1435
|
+
- mkbrut/templates/segments/BareBones/app/src/front_end/handlers/trigger_exception_handler.rb
|
1436
|
+
- mkbrut/templates/segments/BareBones/app/src/front_end/js/Example.js.erb
|
1437
|
+
- mkbrut/templates/segments/BareBones/specs/front_end/handlers/trigger_exception_handler.spec.rb
|
1438
|
+
- mkbrut/templates/segments/BareBones/specs/front_end/js/Example.spec.js.erb
|
1439
|
+
- mkbrut/templates/segments/Demo/app/src/back_end/data_models/db/guestbook_message.rb
|
1440
|
+
- mkbrut/templates/segments/Demo/app/src/back_end/data_models/migrations/20250628194124_guestbook.rb
|
1441
|
+
- mkbrut/templates/segments/Demo/app/src/front_end/components/flash_component.rb
|
1442
|
+
- mkbrut/templates/segments/Demo/app/src/front_end/css/constraint-violations.css
|
1443
|
+
- mkbrut/templates/segments/Demo/app/src/front_end/css/fonts.css
|
1444
|
+
- mkbrut/templates/segments/Demo/app/src/front_end/fonts/monaspace-xenon.ttf
|
1445
|
+
- mkbrut/templates/segments/Demo/app/src/front_end/forms/guestbook_message_form.rb
|
1446
|
+
- mkbrut/templates/segments/Demo/app/src/front_end/handlers/guestbook_message_handler.rb
|
1447
|
+
- mkbrut/templates/segments/Demo/app/src/front_end/pages/guestbook_page.rb
|
1448
|
+
- mkbrut/templates/segments/Demo/app/src/front_end/pages/guestbook_page/message_component.rb
|
1449
|
+
- mkbrut/templates/segments/Demo/app/src/front_end/pages/new_guestbook_message_page.rb
|
1450
|
+
- mkbrut/templates/segments/Demo/specs/back_end/data_models/db/guestbook_message.spec.rb
|
1451
|
+
- mkbrut/templates/segments/Demo/specs/e2e/guest_message.spec.rb
|
1452
|
+
- mkbrut/templates/segments/Demo/specs/factories/db/guestbook_message.factory.rb
|
1453
|
+
- mkbrut/templates/segments/Demo/specs/front_end/components/flash_component.spec.rb
|
1454
|
+
- mkbrut/templates/segments/Demo/specs/front_end/handlers/guestbook_message_handler.spec.rb
|
1455
|
+
- mkbrut/templates/segments/Demo/specs/front_end/pages/guestbook_page.spec.rb
|
1456
|
+
- mkbrut/templates/segments/Demo/specs/front_end/pages/guestbook_page/message_component.spec.rb
|
1457
|
+
- mkbrut/templates/segments/Demo/specs/front_end/pages/new_guestbook_message_page.spec.rb
|
1458
|
+
- mkbrut/templates/segments/Heroku/bin/deploy
|
1459
|
+
- mkbrut/templates/segments/Heroku/deploy/Dockerfile
|
1460
|
+
- mkbrut/templates/segments/Heroku/deploy/docker-entrypoint
|
1461
|
+
- mkbrut/templates/segments/Heroku/deploy/heroku_config.rb
|
1297
1462
|
- specs/brut/front_end/forms/input.spec.rb
|
1298
1463
|
- specs/brut/front_end/forms/radio_button_group_input.spec.rb
|
1299
1464
|
- specs/brut/front_end/forms/select_input.spec.rb
|
@@ -1323,8 +1488,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1323
1488
|
- !ruby/object:Gem::Version
|
1324
1489
|
version: '0'
|
1325
1490
|
requirements: []
|
1326
|
-
rubygems_version: 3.
|
1491
|
+
rubygems_version: 3.7.1
|
1327
1492
|
specification_version: 4
|
1328
|
-
summary:
|
1329
|
-
and Object-Orientation
|
1493
|
+
summary: Web Framework Built around Ruby, Web Standards, Simplicity, and Object-Orientation
|
1330
1494
|
test_files: []
|
data/brut-js/CHANGELOG.md
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
import{_ as r,c as a,o as d,ag as t}from"./chunks/framework.1L-BeKqY.js";const f=JSON.parse('{"title":"Architecture Decision Records","description":"","frontmatter":{},"headers":[],"relativePath":"adrs.md","filePath":"adrs.md"}'),s={name:"adrs.md"};function l(o,e,i,c,n,h){return d(),a("div",null,e[0]||(e[0]=[t("",4)]))}const p=r(s,[["render",l]]);export{f as __pageData,p as default};
|