Module: QuickAdmin

Defined in:
lib/quick_admin.rb,
lib/quick_admin/engine.rb,
lib/quick_admin/version.rb,
lib/quick_admin/resource.rb,
lib/quick_admin/configuration.rb,
app/helpers/quick_admin/application_helper.rb,
lib/generators/quick_admin/install_generator.rb,
app/controllers/quick_admin/dashboard_controller.rb,
app/controllers/quick_admin/resources_controller.rb,
app/controllers/quick_admin/application_controller.rb

Overview

QuickAdmin is a lightweight Rails admin interface gem. It provides CRUD operations, search, filtering, and modern Turbo/Hotwire integration with minimal configuration.

Examples:

Basic configuration

QuickAdmin.configure do |config|
  config.authentication = :devise
  config.per_page = 25
end

Defining a resource

QuickAdmin.resource :user do |r|
  r.fields :name, :email, :created_at
  r.searchable :name, :email
  r.editable :name, :email
end

Defined Under Namespace

Modules: ApplicationHelper, Generators Classes: ApplicationController, Configuration, DashboardController, Engine, Resource, ResourcesController

Constant Summary collapse

VERSION =
"0.1.7"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configurationObject

Returns the value of attribute configuration.



25
26
27
# File 'lib/quick_admin.rb', line 25

def configuration
  @configuration
end

Class Method Details

.configConfiguration

Returns the current configuration or creates a new one.

Returns:



41
42
43
# File 'lib/quick_admin.rb', line 41

def self.config
  self.configuration ||= Configuration.new
end

.configure {|Configuration| ... } ⇒ Configuration

Configures QuickAdmin with the given block. Creates a new configuration if one doesn't exist.

Yields:

Returns:



33
34
35
36
# File 'lib/quick_admin.rb', line 33

def self.configure
  self.configuration ||= Configuration.new
  yield(configuration)
end

.resource(model_name) {|Resource| ... } ⇒ Resource

Registers a new resource with QuickAdmin.

Examples:

QuickAdmin.resource :post do |r|
  r.fields :title, :content, :published
  r.searchable :title, :content
  r.filterable :published
  r.editable :title, :content, :published
end

Parameters:

  • model_name (Symbol, String)

    the name of the model (e.g., :user, :post)

Yields:

  • (Resource)

    the resource configuration object

Returns:

  • (Resource)

    the configured resource



65
66
67
68
69
# File 'lib/quick_admin.rb', line 65

def self.resource(model_name, &block)
  resource = Resource.new(model_name)
  yield(resource) if block_given?
  resources[model_name.to_s] = resource
end

.resourcesHash<String, Resource>

Returns a hash of all registered resources.

Returns:

  • (Hash<String, Resource>)

    hash of resource name to Resource objects



48
49
50
# File 'lib/quick_admin.rb', line 48

def self.resources
  @resources ||= {}
end