# == Schema Information # # Table name: maps # # id :integer not null, primary key # name :string(255) # download :string(255) # created_at :datetime # updated_at :datetime # deleted :boolean default(FALSE), not null # picture :string(255) # category_id :integer # class Map < ActiveRecord::Base include Extra attr_protected :id, :updated_at, :created_at, :deleted has_and_belongs_to_many :contests scope :basic, :conditions => {:deleted => false}, :order => "name" scope :with_name, lambda { |name| {:conditions => {:name => name}} } scope :classic, :conditions => "name LIKE 'ns_%'" scope :of_category, lambda { |category| { :conditions => {:category_id => category.id} }} validates_length_of :name, :maximum => 20 validates_length_of :download, :maximum => 100 mount_uploader :picture, MapUploader def to_s name end def destroy update_attribute :deleted, true end def can_create? cuser cuser and cuser.admin? end def can_update? cuser cuser and cuser.admin? end def can_destroy? cuser cuser and cuser.admin? end end