Sha256: 841b051f6675d08998f09004662907e9a91ff626b840b7b3ffaa6bec48c01df2
Contents?: true
Size: 876 Bytes
Versions: 1
Compression:
Stored size: 876 Bytes
Contents
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 if block_args.empty? block_args << self end 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.1 | lib/reuser.rb |