2010-05-24 00:18:23 +00:00
|
|
|
class ContentInstance
|
|
|
|
include Mongoid::Document
|
|
|
|
include Mongoid::Timestamps
|
|
|
|
|
2010-05-25 00:32:12 +00:00
|
|
|
## fields (dynamic fields) ##
|
2010-05-26 00:41:10 +00:00
|
|
|
field :_position_in_list, :type => Integer, :default => 0
|
2010-05-25 00:32:12 +00:00
|
|
|
|
|
|
|
## validations ##
|
|
|
|
validate :require_highlighted_field
|
|
|
|
|
|
|
|
## associations ##
|
|
|
|
embedded_in :content_type, :inverse_of => :contents
|
|
|
|
|
2010-05-26 00:41:10 +00:00
|
|
|
## named scopes ##
|
|
|
|
named_scope :latest_updated, :order_by => [[:updated_at, :desc]], :limit => Locomotive.config.lastest_items_nb
|
|
|
|
|
2010-05-25 00:32:12 +00:00
|
|
|
## methods ##
|
|
|
|
|
|
|
|
protected
|
|
|
|
|
|
|
|
def require_highlighted_field
|
|
|
|
_alias = self.content_type.highlighted_field._alias.to_sym
|
|
|
|
if self.send(_alias).blank?
|
|
|
|
self.errors.add(_alias, :blank)
|
|
|
|
end
|
|
|
|
end
|
2010-05-24 00:18:23 +00:00
|
|
|
|
|
|
|
end
|