class Policy
Represents a policy for checking compliance.
Nested
Definitions
def self.default(loader = Loader.default)
Load the policy from a given loader.
Implementation
def self.default(loader = Loader.default)
self.new.tap do |policy|
loader.documents.each do |document|
policy.add(document, loader)
end
end
end
def check
Check the document against a given policy.
Implementation
def check
return to_enum(:check) unless block_given?
@requirements.each do |id, requirement|
attestations = @attestations[id]
satisfied = []
unsatisfied = []
attestations&.each do |attestation|
if self.satisfies?(requirement, attestation)
satisfied << attestation
else
unsatisfied << attestation
end
end
yield requirement, satisfied, unsatisfied
end
end