Class: Procore::Auth::Stores::Session

Inherits:
Object
  • Object
show all
Defined in:
lib/procore/auth/stores/session.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(session:, key: SESSION_KEY) ⇒ Session

Returns a new instance of Session.



8
9
10
11
# File 'lib/procore/auth/stores/session.rb', line 8

def initialize(session:, key: SESSION_KEY)
  @session = session
  @key = key
end

Instance Attribute Details

#keyObject (readonly)

Returns the value of attribute key.



7
8
9
# File 'lib/procore/auth/stores/session.rb', line 7

def key
  @key
end

#sessionObject (readonly)

Returns the value of attribute session.



7
8
9
# File 'lib/procore/auth/stores/session.rb', line 7

def session
  @session
end

Instance Method Details

#deleteObject



28
29
30
# File 'lib/procore/auth/stores/session.rb', line 28

def delete
  session[key] = nil
end

#fetchObject



17
18
19
20
21
22
23
24
25
26
# File 'lib/procore/auth/stores/session.rb', line 17

def fetch
  return if session[key].nil?

  token = JSON.parse(session[key])
  Procore::Auth::Token.new(
    access_token: token["access_token"],
    refresh_token: token["refresh_token"],
    expires_at: token["expires_at"],
  )
end

#save(token) ⇒ Object



13
14
15
# File 'lib/procore/auth/stores/session.rb', line 13

def save(token)
  session[key] = token.to_json
end

#to_sObject



32
33
34
# File 'lib/procore/auth/stores/session.rb', line 32

def to_s
  "Session, Key: #{key}"
end