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/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/markdown_renderer.rb,
lib/admin_suite/portal_definition.rb,
app/helpers/admin_suite/base_helper.rb,
app/helpers/admin_suite/icon_helper.rb,
app/helpers/admin_suite/theme_helper.rb,
app/helpers/admin_suite/panels_helper.rb,
lib/admin_suite/ui/form_field_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/ui/field_renderer_registry.rb,
lib/admin_suite/ui/show_formatter_registry.rb,
app/controllers/admin_suite/docs_controller.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, Generators, IconHelper, PanelsHelper, PortalRegistry, ResourcesHelper, ThemeHelper, ThemePalette, UI, Version Classes: ApplicationController, Configuration, DashboardController, DocsController, Engine, MarkdownRenderer, PortalDefinition, PortalsController, ResourcesController
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
25 26 27 |
# File 'lib/admin_suite.rb', line 25 def config @config ||= Configuration.new end |
.configure {|config| ... } ⇒ AdminSuite::Configuration
31 32 33 34 |
# File 'lib/admin_suite.rb', line 31 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)
61 62 63 64 65 66 |
# File 'lib/admin_suite.rb', line 61 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}
69 70 71 |
# File 'lib/admin_suite.rb', line 69 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).
97 98 99 100 101 102 |
# File 'lib/admin_suite.rb', line 97 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.
42 43 44 45 46 47 48 49 |
# File 'lib/admin_suite.rb', line 42 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)
83 84 85 86 87 |
# File 'lib/admin_suite.rb', line 83 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?
90 91 92 |
# File 'lib/admin_suite.rb', line 90 def root_dashboard_definition config.root_dashboard_definition end |