module RailsAdmin::Config::Sections

Sections describe different views in the RailsAdmin engine. Configurable sections are list and navigation.

Each section’s class object can store generic configuration about that section (such as the number of visible tabs in the main navigation), while the instances (accessed via model configuration objects) store model specific configuration (such as the visibility of the model).

Public Class Methods

included(klass) click to toggle source
# File lib/rails_admin/config/sections.rb, line 23
def self.included(klass)
  # Register accessors for all the sections in this namespace
  constants.each do |name|
    section = "RailsAdmin::Config::Sections::#{name}".constantize
    name = name.to_s.underscore.to_sym
    klass.send(:define_method, name) do |&block|
      @sections = {} unless @sections
      @sections[name] = section.new(self) unless @sections[name]
      @sections[name].instance_eval &block if block
      @sections[name]
    end
  end
end