class Jerakia::Launcher
Attributes
answer[R]
policies[R]
request[R]
Public Class Methods
evaluate(&block)
click to toggle source
# File lib/jerakia/launcher.rb, line 34 def self.evaluate(&block) Jerakia::Dsl::Policy.evaluate(&block) end
new()
click to toggle source
# File lib/jerakia/launcher.rb, line 13 def initialize @policies = {} policy_files.each do |policy_file| policy = Jerakia::Dsl::Policy.evaluate_file(policy_file) raise Jerakia::PolicyError, "Policy #{policy.name} declared twice" if @policies[policy.name] @policies[policy.name] = policy end end
Public Instance Methods
invoke_from_file()
click to toggle source
# File lib/jerakia/launcher.rb, line 38 def invoke_from_file policy_name = request.policy.to_s Jerakia.log.debug "Invoked lookup for #{request.key} using policy #{policy_name}" filename = File.join(Jerakia.config.policydir, "#{policy_name}.rb") policy = Jerakia::Dsl::Policy.evaluate_file(filename, request) policy.execute @answer = policy.answer end
policy_dir()
click to toggle source
# File lib/jerakia/launcher.rb, line 26 def policy_dir Jerakia.config.policydir end
policy_exists?(policy)
click to toggle source
# File lib/jerakia/launcher.rb, line 22 def policy_exists?(policy) @policies.has_key?(policy.to_sym) end
policy_files()
click to toggle source
# File lib/jerakia/launcher.rb, line 30 def policy_files Dir[File.join(policy_dir, '*.rb')] end