Sha256: 27520fec0bc902d499b7b3c145df40a24b2111f7de8a1a71b2922075c1409d8c

Contents?: true

Size: 997 Bytes

Versions: 1

Compression:

Stored size: 997 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

action = opt.payload.shift

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

1 entries across 1 versions & 1 rubygems

Version Path
hieracles-0.4.0 bin/hc