lib/ronin/ui/command_line/commands/console.rb in ronin-0.2.4 vs lib/ronin/ui/command_line/commands/console.rb in ronin-0.3.0

- old
+ new

@@ -1,9 +1,7 @@ # -#-- -# Ronin - A Ruby platform designed for information security and data -# exploration tasks. +# Ronin - A Ruby platform for exploit development and security research. # # Copyright (c) 2006-2009 Hal Brodigan (postmodern.mod3 at gmail.com) # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -16,53 +14,51 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -#++ # require 'ronin/ui/command_line/command' -require 'ronin/ui/verbose' +require 'ronin/ui/output' require 'ronin/ui/console' require 'ronin/database' +require 'ronin/version' module Ronin module UI module CommandLine module Commands class Console < Command - def define_options(opts) - opts.usage = '<command> [options]' - opts.options do - opts.on('-D','--database URI','The URI for the Database') do |uri| - Database.config = uri.to_s - end + map '-V' => :version - opts.on('-r','--require LIB','Require the specified library or path') do |lib| - UI::Console.auto_load << lib.to_s - end + desc "console", "start the Ronin Console" + method_option :database, :type => :string, :aliases => '-D' + method_option :require, :type => :array, :aliases => '-r' + method_option :verbose, :type => :boolean, :aliases => '-v' - opts.on('-v','--verbose','Enables verbose output') do - UI::Verbose.enable! + def default + if options[:require] + options[:require].each do |path| + UI::Console.auto_load << path end + end - opts.on('-V','--version','Print version information and exit') do - success do - puts "Ronin #{Ronin::VERSION}" - end - end + if options[:database] + Database.config = options[:database] end - opts.summary %{ - Ronin is a Ruby development platform designed for information - security and data exploration tasks. - } + UI::Console.start end - def arguments(*args) - UI::Console.start + desc "version", "displays the version" + + # + # Prints the version information and exists. + # + def version + puts "Ronin #{Ronin::VERSION}" end end end end