ensl.org/app/models/map.rb

54 lines
1.1 KiB
Ruby
Raw Normal View History

# == 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