summaryrefslogtreecommitdiff
path: root/app/models/role.rb
diff options
context:
space:
mode:
authorjomo <github@jomo.tv>2014-04-04 01:08:17 +0200
committerjomo <github@jomo.tv>2014-04-04 01:08:17 +0200
commitf290258f26f998bf79c24f2c44577bdae5d5f7c0 (patch)
tree0530c35c89e2ba46dbaf81dd52f1575e419a72b0 /app/models/role.rb
parent0604bbce63211654fe66f5cae77d8f9ee74a875c (diff)
LOTS of stuff
Diffstat (limited to 'app/models/role.rb')
-rw-r--r--app/models/role.rb12
1 files changed, 8 insertions, 4 deletions
diff --git a/app/models/role.rb b/app/models/role.rb
index 7785c41..3c28de9 100644
--- a/app/models/role.rb
+++ b/app/models/role.rb
@@ -25,20 +25,24 @@ class Role < ActiveRecord::Base
elsif role.is_a?(Symbol)
self <=> Role.find_by_name(role)
else
- raise "Cannot compare Role with #{role.class}"
+ self.to_i <=> role
end
end
- def self.all_until (role)
- Role.all.select do |r|
+ def self.all_to (role)
+ Role.order(:value).select do |r|
r <= role
end
end
def self.all_from(role)
- Role.all.select do |r|
+ Role.order(:value).select do |r|
r >= role
end
end
+ def self.all_from_to(from, to)
+ Role.order(:value).select {|r| r >= from}.select {|r| r <= to}
+ end
+
end \ No newline at end of file