Sha256: a40add7e4dcd9c958ac10cb380bde081dcf28fd1f057abaf0a2680caebb8a2d8
Contents?: true
Size: 682 Bytes
Versions: 3
Compression:
Stored size: 682 Bytes
Contents
module ReUser class Role attr_reader :name def permissions @permissions.keys end def initialize name, permissions=[] @name = name @permissions = {} self.can *permissions end def can *permissions permissions.each do |permission| @permissions[permission] = lambda {|*args| true } end end def can? permission @permissions[permission].is_a? Proc end def could permission, &block raise "#could requires a block" unless block_given? @permissions[permission] = block end def could? permission, block_args @permissions[permission].call(block_args) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
reuser-3.1.0 | lib/reuser/role.rb |
reuser-3.0.0 | lib/reuser/role.rb |
reuser-2.0.0 | lib/reuser/role.rb |