class Asset

  include Mongoid::Document
  include Mongoid::Timestamps

  mount_uploader :data, FileAssetUploader

  field :filename
  field :description, localize: true
  field :title, localize: true
  
  validates :title, :at_least_one => true
  validates :description, :at_least_one => true
  validates_presence_of :data


  belongs_to :asset_category
  belongs_to :assetable, polymorphic: true
  has_and_belongs_to_many :tags, :class_name => "AssetTag"

  before_save :clean_tags

  def sorted_tags
    tags.order_by(I18n.locale, :asc)
  end

  protected

  def clean_tags
    self.tag_ids.delete('')
  end
  
end