Class: RHosts::Console

Inherits:
Object
  • Object
show all
Includes:
Alias, ConsoleMethods, Rulable
Defined in:
lib/rhosts/commands/console.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Alias

#alias_host, #alias_hosts, #alias_ip, #alias_ips, included

Methods included from Rulable

#rule, #rules

Methods included from ConsoleMethods

#actives, #display, #inactives, #map, #unmap

Constructor Details

#initializeConsole

Returns a new instance of Console.



43
44
45
# File 'lib/rhosts/commands/console.rb', line 43

def initialize
  @actives, @inactives = RHosts::Filer.load
end

Class Method Details

.startObject



14
15
16
17
18
19
20
21
22
23
24
25
26
# 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

Instance Method Details

#startObject



47
48
49
50
51
52
# 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