metamaps--metamaps/app/services/perm.rb

38 lines
624 B
Ruby
Raw Normal View History

2016-09-24 03:00:46 +00:00
# frozen_string_literal: true
class Perm
# e.g. Perm::ISSIONS
ISSIONS = [:commons, :public, :private].freeze
class << self
def short(permission)
case permission
when :commons
'co'
when :public
'pu'
when :private
'pr'
else
raise 'Invalid permission'
end
end
def long(perm)
case perm
when 'co'
:commons
when 'pu'
:public
when 'pr'
:private
else
raise 'Invalid short permission'
end
end
def valid?(permission)
ISSIONS.include? permission
end
end
end