Class: DynamicScaffold::FormBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/dynamic_scaffold/form_builder.rb

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ FormBuilder

Returns a new instance of FormBuilder.



3
4
5
6
7
# File 'lib/dynamic_scaffold/form_builder.rb', line 3

def initialize(config)
  @config = config
  @items = []
  @permit_params = []
end

Instance Method Details

#item(type, *args, &block) ⇒ Object



29
30
31
32
33
# File 'lib/dynamic_scaffold/form_builder.rb', line 29

def item(type, *args, &block)
  item = Form::Item::Base.create(@config, type, *args, &block)
  @items << item
  item
end

#itemsObject



9
10
11
12
13
14
15
16
17
18
# File 'lib/dynamic_scaffold/form_builder.rb', line 9

def items
  if @items.empty?
    @config.model.column_names.each do |column|
      type = :text_field
      type = :hidden_field if @config.scope && @config.scope.include?(column.to_sym)
      @items << Form::Item::SingleOption.new(@config, type, column)
    end
  end
  @items
end

#permit_params(*params) ⇒ Object



20
21
22
23
24
25
26
27
# File 'lib/dynamic_scaffold/form_builder.rb', line 20

def permit_params(*params)
  if params.empty?
    @permit_params
  else
    @permit_params.concat(params)
    self
  end
end