module RoadForest::SourceRigor::Credence

Public Class Methods

policies() click to toggle source
# File lib/roadforest/source-rigor/credence.rb, line 3
def self.policies
  @policies ||= {
    :any => Any.new,
    :may_subject => RoleIfAvailable.new(:subject),
    :must_subject => NoneIfRoleAbsent.new(:subject),
    :may_local => RoleIfAvailable.new(:local),
    :must_local => NoneIfRoleAbsent.new(:local)
  }
end
policy(name) { || ... } click to toggle source
# File lib/roadforest/source-rigor/credence.rb, line 13
def self.policy(name)
  if block_given?
    policies[name] ||= yield
  else
    begin
      policies.fetch(name)
    rescue KeyError
      raise "No Credence policy for #{name.inspect} (available named policies are #{policies.keys.inspect})"
    end
  end
end