Class: Exo::Resource::MetaValue

Inherits:
MetaField show all
Defined in:
app/models/exo/resource/meta_value.rb

Constant Summary collapse

DATUM_TYPES =
[
  :string,
  :text,
  :image,
  :file,
  :datetime,
  :time,
  :belongs_to,
  :has_many,
  :markdown,
  :list
]
DEFAULT_VALUE_CLASS =
Exo::Resource::Item::SimpleValue
VALUE_CLASSES =
{
  belongs_to: Exo::Resource::Item::BelongsToValue,
  has_many:   Exo::Resource::Item::HasManyValue,
  markdown:   Exo::Resource::Item::MarkdownValue,
  list:       Exo::Resource::Item::ListValue,

  image:      Exo::Resource::Item::AssetValue,
  file:      Exo::Resource::Item::AssetValue
}

Instance Method Summary collapse

Instance Method Details

#asset?Boolean

Returns:

  • (Boolean)


47
48
49
# File 'app/models/exo/resource/meta_value.rb', line 47

def asset?
  ['image'].include? datum_type.to_s
end

#datum_symObject



43
44
45
# File 'app/models/exo/resource/meta_value.rb', line 43

def datum_sym
  datum_type.to_sym if datum_type
end

#value_classObject

FIXME validate uniqueness of name



39
40
41
# File 'app/models/exo/resource/meta_value.rb', line 39

def value_class
  VALUE_CLASSES[datum_sym] || DEFAULT_VALUE_CLASS
end