module Utilities
Constants
- CFG_FILE
- PROGRAM_NAME
Public Class Methods
get_options()
click to toggle source
# File lib/utilities.rb, line 8 def get_options get_credentials.merge(parse_options) end
Private Class Methods
get_credentials()
click to toggle source
# File lib/utilities.rb, line 13 def get_credentials if File.exists?(CFG_FILE) user, pass = File.new(CFG_FILE).gets.chomp.split(':', 2) else begin require 'highline' hl = HighLine.new user = hl.ask('Enter Pinboard username: ') pass = hl.ask('Enter Pinboard password: ') { |q| q.echo = "*" } rescue LoadError puts "Can't find config file '#{CFG_FILE}' and you don't seem to have HighLine installed. Aborting!" exit 1 end end {:user => user, :pass => pass} end
parse_options()
click to toggle source
# File lib/utilities.rb, line 30 def parse_options options = {} opts = GetoptLong.new( ['--dry-run', '-n', GetoptLong::NO_ARGUMENT], ['--http-proxy', '-p', GetoptLong::REQUIRED_ARGUMENT], ['--log-file', '-l', GetoptLong::REQUIRED_ARGUMENT], ['--help', '-h', GetoptLong::NO_ARGUMENT] ) opts.each do |opt, arg| case opt when '--help' puts <<EOF #{PROGRAM_NAME} [OPTIONS] -h, --help: show help -d, --dry-run: only log outdated links without deleting them -p, --http-proxy: specify an HTTP proxy (e.g. --http-proxy="http://webproxy:8080") -l, --log-file: location of the log file (default: ./unsavory.log) EOF exit 0 when '--dry-run' options[:dry_run] = true when '--http-proxy' options[:http_proxy] = true uri = URI.parse(arg) options[:proxy_host] = uri.host options[:proxy_port] = uri.port || 8080 options[:proxy_user] = uri.user options[:proxy_pass] = uri.password when '--log-file' options[:logfile] = File.expand_path(arg) end end options end