class ProxyConf::Engine
Public Instance Methods
add(name, proxy)
click to toggle source
# File lib/proxyconf/engine.rb, line 5 def add(name, proxy) validate_name name validate_uri proxy filepath = File.join(ProxyConf::HOME, ProxyConf::PROXIES_DIR, name) File.open(filepath, "w") do |file| file.puts "export http_proxy=#{proxy}" file.puts "export ftp_proxy=#{proxy}" file.puts "export https_proxy=#{proxy}" end end
info(name)
click to toggle source
# File lib/proxyconf/engine.rb, line 22 def info(name) if_exists(name) do |filepath| puts File.read(filepath) end end
list()
click to toggle source
# File lib/proxyconf/engine.rb, line 28 def list path = File.join(ProxyConf::HOME, ProxyConf::PROXIES_DIR, "*") Dir.glob(path).each do |filepath| puts File.basename(filepath) end end
remove(name)
click to toggle source
# File lib/proxyconf/engine.rb, line 16 def remove(name) if_exists(name) do |filepath| File.delete(filepath) end end
Protected Instance Methods
if_exists(name, &block)
click to toggle source
# File lib/proxyconf/engine.rb, line 53 def if_exists(name, &block) filepath = File.join(ProxyConf::HOME, ProxyConf::PROXIES_DIR, name) if File.exist? filepath block.call(filepath) else $stderr.puts "no such proxy name: #{name}" end end
validate_name(name)
click to toggle source
# File lib/proxyconf/engine.rb, line 37 def validate_name(name) unless name =~ /^[0-9a-zA-Z_\-]*$/ $stderr.puts "invalid name: #{name}" exit 1 end end
validate_uri(uri)
click to toggle source
# File lib/proxyconf/engine.rb, line 44 def validate_uri(uri) begin URI.parse(uri) rescue URI::InvalidURIError $stderr.puts "invalid proxy uri: #{uri}" exit 1 end end