class AdminIt::Section

Attributes

display_name[R]
fields[R]
name[R]

Public Class Methods

new(name, context, display_name: nil) click to toggle source
# File lib/admin_it/context/single_context.rb, line 37
def initialize(name, context, display_name: nil)
  @name = name
  @display_name = display_name || name
  @context = context
  @fields = context.fields.map(&:field_name)
  context.sections.each do |section|
    next if section.name == name
    @fields -= section.fields
  end
end

Public Instance Methods

use_fields(*names, except: nil) click to toggle source
# File lib/admin_it/context/single_context.rb, line 18
def use_fields(*names, except: nil)
  names = names.ensure_array(:flatten, :ensure_symbol, :compact, :uniq)
  except = except.ensure_array(:flatten, :ensure_symbol, :compact, :uniq)
  fields =
    if names.empty?
      dsl_get(:fields, default: [])
    else
      context = dsl_get(:context, default: nil)
      names & context.fields.map(&:field_name)
    end
  fields -= except
  dsl_set(:fields, fields)
end
visible?() click to toggle source
# File lib/admin_it/context/single_context.rb, line 33
def visible?
  @visible.nil? ? @visible = true : @visible == true
end