Class: YaAcl::Builder::PrivilegeAssertProxy

Inherits:
Object
  • Object
show all
Defined in:
lib/ya_acl/builder.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(block, all_allow_roles) ⇒ PrivilegeAssertProxy

Returns a new instance of PrivilegeAssertProxy.



80
81
82
83
84
# File 'lib/ya_acl/builder.rb', line 80

def initialize(block, all_allow_roles)
  @all_allow_roles = all_allow_roles
  @asserts = {}
  instance_eval &block
end

Instance Attribute Details

#assertsObject (readonly)

Returns the value of attribute asserts.



73
74
75
# File 'lib/ya_acl/builder.rb', line 73

def asserts
  @asserts
end

Class Method Details

.build(block, all_allow_roles) ⇒ Object



75
76
77
78
# File 'lib/ya_acl/builder.rb', line 75

def self.build(block, all_allow_roles)
  builder = new block, all_allow_roles
  builder.asserts
end

Instance Method Details

#assert(name, roles = []) ⇒ Object



86
87
88
89
90
91
92
# File 'lib/ya_acl/builder.rb', line 86

def assert(name, roles = [])
  roles = @all_allow_roles unless roles.any?
  roles.each do |role|
    @asserts[role] ||= []
    @asserts[role] << name
  end
end