Sha256: dfce5e847a91f8fe3b6cf1f4eb77baa6b6e6351b8085b966b64c0d2793877727

Contents?: true

Size: 960 Bytes

Versions: 11

Compression:

Stored size: 960 Bytes

Contents

require_relative 'utils/associations'

module CmAdmin
  module Models
    class Field
      include Utils::Associations

      attr_accessor :field_name, :label, :header, :field_type, :format, :precision, :height,
        :width, :helper_method, :preview, :custom_link, :prefix, :suffix, :tag_class,
        :display_if, :association_name, :association_type, :col_size

      def initialize(field_name, attributes = {})
        @field_name = field_name
        set_default_values
        attributes.each do |key, value|
          self.send("#{key.to_s}=", value)
        end
        self.height = 50 if self.field_type == :image && self.height.nil?
        self.width = 50 if self.field_type == :image && self.width.nil?
        self.display_if = lambda { |arg| return true } if self.display_if.nil?

        validation_for_association
      end

      def set_default_values
        self.tag_class = {}
        self.col_size = nil
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
cm-admin-1.3.0 lib/cm_admin/models/field.rb
cm-admin-1.2.9 lib/cm_admin/models/field.rb
cm-admin-1.2.8 lib/cm_admin/models/field.rb
cm-admin-1.2.7 lib/cm_admin/models/field.rb
cm-admin-1.2.6 lib/cm_admin/models/field.rb
cm-admin-1.2.5 lib/cm_admin/models/field.rb
cm-admin-1.2.4 lib/cm_admin/models/field.rb
cm-admin-1.2.3 lib/cm_admin/models/field.rb
cm-admin-1.2.2 lib/cm_admin/models/field.rb
cm-admin-1.2.1 lib/cm_admin/models/field.rb
cm-admin-1.2.0 lib/cm_admin/models/field.rb