class System::OpenvpnStatusLogParser
Attributes
clients_block[RW]
status[RW]
text[RW]
Public Class Methods
new(text)
click to toggle source
# File lib/system/openvpn_status_log_parser.rb, line 5 def initialize(text) @status = System::OpenvpnStatus.new @clients_block = false @text = text parse end
Public Instance Methods
parse()
click to toggle source
# File lib/system/openvpn_status_log_parser.rb, line 12 def parse @text.lines.each do |line| line_tokens = line.strip.split(',') parse_client_virtual_ips(line_tokens) end end
Private Instance Methods
parse_client_virtual_ips(tokens)
click to toggle source
# File lib/system/openvpn_status_log_parser.rb, line 21 def parse_client_virtual_ips(tokens) @clients_block = false if tokens[0] == 'GLOBAL STATS' if clients_block common_name, ip_address = tokens[1], tokens[0] @status.clients_list[common_name] = ip_address end @clients_block = true if tokens[0] == 'Virtual Address' end