class ProxyConf::Mac
Public Instance Methods
active_network()
click to toggle source
# File lib/proxyconf/mac.rb, line 37 def active_network guid = get_primary_service_guid get_service_name(guid) end
export()
click to toggle source
# File lib/proxyconf/mac.rb, line 48 def export info = proxy_info proxy = "" if info['Enabled'] proxy = "#{info['Server']}:#{info['Port']}" end puts "export http_proxy=#{proxy}" puts "export ftp_proxy=#{proxy}" puts "export https_proxy=#{proxy}" end
proxy_info()
click to toggle source
# File lib/proxyconf/mac.rb, line 42 def proxy_info active_service_name = active_network src = `networksetup -getwebproxy "#{active_service_name}"` info = YAML.load(src) end
Private Instance Methods
get_primary_service_guid()
click to toggle source
# File lib/proxyconf/mac.rb, line 25 def get_primary_service_guid lines = scutil_query "State:/Network/Global/IPv4" pick_value(lines, /PrimaryService/) end
get_service_name(guid)
click to toggle source
# File lib/proxyconf/mac.rb, line 30 def get_service_name(guid) lines = scutil_query "Setup:/Network/Service/#{guid}" pick_value(lines, /UserDefinedName/) end
pick_value(lines, key)
click to toggle source
# File lib/proxyconf/mac.rb, line 21 def pick_value(lines, key) lines.find { |line| line =~ key }.strip.split(':').last.strip end
scutil_query(key)
click to toggle source
# File lib/proxyconf/mac.rb, line 7 def scutil_query(key) send_data = <<-"EOF" open get #{key} d.show close EOF IO.popen("scutil", "r+") do |io| io.puts send_data io.close_write io.readlines end end