class Moneylovercli::Commands::Login
Public Class Methods
new(options)
click to toggle source
# File lib/moneylovercli/commands/login.rb, line 11 def initialize(options) @options = options end
Public Instance Methods
execute(*)
click to toggle source
# File lib/moneylovercli/commands/login.rb, line 15 def execute(*) username = prompt.ask('Enter your username/email?') password = prompt.mask('Enter your password?') status, access_token = parsed_access_token(username, password) if status prompt.ok('Login successfully') write_config(access_token) else prompt.error(access_token['message']) end end
Private Instance Methods
parsed_access_token(username, password)
click to toggle source
# File lib/moneylovercli/commands/login.rb, line 40 def parsed_access_token(username, password) client, token = parsed_login_url request = Moneylovercli::Api::AccessToken.new.access_token( authorization_token: token.to_s, client: client, email: username, password: password ) [request.parsed_response['status'], request.parsed_response] end
parsed_login_url()
click to toggle source
# File lib/moneylovercli/commands/login.rb, line 31 def parsed_login_url login_url = Moneylovercli::Api::User.new.login_url.parsed_response client = login_url['data']['login_url'].match(/client=(.+?)&/)[1].to_s token = login_url['data']['request_token'] [client, token] end
write_config(access_token)
click to toggle source
# File lib/moneylovercli/commands/login.rb, line 51 def write_config(access_token) access_token.each do |key, value| config.set(key, value: value) end config.write(force: true) end