class RademadeAdmin::Model::Info::DataItem

Attributes

csv_position[RW]

TODO extract sub classes

csv_preview_accessor[RW]

TODO extract sub classes

csv_preview_handler[RW]

TODO extract sub classes

field[RW]

TODO extract sub classes

form_params[RW]

TODO extract sub classes

form_position[RW]

TODO extract sub classes

has_uploader[RW]

TODO extract sub classes

in_csv[RW]

TODO extract sub classes

in_form[RW]

TODO extract sub classes

in_list[RW]

TODO extract sub classes

label[RW]

TODO extract sub classes

list_position[RW]

TODO extract sub classes

list_preview_accessor[RW]

TODO extract sub classes

list_preview_handler[RW]

TODO extract sub classes

name[RW]

TODO extract sub classes

order_column[RW]

TODO extract sub classes

relation[RW]

TODO extract sub classes

Public Class Methods

new(name, field = nil, relation = nil, order_column = nil) click to toggle source

@param name [Symbol] @param field [RademadeAdmin::Model::Info::Field] @param relation [RademadeAdmin::Model::Info::Relation] @param order_column [String]

# File lib/rademade_admin/model/info/data_item.rb, line 35
def initialize(name, field = nil, relation = nil, order_column = nil)
  @name = name
  @field = field
  @relation = relation
  @order_column = order_column
  @has_uploader = false
  @in_list = false
  @in_form = false
  @in_csv = false
end

Public Instance Methods

date_time?() click to toggle source
# File lib/rademade_admin/model/info/data_item.rb, line 125
def date_time?
  has_field? and @field.date_time?
end
getter() click to toggle source
# File lib/rademade_admin/model/info/data_item.rb, line 83
def getter
  @getter ||= _getter
end
has_field?() click to toggle source
# File lib/rademade_admin/model/info/data_item.rb, line 54
def has_field?
  not @field.nil?
end
has_name?(name) click to toggle source
# File lib/rademade_admin/model/info/data_item.rb, line 46
def has_name?(name)
  (has_relation? and @relation.name == name) or (has_field? and @field.name == name)
end
has_relation?() click to toggle source
# File lib/rademade_admin/model/info/data_item.rb, line 50
def has_relation?
  not @relation.nil?
end
has_uploader?() click to toggle source
# File lib/rademade_admin/model/info/data_item.rb, line 58
def has_uploader?
  has_uploader
end
in_csv?() click to toggle source
# File lib/rademade_admin/model/info/data_item.rb, line 105
def in_csv?
  @in_csv
end
in_form?() click to toggle source
# File lib/rademade_admin/model/info/data_item.rb, line 109
def in_form?
  @in_form
end
in_list?() click to toggle source
# File lib/rademade_admin/model/info/data_item.rb, line 101
def in_list?
  @in_list
end
localizable?(localizable = true) click to toggle source
# File lib/rademade_admin/model/info/data_item.rb, line 70
def localizable?(localizable = true)
  if not @form_params.nil? and @form_params.has_key? :localize
    @form_params[:localize] == localizable
  else
    return !localizable unless has_field?
    field.localizable == localizable
  end
end
primary_field?() click to toggle source
# File lib/rademade_admin/model/info/data_item.rb, line 117
def primary_field?
  has_field? and @field.primary?
end
setter() click to toggle source
# File lib/rademade_admin/model/info/data_item.rb, line 87
def setter
  @setter ||= :"#{getter}="
end
simple_field?() click to toggle source
# File lib/rademade_admin/model/info/data_item.rb, line 129
def simple_field?
  not(has_uploader? or has_relation?)
end
sortable_relation?() click to toggle source
# File lib/rademade_admin/model/info/data_item.rb, line 62
def sortable_relation?
  @relation.sortable?
end
string_field?() click to toggle source
# File lib/rademade_admin/model/info/data_item.rb, line 121
def string_field?
  has_field? and @field.string?
end

Private Instance Methods

_default_label() click to toggle source
# File lib/rademade_admin/model/info/data_item.rb, line 135
def _default_label
  name.to_s.humanize
end
_getter() click to toggle source
# File lib/rademade_admin/model/info/data_item.rb, line 139
def _getter
  return @relation.name if has_relation?
  return @field.name if has_field?
  name
end