class Geotrigger::AGO::Session::Application

AGO::Session implementation for Applications

Attributes

ago_data[R]

Public Class Methods

new(session, opts = {}) click to toggle source

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

# 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

Public Instance Methods

access_token() click to toggle source

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

# 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

Private Instance Methods

fetch_access_token() click to toggle source

Gets a new access_token.

# File lib/geotrigger/ago/session.rb, line 146
def fetch_access_token
  wrap_token_retrieval do
    @ago_data = hc :post, 'oauth2/token',
      client_id: @client_id,
      client_secret: @client_secret,
      grant_type: 'client_credentials'
  end
end