Class: AbAdmin::Config::BaseBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/ab_admin/config/base.rb

Direct Known Subclasses

Chart, Export, FieldGroup, Form, Map, Search, Show, Table

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}, &block) ⇒ BaseBuilder

Returns a new instance of BaseBuilder.



8
9
10
11
12
13
# File 'lib/ab_admin/config/base.rb', line 8

def initialize(options={}, &block)
  @fields = []
  @options = options
  @partial = options[:partial]
  instance_eval(&block) if block_given?
end

Instance Attribute Details

#fieldsObject (readonly)

Returns the value of attribute fields.



4
5
6
# File 'lib/ab_admin/config/base.rb', line 4

def fields
  @fields
end

#optionsObject (readonly)

Returns the value of attribute options.



4
5
6
# File 'lib/ab_admin/config/base.rb', line 4

def options
  @options
end

#partialObject

Returns the value of attribute partial.



5
6
7
# File 'lib/ab_admin/config/base.rb', line 5

def partial
  @partial
end

Class Method Details

.default_for_model(model, options = {}) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/ab_admin/config/base.rb', line 19

def self.default_for_model(model, options={})
  new.tap do |builder|
    model.column_names.each do |column|
      column_name = column.to_sym
      next if column_name == :id || options[:skip].try(:include?, column_name)
      builder.field(column_name)
    end
    model.translated_attribute_names.each do |column_name|
      builder.field(column_name, sortable: false)
    end if model.translates?
  end
end

Instance Method Details

#field(name, options = {}, &block) ⇒ Object



15
16
17
# File 'lib/ab_admin/config/base.rb', line 15

def field(name, options={}, &block)
  @fields << Field.new(name, options, &block)
end