Class: ActiveScaffold::Config::Form

Inherits:
Base show all
Defined in:
lib/active_scaffold/config/form.rb

Direct Known Subclasses

Create, Update

Instance Attribute Summary collapse

Attributes inherited from Base

#action_group, #user

Instance Method Summary collapse

Methods inherited from Base

#crud_type, #formats, #formats=, inherited

Methods included from ActiveScaffold::Configurable

#configure, #method_missing

Constructor Details

#initialize(core_config) ⇒ Form

Returns a new instance of Form.



3
4
5
6
7
8
9
10
11
12
# File 'lib/active_scaffold/config/form.rb', line 3

def initialize(core_config)
  @core = core_config

  # start with the ActionLink defined globally
  @link = self.class.link.clone unless self.class.link.nil?
  @action_group = self.class.action_group.clone if self.class.action_group

  # no global setting here because multipart should only be set for specific forms
  @multipart = false
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class ActiveScaffold::Configurable

Instance Attribute Details

#labelObject



25
26
27
# File 'lib/active_scaffold/config/form.rb', line 25

def label
  as_(@label)
end

the ActionLink for this action



21
22
23
# File 'lib/active_scaffold/config/form.rb', line 21

def link
  @link
end

#multipart=(value) ⇒ Object (writeonly)

whether the form should be multipart



42
43
44
# File 'lib/active_scaffold/config/form.rb', line 42

def multipart=(value)
  @multipart = value
end

Instance Method Details

#columnsObject

provides access to the list of columns specifically meant for the Form to use



30
31
32
33
34
35
36
37
# File 'lib/active_scaffold/config/form.rb', line 30

def columns
  unless @columns # lazy evaluation
    self.columns = @core.columns._inheritable
    self.columns.exclude :created_on, :created_at, :updated_on, :updated_at, :marked
    self.columns.exclude *@core.columns.collect{|c| c.name if c.polymorphic_association?}.compact
  end
  @columns
end

#multipart?Boolean

Returns:

  • (Boolean)


43
44
45
# File 'lib/active_scaffold/config/form.rb', line 43

def multipart?
  @multipart ? true : false
end