class DeployGate::Session

Attributes

name[R]
token[R]

Public Class Methods

delete() click to toggle source

@return [void]

# File lib/deploygate/session.rb, line 54
def self.delete
  save('', '') # delete config values
  @@login = false
end
login(email, password) click to toggle source

@param [String] email @param [String] password @return [void]

# File lib/deploygate/session.rb, line 32
def self.login(email, password)
  data = API::V1::Session.login(email, password)
  raise LoginError, data[:message] if data[:error]

  name = data[:name]
  token = data[:token]
  save(name, token)
  @@login = true
end
new() click to toggle source

@return [DeployGate::Session]

# File lib/deploygate/session.rb, line 16
def initialize
  load_setting
end
save(name, token) click to toggle source

@param [String] name @param [String] token @return [void]

# File lib/deploygate/session.rb, line 45
def self.save(name, token)
  settings = {
      :name => name,
      :token => token
  }
  Config::Credential.write(settings)
end

Public Instance Methods

login?() click to toggle source

@return [Boolean]

# File lib/deploygate/session.rb, line 21
def login?
  @@login = @@login.nil? ? API::V1::Session.check(@name, @token) : @@login
end
show_login_user() click to toggle source
# File lib/deploygate/session.rb, line 25
def show_login_user
  API::V1::Session.show(@token)
end

Private Instance Methods

load_env() click to toggle source

@return [Boolean]

# File lib/deploygate/session.rb, line 72
def load_env
  @name = ENV[ENVKey::DG_USER_NAME]
  @token = ENV[ENVKey::DG_TOKEN]

  @name.present? && @token.present?
end
load_setting() click to toggle source

@return [void]

# File lib/deploygate/session.rb, line 62
def load_setting
  return if load_env
  return unless Config::Credential.exist?
  settings = Config::Credential.read

  @name = settings['name']
  @token = settings['token']
end