class Asset

  include Mongoid::Document
  include Mongoid::Timestamps
  include OrbitTag::Taggable

  mount_uploader :data, FileAssetUploader
  before_save :update_asset_attributes

  field :filename
  field :description, localize: true
  field :title, localize: true
  field :content_type
  field :file_size
  
  validates :title, :at_least_one => true

  validates_presence_of :data


  belongs_to :asset_category
  belongs_to :assetable, polymorphic: true

  before_save :clean_tags

  protected
 
  
  def update_asset_attributes
    if data.present? && data_changed?
      self.content_type = data.file.content_type
      self.file_size = data.file.size
    end
  end

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