Class: DynamicScaffold::FormBuilder

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

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ FormBuilder

Returns a new instance of FormBuilder.



263
264
265
266
267
# File 'lib/dynamic_scaffold/config.rb', line 263

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

Instance Method Details

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



289
290
291
292
293
# File 'lib/dynamic_scaffold/config.rb', line 289

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

#itemsObject



269
270
271
272
273
274
275
276
277
278
# File 'lib/dynamic_scaffold/config.rb', line 269

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



280
281
282
283
284
285
286
287
# File 'lib/dynamic_scaffold/config.rb', line 280

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