Module: RoadForest::RDF::SourceRigor::Credence

Defined in:
lib/roadforest/rdf/source-rigor/credence.rb,
lib/roadforest/rdf/source-rigor/credence/any.rb,
lib/roadforest/rdf/source-rigor/credence/role-if-available.rb,
lib/roadforest/rdf/source-rigor/credence/none-if-role-absent.rb

Defined Under Namespace

Classes: Any, NoneIfRoleAbsent, RoleIfAvailable

Class Method Summary collapse

Class Method Details

.policiesObject



7
8
9
10
11
12
13
14
15
# File 'lib/roadforest/rdf/source-rigor/credence.rb', line 7

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) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
# File 'lib/roadforest/rdf/source-rigor/credence.rb', line 17

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