Sha256: 96ed00f1c8a8f416af04e2d9d02657df80681cce4379aa44a014a9a806b42e4d

Contents?: true

Size: 1.46 KB

Versions: 13

Compression:

Stored size: 1.46 KB

Contents

# frozen_string_literal: true

require 'active_support/core_ext/string/inflections'
require 'rails_admin/config/sections/base'
require 'rails_admin/config/sections/edit'
require 'rails_admin/config/sections/update'
require 'rails_admin/config/sections/create'
require 'rails_admin/config/sections/nested'
require 'rails_admin/config/sections/modal'
require 'rails_admin/config/sections/list'
require 'rails_admin/config/sections/export'
require 'rails_admin/config/sections/show'

module RailsAdmin
  module Config
    # 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).
    module Sections
      def self.included(klass)
        # Register accessors for all the sections in this namespace
        constants.each do |name|
          section = RailsAdmin::Config::Sections.const_get(name)
          name = name.to_s.underscore.to_sym
          klass.send(:define_method, name) do |&block|
            @sections ||= {}
            @sections[name] = section.new(self) unless @sections[name]
            @sections[name].instance_eval(&block) if block
            @sections[name]
          end
        end
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
rails_admin-3.3.0 lib/rails_admin/config/sections.rb
rails_admin-3.2.1 lib/rails_admin/config/sections.rb
rails_admin-3.2.0 lib/rails_admin/config/sections.rb
rails_admin-3.2.0.rc lib/rails_admin/config/sections.rb
rails_admin-3.2.0.beta lib/rails_admin/config/sections.rb
rails_admin-3.1.4 lib/rails_admin/config/sections.rb
rails_admin-3.1.3 lib/rails_admin/config/sections.rb
rails_admin-3.1.2 lib/rails_admin/config/sections.rb
rails_admin-3.1.1 lib/rails_admin/config/sections.rb
rails_admin-3.1.0 lib/rails_admin/config/sections.rb
rails_admin-3.1.0.rc2 lib/rails_admin/config/sections.rb
rails_admin-3.1.0.rc lib/rails_admin/config/sections.rb
rails_admin-3.1.0.beta lib/rails_admin/config/sections.rb