Class Ui::Console::CLI
In: ui/console.rb
Parent: Object

Methods

new   notify   run   setup   signal_handle   teardown  

Included Modules

Core::Interfaces::View

Public Class methods

[Source]

# File ui/console.rb, line 23
      def initialize
        @io = IRB::ReadlineInputMethod.new
        @io.prompt = 'dradis> '
        @controller = nil
        
        trap('SIGINT') do
          signal_handle
        end
        
      end

Public Instance methods

[Source]

# File ui/console.rb, line 64
      def notify(event, *args)
        case event
          when :exception
            puts "There has been an exception:"
            puts args[1]
        end
      end

[Source]

# File ui/console.rb, line 38
      def run
        @continue = true
        while @continue
          line = @io.gets

          # handle Ctrl+D
          if @io.eof? 
            puts
            teardown()
            break
          end

          puts @controller.request_service(:parse_command, line.chomp)
        end
      end

[Source]

# File ui/console.rb, line 54
      def setup(new_controller)
        @controller = new_controller
        @controller.add_observer(:exception, self)
      end

[Source]

# File ui/console.rb, line 34
      def signal_handle
        puts "^C detected. Please use: 'quit' if you want to end your dradis session."
      end

[Source]

# File ui/console.rb, line 59
      def teardown
        puts 'closing dradis console...'
        @continue = false
      end

[Validate]