class Intrinio::CommandLine
Handles the command line interface
Attributes
csv[R]
file[R]
params[R]
path[R]
Public Instance Methods
before_execute()
click to toggle source
# File lib/intrinio/command_line.rb, line 15 def before_execute @path = args['PATH'] @params = translate_params args['PARAMS'] @file = args['FILE'] @csv = args['--csv'] if intrinio_auth.empty? raise Intrinio::MissingAuth, "Missing Authentication\nPlease set INTRINIO_AUTH=username:password" end end
get()
click to toggle source
# File lib/intrinio/command_line.rb, line 26 def get if csv puts intrinio.get_csv path, params else payload = intrinio.get! path, params puts payload.response.body end end
intrinio()
click to toggle source
# File lib/intrinio/command_line.rb, line 69 def intrinio @intrinio ||= intrinio! end
pretty()
click to toggle source
# File lib/intrinio/command_line.rb, line 44 def pretty payload = intrinio.get path, params puts JSON.pretty_generate payload end
save()
click to toggle source
# File lib/intrinio/command_line.rb, line 35 def save if csv success = intrinio.save_csv file, path, params else success = intrinio.save file, path, params end puts success ? "Saved #{file}" : "Saving failed" end
see()
click to toggle source
# File lib/intrinio/command_line.rb, line 49 def see lp intrinio.get path, params end
translate_params(pairs)
click to toggle source
Convert a params array like [key:value, key:value] to a hash like {key: value, key: value}
# File lib/intrinio/command_line.rb, line 59 def translate_params(pairs) result = {} return result if pairs.empty? pairs.each do |pair| key, value = pair.split ':' result[key.to_sym] = value end result end
url()
click to toggle source
# File lib/intrinio/command_line.rb, line 53 def url puts intrinio.url path, params end
Private Instance Methods
cache_dir()
click to toggle source
# File lib/intrinio/command_line.rb, line 101 def cache_dir ENV['INTRINIO_CACHE_DIR'] end
cache_life()
click to toggle source
# File lib/intrinio/command_line.rb, line 105 def cache_life ENV['INTRINIO_CACHE_LIFE'] end
intrinio!()
click to toggle source
# File lib/intrinio/command_line.rb, line 75 def intrinio! Intrinio::API.new options end
intrinio_auth()
click to toggle source
# File lib/intrinio/command_line.rb, line 97 def intrinio_auth ENV['INTRINIO_AUTH'] || '' end
options()
click to toggle source
# File lib/intrinio/command_line.rb, line 79 def options result = { username: username, password: password } return result unless cache_dir || cache_life result[:use_cache] = true result[:cache_dir] = cache_dir if cache_dir result[:cache_life] = cache_life.to_i if cache_life result end
password()
click to toggle source
# File lib/intrinio/command_line.rb, line 93 def password @password ||= intrinio_auth.split(':').last end
username()
click to toggle source
# File lib/intrinio/command_line.rb, line 89 def username @username ||= intrinio_auth.split(':').first end