class Flubber::Login
Attributes
api_token[R]
password[R]
phone_number[R]
Public Class Methods
login()
click to toggle source
# File lib/login.rb, line 12 def self.login new.login end
Public Instance Methods
login()
click to toggle source
# File lib/login.rb, line 16 def login if logged_in? puts "Already logged in." else get_credentials get_api_token save_api_token end end
Private Instance Methods
api_token_response()
click to toggle source
# File lib/login.rb, line 52 def api_token_response @api_token_response ||= Faraday.post( "#{API_URL}/user_token", { "phone_number": phone_number, "password": password, }, ) end
get_api_token()
click to toggle source
# File lib/login.rb, line 37 def get_api_token if api_token_response.status == 201 @api_token = JSON.parse(api_token_response.body)["api_token"] end end
get_credentials()
click to toggle source
# File lib/login.rb, line 30 def get_credentials print "Phone Number: " @phone_number = STDIN.gets.chomp print "Password: " @password = IO::console.getpass end
logged_in?()
click to toggle source
# File lib/login.rb, line 62 def logged_in? @logged_in ||= ApiToken.get.present? end
save_api_token()
click to toggle source
# File lib/login.rb, line 43 def save_api_token if api_token.present? ApiToken.set(api_token) puts "Success" else puts "Incorrect credentials" end end