Class: FindGithubEmail::GithubAccessToken

Inherits:
Object
  • Object
show all
Defined in:
lib/find_github_email/github_access_token.rb

Overview

Allows a user to set and retrieve their GitHub access token to use the API

Constant Summary collapse

ACCESS_TOKEN_FILE_PATH =

Stores a user’s access token at this file path

File.expand_path("~/.find_github_email_access_token")

Class Method Summary collapse

Class Method Details

.github_access_tokenObject



12
13
14
15
16
# File 'lib/find_github_email/github_access_token.rb', line 12

def self.github_access_token
  raise Errors::NoAccessToken unless File.exist?(ACCESS_TOKEN_FILE_PATH)

  @github_access_token ||= File.read(ACCESS_TOKEN_FILE_PATH)
end

.github_access_token=(access_token) ⇒ Object



18
19
20
21
22
23
24
25
26
# File 'lib/find_github_email/github_access_token.rb', line 18

def self.github_access_token=(access_token)
  if Client.query(HelloQuery, context: { bearer: access_token }).errors.any?
    raise Errors::InvalidAccessToken.new(access_token: access_token)
  else
    File.write(ACCESS_TOKEN_FILE_PATH, access_token)
    @github_access_token = access_token
    puts "Successfully set GitHub access token"
  end
end