Module: RubyUIAdmin

Defined in:
app/components/ruby_ui_admin/ui/toast_icon.rb,
lib/ruby_ui_admin.rb,
lib/ruby_ui_admin/view.rb,
lib/ruby_ui_admin/engine.rb,
lib/ruby_ui_admin/current.rb,
lib/ruby_ui_admin/version.rb,
lib/ruby_ui_admin/structure.rb,
lib/ruby_ui_admin/base_action.rb,
lib/ruby_ui_admin/base_policy.rb,
lib/ruby_ui_admin/menu/builder.rb,
app/components/ruby_ui_admin/ui.rb,
lib/ruby_ui_admin/authorization.rb,
lib/ruby_ui_admin/base_resource.rb,
lib/ruby_ui_admin/configuration.rb,
lib/ruby_ui_admin/base_dashboard.rb,
lib/ruby_ui_admin/cards/base_card.rb,
lib/ruby_ui_admin/fields/id_field.rb,
lib/ruby_ui_admin/tailwind_source.rb,
lib/ruby_ui_admin/cards/chart_card.rb,
lib/ruby_ui_admin/fields/url_field.rb,
lib/ruby_ui_admin/resource_manager.rb,
lib/ruby_ui_admin/cards/metric_card.rb,
lib/ruby_ui_admin/dashboard_manager.rb,
lib/ruby_ui_admin/execution_context.rb,
lib/ruby_ui_admin/fields/base_field.rb,
lib/ruby_ui_admin/fields/code_field.rb,
lib/ruby_ui_admin/fields/date_field.rb,
lib/ruby_ui_admin/fields/file_field.rb,
lib/ruby_ui_admin/fields/text_field.rb,
lib/ruby_ui_admin/scopes/base_scope.rb,
app/components/ruby_ui_admin/ui/base.rb,
app/components/ruby_ui_admin/ui/icon.rb,
lib/ruby_ui_admin/cards/partial_card.rb,
lib/ruby_ui_admin/fields/badge_field.rb,
lib/ruby_ui_admin/fields/files_field.rb,
lib/ruby_ui_admin/fields/hidden_field.rb,
lib/ruby_ui_admin/fields/number_field.rb,
lib/ruby_ui_admin/fields/select_field.rb,
lib/ruby_ui_admin/fields/status_field.rb,
lib/ruby_ui_admin/filters/base_filter.rb,
lib/ruby_ui_admin/filters/text_filter.rb,
app/components/ruby_ui_admin/ui/select.rb,
lib/ruby_ui_admin/fields/boolean_field.rb,
lib/ruby_ui_admin/fields/field_manager.rb,
lib/ruby_ui_admin/fields/has_one_field.rb,
app/components/ruby_ui_admin/views/base.rb,
app/components/ruby_ui_admin/views/docs.rb,
app/components/ruby_ui_admin/views/form.rb,
app/components/ruby_ui_admin/views/home.rb,
app/components/ruby_ui_admin/views/show.rb,
lib/ruby_ui_admin/authorization/adapter.rb,
lib/ruby_ui_admin/fields/has_many_field.rb,
lib/ruby_ui_admin/fields/password_field.rb,
lib/ruby_ui_admin/fields/textarea_field.rb,
lib/ruby_ui_admin/filters/select_filter.rb,
app/components/ruby_ui_admin/views/index.rb,
lib/ruby_ui_admin/fields/date_time_field.rb,
lib/ruby_ui_admin/fields/key_value_field.rb,
lib/ruby_ui_admin/filters/boolean_filter.rb,
app/components/ruby_ui_admin/views/action.rb,
lib/ruby_ui_admin/fields/belongs_to_field.rb,
app/components/ruby_ui_admin/ui/pagination.rb,
app/components/ruby_ui_admin/ui/toast_item.rb,
lib/ruby_ui_admin/fields/association_field.rb,
lib/ruby_ui_admin/fields/record_link_field.rb,
app/components/ruby_ui_admin/ui/toast_close.rb,
app/components/ruby_ui_admin/ui/toast_title.rb,
app/components/ruby_ui_admin/views/show_tab.rb,
app/components/ruby_ui_admin/ui/toast_action.rb,
app/components/ruby_ui_admin/ui/toast_cancel.rb,
app/components/ruby_ui_admin/ui/toast_region.rb,
app/components/ruby_ui_admin/views/dashboard.rb,
lib/ruby_ui_admin/fields/boolean_group_field.rb,
app/components/ruby_ui_admin/ui/native_select.rb,
app/components/ruby_ui_admin/views/filter_bar.rb,
app/controllers/ruby_ui_admin/docs_controller.rb,
app/controllers/ruby_ui_admin/home_controller.rb,
app/components/ruby_ui_admin/views/action_form.rb,
app/components/ruby_ui_admin/views/field_input.rb,
app/components/ruby_ui_admin/views/field_value.rb,
app/components/ruby_ui_admin/views/show_fields.rb,
app/components/ruby_ui_admin/views/translation.rb,
lib/ruby_ui_admin/authorization/pundit_adapter.rb,
app/components/ruby_ui_admin/ui/pagination_item.rb,
app/components/ruby_ui_admin/views/actions_menu.rb,
app/components/ruby_ui_admin/views/path_helpers.rb,
app/components/ruby_ui_admin/views/rails_helpers.rb,
app/controllers/ruby_ui_admin/actions_controller.rb,
lib/generators/ruby_ui_admin/card/card_generator.rb,
lib/ruby_ui_admin/filters/multiple_select_filter.rb,
lib/ruby_ui_admin/services/authorization_service.rb,
app/components/ruby_ui_admin/ui/toast_description.rb,
app/components/ruby_ui_admin/views/action_trigger.rb,
app/components/ruby_ui_admin/views/card_component.rb,
app/components/ruby_ui_admin/ui/native_select_icon.rb,
app/components/ruby_ui_admin/ui/pagination_content.rb,
app/controllers/ruby_ui_admin/resources_controller.rb,
lib/generators/ruby_ui_admin/eject/eject_generator.rb,
lib/generators/ruby_ui_admin/scope/scope_generator.rb,
app/components/ruby_ui_admin/ui/native_select_group.rb,
app/components/ruby_ui_admin/ui/pagination_ellipsis.rb,
app/controllers/ruby_ui_admin/dashboards_controller.rb,
lib/ruby_ui_admin/authorization/can_can_can_adapter.rb,
app/components/ruby_ui_admin/ui/native_select_option.rb,
app/controllers/ruby_ui_admin/application_controller.rb,
lib/generators/ruby_ui_admin/action/action_generator.rb,
lib/generators/ruby_ui_admin/assets/assets_generator.rb,
lib/generators/ruby_ui_admin/filter/filter_generator.rb,
lib/generators/ruby_ui_admin/policy/policy_generator.rb,
app/components/ruby_ui_admin/views/structure_renderer.rb,
lib/ruby_ui_admin/authorization/action_policy_adapter.rb,
lib/generators/ruby_ui_admin/install/install_generator.rb,
lib/generators/ruby_ui_admin/locales/locales_generator.rb,
lib/ruby_ui_admin/fields/has_and_belongs_to_many_field.rb,
lib/generators/ruby_ui_admin/resource/resource_generator.rb,
lib/generators/ruby_ui_admin/dashboard/dashboard_generator.rb,
lib/generators/ruby_ui_admin/components/components_generator.rb,
lib/generators/ruby_ui_admin/controller/controller_generator.rb

Overview

pagy/extras/countless is required at engine boot (see engine.rb) before host initializers.

Defined Under Namespace

Modules: Authorization, Cards, Fields, Filters, Generators, Menu, Scopes, Services, Structure, TailwindSource, UI, Views Classes: ActionsController, ApplicationController, BaseAction, BaseDashboard, BasePolicy, BaseResource, Configuration, Current, DashboardManager, DashboardsController, DocsController, Engine, Error, ExecutionContext, HomeController, NotAuthorizedError, ResourceManager, ResourcesController, View

Constant Summary collapse

ASSETS_MOUNT_PATH =

URL prefix where the bundled stylesheet is served (outside the engine mount).

"/ruby-ui-admin-assets"
VERSION =
"0.1.0"

Class Method Summary collapse

Class Method Details

.bootObject

Prepares the resource and dashboard registries. Called on each reload in dev.



80
81
82
83
# File 'lib/ruby_ui_admin.rb', line 80

def boot
  resource_manager.boot
  dashboard_manager.boot
end

.configurationObject Also known as: config



69
70
71
# File 'lib/ruby_ui_admin.rb', line 69

def configuration
  @configuration ||= Configuration.new
end

.configure {|configuration| ... } ⇒ Object

Yields:



74
75
76
77
# File 'lib/ruby_ui_admin.rb', line 74

def configure
  yield configuration if block_given?
  configuration
end

.controller_for(resource) ⇒ Object

The controller a resource's routes point to: a per-resource controller when the host defined one (app/controllers/ruby_ui_admin/<route_key>_controller.rb), otherwise the generic "resources" controller.



92
93
94
95
96
97
98
99
# File 'lib/ruby_ui_admin.rb', line 92

def controller_for(resource)
  if defined?(::Rails)
    file = Rails.root.join("app", "controllers", "ruby_ui_admin", "#{resource.route_key}_controller.rb")
    return resource.route_key if File.exist?(file)
  end

  "resources"
end

.dashboard_managerObject



101
102
103
# File 'lib/ruby_ui_admin.rb', line 101

def dashboard_manager
  @dashboard_manager ||= DashboardManager.new
end

.reset_resource_managerObject



105
106
107
108
# File 'lib/ruby_ui_admin.rb', line 105

def reset_resource_manager
  @resource_manager = nil
  @dashboard_manager = nil
end

.resource_managerObject



85
86
87
# File 'lib/ruby_ui_admin.rb', line 85

def resource_manager
  @resource_manager ||= ResourceManager.new
end