Module: TunnelBlick::ExpressVPN

Defined in:
lib/tunnel_blick/express_vpn.rb

Class Method Summary collapse

Class Method Details

.parse_config(string) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/tunnel_blick/express_vpn.rb', line 9

def parse_config (string)

  details = OpenStruct.new
  details.provider = 'ExpressVPN'

  string = string.sub('my_expressvpn_', '')
  string.sub!(/_\D{3}\z/, '')

  if string.split('_').size == 2
    details.country = string.sub('_', ' ').titlecase
    details.label = details.country
    return details
  else

  end

  country = string.split('-')[0]
  string.sub!(country, '')
  country.gsub!('_', ' ').strip!
  country = %w"usa".include?(country) ? country.upcase : country.titlecase
  details.country = country

  city = ['Hong Kong'].include?(country) ? country : string.split('-_')[1]
  string.gsub!(city, '')
  city = city.gsub('_', ' ').strip.titlecase.sub('Dc', 'DC')
  details.city = city

  label = country == city ? country : "#{country} - #{city}"
  number = string.scan(/\d/)
  label = label + " - #{number[0]}" unless number.empty?
  details.label = label

  details
end