class Hieracles::Commands
Attributes
available[R]
Public Class Methods
new(config)
click to toggle source
# File lib/hieracles/commands.rb, line 7 def initialize(config) @config = config @formatter = Object.const_get("Hieracles::Formats::#{@config.format}") @available = %w(info files params paths modules allparams facts) end
Public Instance Methods
call_node(command, fqdn, extra)
click to toggle source
# File lib/hieracles/commands.rb, line 52 def call_node(command, fqdn, extra) node = Hieracles::Node.new fqdn, @config formatter = @formatter.new node formatter.send command, extra end
farms(arg, extra)
click to toggle source
# File lib/hieracles/commands.rb, line 30 def farms(arg, extra) if arg arg = [arg] else arg = [] end formatter = @formatter.new nil farms = Hieracles::Registry.farms_nodes(@config, 'local', true) puts formatter.build_list(farms, nil, arg) end
modules(arg, extra)
click to toggle source
# File lib/hieracles/commands.rb, line 41 def modules(arg, extra) if arg arg = [arg] else arg = [] end formatter = @formatter.new nil modules = Hieracles::Registry.nodes_modules(@config, 'local', arg) puts formatter.build_list(modules, nil, arg) end
run(command, arg, extra)
click to toggle source
# File lib/hieracles/commands.rb, line 13 def run(command, arg, extra) if arg and arg[/\./] # poor way to detect if it is a fqdn if Hieracles::Registry.nodes(@config).include? arg puts call_node(command.to_sym, arg, extra) else puts "node '#{arg}' not found" end else if respond_to? command send command.to_sym, arg, extra else # not a node puts "'#{arg}' is not a FQDN." end end end