class Comune::GenerateToken

Constants

END_POINT
GRANT_TYPE
MAXIMUM_OPEN_TIMEOUT
MAXIMUM_READ_TIMEOUT

Public Class Methods

execute() click to toggle source
# File lib/comune/generate_token.rb, line 9
def execute
  request_to_google['access_token']
end

Private Class Methods

client_id() click to toggle source
# File lib/comune/generate_token.rb, line 32
def client_id
  Comune.client_id
end
client_secret() click to toggle source
# File lib/comune/generate_token.rb, line 36
def client_secret
  Comune.client_secret
end
refresh_token() click to toggle source
# File lib/comune/generate_token.rb, line 40
def refresh_token
  Comune.refresh_token
end
request_to_google() click to toggle source
# File lib/comune/generate_token.rb, line 15
def request_to_google
  uri = URI.parse(END_POINT)
  req = Net::HTTP::Post.new(uri)
  req.content_type = 'application/json'
  req.body = JSON.dump(grant_type:    GRANT_TYPE,
                       client_id:     client_id,
                       client_secret: client_secret,
                       refresh_token: refresh_token)
  req_options = { use_ssl: uri.scheme == 'https' }
  res = Net::HTTP.start(uri.host, uri.port, req_options) do |http|
    http.read_timeout = MAXIMUM_READ_TIMEOUT
    http.open_timeout = MAXIMUM_OPEN_TIMEOUT
    http.request(req)
  end
  JSON.parse(res.body)
end