Module: AdminSuite
- Defined in:
- lib/admin_suite.rb,
lib/admin_suite/auth.rb,
lib/admin_suite/engine.rb,
lib/admin_suite/version.rb,
lib/admin_suite/renderer.rb,
lib/admin_suite/deprecation.rb,
lib/admin_suite/auth/strategy.rb,
lib/admin_suite/configuration.rb,
lib/admin_suite/theme_palette.rb,
lib/admin_suite/auth/host_hook.rb,
lib/admin_suite/auth/http_basic.rb,
lib/admin_suite/portal_registry.rb,
lib/admin_suite/definition_loader.rb,
lib/admin_suite/markdown_renderer.rb,
lib/admin_suite/portal_definition.rb,
lib/admin_suite/renderer_registry.rb,
lib/admin_suite/section_definition.rb,
app/helpers/admin_suite/base_helper.rb,
app/helpers/admin_suite/icon_helper.rb,
app/helpers/admin_suite/theme_helper.rb,
lib/admin_suite/host_autoload_policy.rb,
app/helpers/admin_suite/panels_helper.rb,
lib/admin_suite/ui/form_field_renderer.rb,
lib/admin_suite/renderers/code_renderer.rb,
lib/admin_suite/renderers/json_renderer.rb,
lib/admin_suite/ui/dashboard_definition.rb,
lib/admin_suite/ui/show_value_formatter.rb,
app/helpers/admin_suite/resources_helper.rb,
lib/admin_suite/renderers/legacy_gleania.rb,
lib/admin_suite/ui/field_renderer_registry.rb,
lib/admin_suite/ui/show_formatter_registry.rb,
app/controllers/admin_suite/docs_controller.rb,
lib/admin_suite/legacy_custom_renderer_procs.rb,
lib/admin_suite/renderers/key_value_renderer.rb,
lib/admin_suite/renderers/table_from_renderer.rb,
app/controllers/admin_suite/portals_controller.rb,
app/controllers/admin_suite/dashboard_controller.rb,
app/controllers/admin_suite/resources_controller.rb,
app/controllers/admin_suite/application_controller.rb,
lib/generators/admin_suite/install/install_generator.rb,
lib/generators/admin_suite/resource/resource_generator.rb,
lib/generators/admin_suite/scaffold/scaffold_generator.rb
Defined Under Namespace
Modules: Auth, BaseHelper, Deprecation, Generators, IconHelper, LegacyCustomRendererProcs, PanelsHelper, PortalRegistry, RendererRegistry, Renderers, ResourcesHelper, ThemeHelper, ThemePalette, UI, Version Classes: ApplicationController, Configuration, DashboardController, DefinitionLoader, DocsController, Engine, HostAutoloadPolicy, MarkdownRenderer, PortalDefinition, PortalsController, Renderer, ResourcesController, SectionDefinition
Constant Summary collapse
Class Method Summary collapse
- .config ⇒ AdminSuite::Configuration
- .configure {|config| ... } ⇒ AdminSuite::Configuration
-
.portal(key) { ... } ⇒ AdminSuite::PortalDefinition
Defines (or updates) a portal using a Ruby DSL.
- .portal_definitions ⇒ Hash{Symbol=>AdminSuite::PortalDefinition}
-
.reset_root_dashboard! ⇒ void
Clears the root dashboard definition (useful for development reloads).
-
.resolved_auth_strategy ⇒ AdminSuite::Auth::Strategy?
Resolves the effective authentication strategy instance.
-
.root_dashboard { ... } ⇒ AdminSuite::UI::DashboardDefinition
Defines (or updates) the root dashboard shown at the engine root (
/). - .root_dashboard_definition ⇒ AdminSuite::UI::DashboardDefinition?
Class Method Details
.config ⇒ AdminSuite::Configuration
62 63 64 |
# File 'lib/admin_suite.rb', line 62 def config @config ||= Configuration.new end |
.configure {|config| ... } ⇒ AdminSuite::Configuration
68 69 70 71 |
# File 'lib/admin_suite.rb', line 68 def configure yield(config) config end |
.portal(key) { ... } ⇒ AdminSuite::PortalDefinition
Defines (or updates) a portal using a Ruby DSL.
Host apps typically place these in:
config/admin_suite/portals/*.rb(recommended; not a Zeitwerk autoload path)app/admin_suite/portals/*.rb(supported; AdminSuite ignores for Zeitwerk)app/admin/portals/*.rb(supported; AdminSuite will ignore for Zeitwerk if files containAdminSuite.portal)
98 99 100 101 102 103 |
# File 'lib/admin_suite.rb', line 98 def portal(key, &block) definition = PortalDefinition.new(key) definition.instance_eval(&block) if block_given? PortalRegistry.register(definition) definition end |
.portal_definitions ⇒ Hash{Symbol=>AdminSuite::PortalDefinition}
106 107 108 |
# File 'lib/admin_suite.rb', line 106 def portal_definitions PortalRegistry.all end |
.reset_root_dashboard! ⇒ void
This method returns an undefined value.
Clears the root dashboard definition (useful for development reloads).
134 135 136 137 138 139 |
# File 'lib/admin_suite.rb', line 134 def reset_root_dashboard! config.root_dashboard_definition = nil config.root_dashboard_loaded = false rescue StandardError # best-effort end |
.resolved_auth_strategy ⇒ AdminSuite::Auth::Strategy?
Resolves the effective authentication strategy instance.
Precedence: explicit config.auth_strategy (Symbol name or Class),
then the legacy config.authenticate lambda (wrapped), then nil.
79 80 81 82 83 84 85 86 |
# File 'lib/admin_suite.rb', line 79 def resolved_auth_strategy if config.auth_strategy klass = config.auth_strategy.is_a?(Class) ? config.auth_strategy : Auth.lookup(config.auth_strategy) klass.new(config. || {}) elsif config.authenticate Auth::HostHook.new(authenticate: config.authenticate, current_actor: config.current_actor) end end |
.root_dashboard { ... } ⇒ AdminSuite::UI::DashboardDefinition
Defines (or updates) the root dashboard shown at the engine root (/).
This uses the same dashboard DSL as portal dashboards.
Host apps typically place these in:
config/admin_suite/dashboard.rb(recommended; not a Zeitwerk autoload path)app/admin_suite/dashboard.rb(supported; AdminSuite ignores for Zeitwerk)
120 121 122 123 124 |
# File 'lib/admin_suite.rb', line 120 def root_dashboard(&block) config.root_dashboard_definition ||= UI::DashboardDefinition.new UI::DashboardDSL.new(config.root_dashboard_definition).instance_eval(&block) if block_given? config.root_dashboard_definition end |
.root_dashboard_definition ⇒ AdminSuite::UI::DashboardDefinition?
127 128 129 |
# File 'lib/admin_suite.rb', line 127 def root_dashboard_definition config.root_dashboard_definition end |