#!/usr/bin/env ruby # # Keyringer key management system. # # Copyright (C) 2011 Keyringer Development Team. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the # License, or any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . # # TODO # - a lot of things $:.unshift File.dirname(__FILE__) + '/../lib' require 'keyringer' begin Keyringer::Parser.new puts "Performing action #{$action.capitalize}" begin action = Keyringer::Actions.const_get($action.capitalize) rescue NameError wrapper = Keyringer::BashWrapper.new wrapper.execute else if action.is_a?(Class) instance = action.new output = instance.execute puts output end end rescue SystemExit => e exit e.status rescue Exception => e puts "Fatal error: #{e.inspect}" puts e.backtrace.join("\n") exit 1 end