module RailsAdmin

guides.rubyonrails.org/generators.html rdoc.info/github/wycats/thor/master/Thor/Actions.html keep generator idempotent, thanks

Constants

AUDITING_ADAPTERS
AUTHORIZATION_ADAPTERS
CONFIGURATION_ADAPTERS
CSVClass
EXTENSIONS
NON_ASCII_ENCODINGS
UTF8_ENCODINGS

Public Class Methods

add_extension(extension_key, extension_definition, options = {}) click to toggle source

Extend RailsAdmin

The extension may define various adapters (e.g., for authorization) and register those via the options hash.

# File lib/rails_admin/extension.rb, line 12
def self.add_extension(extension_key, extension_definition, options = {})
  options.assert_valid_keys(:authorization, :configuration, :auditing)

  EXTENSIONS << extension_key

  if(authorization = options[:authorization])
    AUTHORIZATION_ADAPTERS[extension_key] = extension_definition::AuthorizationAdapter
  end

  if(configuration = options[:configuration])
    CONFIGURATION_ADAPTERS[extension_key] = extension_definition::ConfigurationAdapter
  end

  if(configuration = options[:auditing])
    AUDITING_ADAPTERS[extension_key] = extension_definition::AuditingAdapter
  end
end
config(entity = nil, &block) click to toggle source

Setup RailsAdmin

Given the first argument is a model class, a model class name or an abstract model object proxies to model configuration method.

If only a block is passed it is stored to initializer stack to be evaluated on first request in production mode and on each request in development. If initialization has already occured (in other words RailsAdmin.setup has been called) the block will be added to stack and evaluated at once.

Otherwise returns RailsAdmin::Config class.

@see RailsAdmin::Config

# File lib/rails_admin.rb, line 25
def self.config(entity = nil, &block)
  if entity
    RailsAdmin::Config.model(entity, &block)
  elsif block_given? && ENV['SKIP_RAILS_ADMIN_INITIALIZER'] != "true"
    block.call(RailsAdmin::Config)
  else
    RailsAdmin::Config
  end
end