Sha256: d75f24ebbbcc3a124df63247e94ca44884feb1c08165d8ff7774e6f8e19c3800
Contents?: true
Size: 836 Bytes
Versions: 1
Compression:
Stored size: 836 Bytes
Contents
require 'reuser/role' require 'reuser/role_definition' require 'reuser/errors' module ReUser module ClassMethods def roles &definition_block if block_given? definition = ReUser::RoleDefinition.new(definition_block) @@roles = definition.roles else @@roles.keys end end def role(name) @@roles.fetch(name.to_sym) rescue ::IndexError raise RoleNotDefined.new(name) end end def self.included(base) base.extend ReUser::ClassMethods end def can? permission self.class.role(self.role).can? permission end def cant? permission !can?(permission) end def could? permission, block_args self.class.role(self.role).could? permission, block_args end def couldnt? permission, block_args !could?(permission, block_args) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
reuser-3.1.0 | lib/reuser.rb |