class ProxyTester::PacResult

Attributes

proxy[R]
proxy_port[R]
request_type[R]

Public Class Methods

new(verbatim = '') click to toggle source
# File lib/proxy_tester/pac_result.rb, line 7
def initialize(verbatim = '')
  @verbatim = verbatim

  if verbatim.blank?
    parsed_content = {}
  else
    parsed_content = parse(verbatim) || {}
  end

  @proxy         = parsed_content[:proxy]
  @proxy_port    = parsed_content[:proxy_port]
  @request_type  = parsed_content[:request_type]
end

Public Instance Methods

verbatim() click to toggle source
# File lib/proxy_tester/pac_result.rb, line 21
def verbatim
  @verbatim.to_s
end

Private Instance Methods

parse(string) click to toggle source
# File lib/proxy_tester/pac_result.rb, line 27
def parse(string)
  regex.match(string)
end
regex() click to toggle source
# File lib/proxy_tester/pac_result.rb, line 31
def regex
  %r{
  \A
  "?
  (?<request_type>
   [A-Z]+
  )
  (?:
   \s+
   (?<proxy>
    [0-9]{1,3}(:?\.[0-9]{1,3}){3} || 
    [[:alnum:]]+(?:\.[[:alnum:]]+)*\.?
   )
   (?:
    :
    (?<proxy_port>[0-9]+)
   )?
  )?
  ;?
   "?
   \Z
   }x
end