This repository has been archived on 2024-08-27. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
redstoner.com/app/models/role.rb
2013-10-16 00:51:50 +02:00

44 lines
679 B
Ruby

class Role < ActiveRecord::Base
include Comparable
has_many :users
attr_accessible :name, :value
def to_s
self.name
end
def to_i
self.value
end
def is? (name)
!!(Role.find_by_name(name) == self)
end
def self.get (name)
Role.find_by_name(name)
end
def <=> (role)
if role.is_a?(Role)
self.value - role.value
elsif role.is_a?(Symbol)
self <=> Role.find_by_name(role)
else
raise "Cannot compare Role with #{role.class}"
end
end
def self.all_until (role)
Role.all.select do |r|
r <= role
end
end
def self.all_from(role)
Role.all.select do |r|
r >= role
end
end
end