module Superbot::Cloud

Constants

BASE_URI
CREDENTIALS_FILE_PATH
CREDENTIALS_PATH
LOGIN_URI
VERSION

Public Class Methods

all_credentials() click to toggle source
# File lib/superbot/cloud.rb, line 16
def self.all_credentials
  @all_credentials ||=
    if File.exist?(CREDENTIALS_FILE_PATH)
      JSON.parse(File.read(CREDENTIALS_FILE_PATH), symbolize_names: true)
    else
      {}
    end
end
authorization_header() click to toggle source
# File lib/superbot/cloud.rb, line 37
def self.authorization_header
  @authorization_header ||= format(
    '%<auth_type>s %<auth_token>s',
    auth_type: ENV['SUPERBOT_TOKEN'] ? 'Bearer' : 'Basic',
    auth_token: Base64.urlsafe_encode64(
      ENV.fetch(
        'SUPERBOT_TOKEN',
        credentials&.values_at(:username, :token)&.join(':').to_s
      )
    )
  )
end
credentials() click to toggle source
# File lib/superbot/cloud.rb, line 12
def self.credentials
  all_credentials[Superbot::DOMAIN.to_sym]
end
remove_credentials() click to toggle source
# File lib/superbot/cloud.rb, line 31
def self.remove_credentials
  abort "You are not logged in yet." unless credentials
  all_credentials.delete(Superbot::DOMAIN.to_sym)
  File.write CREDENTIALS_FILE_PATH, all_credentials.to_json
end
save_credentials(data) click to toggle source
# File lib/superbot/cloud.rb, line 25
def self.save_credentials(data)
  all_credentials[Superbot::DOMAIN.to_sym] = data.transform_keys!(&:to_sym)
  FileUtils.mkdir_p CREDENTIALS_PATH
  File.write CREDENTIALS_FILE_PATH, all_credentials.to_json
end