Sha256: 1b40429c27a4d0cee613507253f028e9d9c449979743e59766169a87ac9cfe3d

Contents?: true

Size: 969 Bytes

Versions: 3

Compression:

Stored size: 969 Bytes

Contents

#!/usr/bin/env ruby

$LOAD_PATH << File.expand_path("../../lib", __FILE__)

require 'hieracles'
require 'hieracles/options/hc'

opt = Hieracles::Options::Hc.new(ARGV)

if opt.options.has_key? :version
  puts Hieracles.version
  exit(0)
end

fqdn = opt.payload[0]
command = opt.payload[1]
args = opt.payload[2..-1]

unless fqdn && command
  puts Hieracles::Options::Hc.usage
  exit(1)
end
 
if Hieracles::Format.method_defined? command
  begin
    config = Hieracles::Config.new opt.options
    if fqdn[/\./]
      node = Hieracles::Node.new fqdn, config
    else
    end
  rescue Exception => e
    puts "*** Error: #{e.message}"
    exit(1)
  end
  begin
    formatter = Object.const_get("Hieracles::Formats::#{config.format}")
  rescue
    puts "*** Unknown format #{config.format}"
    exit(1)
  end
  dispatch = formatter.new node
  puts dispatch.send(command.to_sym, args)
else
  puts "*** Unknown command: #{command}"
  Hieracles::Options::Hc.usage
  exit(1)
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
hieracles-0.4.2 bin/hc
hieracles-0.4.1 bin/hc
hieracles-0.3.6 bin/hc