Class: Tickrb::TokenStore

Inherits:
Object
  • Object
show all
Defined in:
lib/tickrb/token_store.rb

Class Method Summary collapse

Class Method Details

.load_tokenObject



19
20
21
22
23
24
25
26
27
# File 'lib/tickrb/token_store.rb', line 19

def self.load_token
  token_file = File.expand_path("~/.config/tickrb/token.json")
  return nil unless File.exist?(token_file)

  data = JSON.parse(File.read(token_file))
  return nil if Time.now.utc > Time.parse(data["expires_at"]).utc

  data["access_token"]
end

.store_token(token_info) ⇒ Object



8
9
10
11
12
13
14
15
16
17
# File 'lib/tickrb/token_store.rb', line 8

def self.store_token(token_info)
  # TODO: make this respect some standard?
  config_dir = File.expand_path("~/.config/tickrb")
  Dir.mkdir(config_dir) unless Dir.exist?(config_dir)

  File.write(File.join(config_dir, "token.json"), {
    access_token: token_info["access_token"],
    expires_at: Time.now.utc + (token_info["expires_in"] - 60)
  }.to_json)
end