Class: LogicalAuthz::AccessControl::SubPolicy

Inherits:
Policy
  • Object
show all
Defined in:
lib/logical_authz/access_control.rb

Direct Known Subclasses

IfAllows, IfDenies

Instance Attribute Summary

Attributes inherited from Policy

#decision, #name

Instance Method Summary collapse

Methods inherited from Policy

#default_name, #evaluate, #laz_debug, names, register

Constructor Details

#initialize(helper_mod, &block) ⇒ SubPolicy

Returns a new instance of SubPolicy.



222
223
224
225
226
227
# File 'lib/logical_authz/access_control.rb', line 222

def initialize(helper_mod, &block)
  super()
  builder = Builder.new(helper_mod)
  builder.define(&block)
  @criteria_list = builder.list
end

Instance Method Details

#check(criteria) ⇒ Object



229
230
231
232
233
234
235
236
# File 'lib/logical_authz/access_control.rb', line 229

def check(criteria)
  @criteria_list.each do |control|
    policy = control.evaluate(criteria)
    next if policy.nil?
    return match_policy(policy)
  end
  return false
end