class Nucleon::Action::Node::Lookup

Public Class Methods

describe() click to toggle source
Calls superclass method
   # File lib/nucleon/action/node/lookup.rb
10 def self.describe
11   super(:node, :lookup, 565)
12 end

Public Instance Methods

arguments() click to toggle source
   # File lib/nucleon/action/node/lookup.rb
37 def arguments
38   [ :properties ]
39 end
configure() click to toggle source
Calls superclass method
   # File lib/nucleon/action/node/lookup.rb
17 def configure
18   super do
19     register :properties, :array, []
20     register :context, :str, :priority do |value|
21       success = true
22       options = [ :priority, :array, :hash ]
23       unless options.include?(value.to_sym)
24         warn('corl.actions.lookup.errors.context', { :value => value, :options => options.join(', ') })
25         success = false
26       end
27       success
28     end
29 
30     register_translator :format, :json
31     register_bool :debug, false
32   end
33 end
execute() click to toggle source
Calls superclass method
   # File lib/nucleon/action/node/lookup.rb
44 def execute
45   super do |node|
46     ensure_node(node) do
47       translator = CORL.translator({}, settings[:format])
48 
49       if settings[:properties].empty?
50         myself.result = node.hiera_configuration(node.facts)
51         $stderr.puts translator.generate(result)
52       else
53         properties = {}
54 
55         settings.delete(:properties).each do |property|
56           properties[property] = node.lookup(property, nil, settings)
57         end
58         $stderr.puts translator.generate(properties)
59         myself.result = properties
60       end
61     end
62   end
63 end