Sha256: ed309a1ad5d1ce467ad76d3be251dcc7e36295f7854917100c4322f5510f31a3

Contents?: true

Size: 1.29 KB

Versions: 2

Compression:

Stored size: 1.29 KB

Contents

module ActiveScaffold::Config
  class Form < Base
    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

    # global level configuration
    # --------------------------

    # instance-level configuration
    # ----------------------------

    # the ActionLink for this action
    attr_accessor :link

    # the label for this Form action. used for the header.
    attr_writer :label
    def label
      as_(@label)
    end

    # provides access to the list of columns specifically meant for the Form to use
    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

    public :columns=

    # whether the form should be multipart
    attr_writer :multipart
    def multipart?
      @multipart ? true : false
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
active_scaffold-3.0.12 lib/active_scaffold/config/form.rb
active_scaffold-3.0.11 lib/active_scaffold/config/form.rb