Sha256: 35261549b470ea74f7c1e623825399769edd786a63671775fa5e24ba0ad583a3
Contents?: true
Size: 501 Bytes
Versions: 5
Compression:
Stored size: 501 Bytes
Contents
module Abilities class Proxy def initialize(definitions, &block) @definitions = definitions instance_eval &block end def can(actions, resources, &block) @definitions.add actions, resources, (block_given? ? block : true) end def cannot(actions, resources, &block) @definitions.add actions, resources, (block_given? ? block : false) end def method_missing(name, *args, &block) @definitions.user.send name, *args, &block end end end
Version data entries
5 entries across 5 versions & 1 rubygems