class Appfront::Command::Auth

Public Class Methods

authenticate!() click to toggle source
# File lib/appfront/command/auth.rb, line 62
def self.authenticate!
  return true if authenticated?
  login
end
credentials() click to toggle source
# File lib/appfront/command/auth.rb, line 67
def self.credentials
  netrc['jarvis.appfront.io']
end
login() click to toggle source
# File lib/appfront/command/auth.rb, line 4
def self.login
  puts "Enter your Appfront credentials."

  print "email: "
  email = ask

  print "password: "

  echo_off
  pass = ask_for_password
  echo_on

  api = Appfront::API.new(email: email, password: pass)
  key = api.login

  netrc.delete 'jarvis.appfront.io'

  netrc['jarvis.appfront.io'] = email, key
  netrc.save

  true
end
logout() click to toggle source
# File lib/appfront/command/auth.rb, line 55
def self.logout
  netrc.delete 'jarvis.appfront.io'
  netrc.save

  true
end
signup() click to toggle source
# File lib/appfront/command/auth.rb, line 27
def self.signup
  puts "Welcome to Appfront \n"
  puts "Insert your credentials to signup"

  print "email: "
  email = ask

  print "password: "

  echo_off
  pass = ask_for_password
  echo_on

  api = Appfront::API.new(email: email, password: pass)
  key = api.signup
  unless key
    exit 1
    puts "There was a problem during registration, please try it later. \n"
  end
  netrc.delete 'jarvis.appfront.io'

  netrc['jarvis.appfront.io'] = email, key
  netrc.save
  puts "Registration complete, we've already logged you in... \n"
  puts "Find out more by typing: appfront help\n"
  true
end

Private Class Methods

ask_for_password() click to toggle source
# File lib/appfront/command/auth.rb, line 83
def self.ask_for_password
  echo_off
  password = ask
  puts
  echo_on

  password
end
authenticated?() click to toggle source
# File lib/appfront/command/auth.rb, line 92
def self.authenticated?
  netrc['jarvis.appfront.io'] ? true : false
end
netrc() click to toggle source
# File lib/appfront/command/auth.rb, line 72
def self.netrc
  @netrc ||= Netrc.read netrc_path
end
netrc_path() click to toggle source
# File lib/appfront/command/auth.rb, line 76
def self.netrc_path
  default   = Netrc.default_path
  encrypted = default + ".gpg"

  File.exists?(encrypted) ? encrypted : default
end