class ElasticDot::Command::Auth
Public Class Methods
authenticate!()
click to toggle source
# File lib/elasticdot/command/auth.rb, line 34 def self.authenticate! return true if authenticated? login end
credentials()
click to toggle source
# File lib/elasticdot/command/auth.rb, line 39 def self.credentials netrc['j.elasticops.com'] end
login()
click to toggle source
# File lib/elasticdot/command/auth.rb, line 4 def self.login puts "Enter your ElasticDot credentials." print "email: " email = ask print "password: " echo_off pass = ask_for_password echo_on api = ElasticDot::API.new(email: email, password: pass) key = api.login netrc.delete 'j.elasticops.com' netrc['j.elasticops.com'] = email, key netrc.save true end
logout()
click to toggle source
# File lib/elasticdot/command/auth.rb, line 27 def self.logout netrc.delete 'j.elasticops.com' netrc.save true end
Private Class Methods
ask_for_password()
click to toggle source
# File lib/elasticdot/command/auth.rb, line 55 def self.ask_for_password echo_off password = ask puts echo_on password end
authenticated?()
click to toggle source
# File lib/elasticdot/command/auth.rb, line 64 def self.authenticated? netrc['j.elasticops.com'] ? true : false end
netrc()
click to toggle source
# File lib/elasticdot/command/auth.rb, line 44 def self.netrc @netrc ||= Netrc.read netrc_path end
netrc_path()
click to toggle source
# File lib/elasticdot/command/auth.rb, line 48 def self.netrc_path default = Netrc.default_path encrypted = default + ".gpg" File.exists?(encrypted) ? encrypted : default end