Class: Geotrigger::AGO::Session::Application

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Includes:
AccessToken, ExpirySet
Defined in:
lib/geotrigger/ago/session.rb

Overview

AGO::Session implementation for Applications

Constant Summary

Constants included from ExpirySet

ExpirySet::TOKEN_EXPIRY_BUFFER

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from AccessToken

#access_token=

Methods included from ExpirySet

#wrap_token_retrieval

Constructor Details

#initialize(session, opts = {}) ⇒ Application

Accepts the abstract AGO::Session and a client_credentials Hash.



128
129
130
131
# File 'lib/geotrigger/ago/session.rb', line 128

def initialize session, opts = {}
  @session, @client_id, @client_secret =
    session, opts[:client_id], opts[:client_secret]
end

Instance Attribute Details

#ago_dataObject (readonly)

Returns the value of attribute ago_data.



124
125
126
# File 'lib/geotrigger/ago/session.rb', line 124

def ago_data
  @ago_data
end

Instance Method Details

#access_tokenObject

Returns a valid access_token. Gets a new one if nil or expired.



135
136
137
138
139
140
# File 'lib/geotrigger/ago/session.rb', line 135

def access_token
  fetch_access_token if @ago_data.nil? or
                        (not @ago_data[:expires_at].nil? and
                        Time.now >= @ago_data[:expires_at])
  @ago_data['access_token']
end