class RHosts::Console

Public Class Methods

new() click to toggle source
# File lib/rhosts/commands/console.rb, line 43
def initialize
  @actives, @inactives = RHosts::Filer.load
end
start() click to toggle source
# File lib/rhosts/commands/console.rb, line 14
def start
  @console = new

  load_default_rules
  load_run_command

  unless File.writable?(RHosts.config.hosts_file_path) or RHosts.config.sudo?
    warn "Hosts file is not writable. Please check permission"
    exit 1
  end

  @console.start
end

Private Class Methods

load_default_rules() click to toggle source
# File lib/rhosts/commands/console.rb, line 29
def load_default_rules
  default_rules = File.read(RHosts.root + '/rhosts/console/default_rules.rb')
  @console.instance_eval(default_rules)
end
load_run_command() click to toggle source
# File lib/rhosts/commands/console.rb, line 34
def load_run_command
  rhostsrc = File.join(File.expand_path("~"), ".rhostsrc")
  if File.exist?(rhostsrc)
    puts "load: #{rhostsrc}"
    @console.instance_eval(File.read(rhostsrc))
  end
end

Public Instance Methods

start() click to toggle source
# File lib/rhosts/commands/console.rb, line 47
def start
  while command = Readline.readline('rhosts> ', true)
    # call matched rule with captures
    rules.each{ |rule, action| action.call($~.captures) if rule.match command.chomp }
  end
end