Module: GettyConnectAuthentication

Defined in:
lib/getty_connect_authentication.rb,
lib/getty_connect_authentication/version.rb,
lib/getty_connect_authentication/configuration.rb

Defined Under Namespace

Modules: Configuration

Constant Summary collapse

BASE_URI =
'https://connect.gettyimages.com'
PATH =
'oauth2/token'
VERSION =
"0.0.4"

Class Method Summary collapse

Class Method Details

.resetObject



40
41
42
43
# File 'lib/getty_connect_authentication.rb', line 40

def self.reset
  @token = nil
  @expires = nil
end

.tokenObject



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/getty_connect_authentication.rb', line 11

def self.token
  uri = self.uri
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = uri.is_a?(URI::HTTPS)

  body = {
    client_id: Configuration.id,
    client_secret: Configuration.secret,
    grant_type: 'password',
    username: Configuration.username,
    password: Configuration.password
  }

  request = Net::HTTP::Post.new(uri.request_uri)
  request.set_form_data(body)
  response = http.request(request)

  case response.code.to_i
  when 200
    JSON.parse(response.body)
  else
    raise "#{response.code} response code with body: #{response.body}"
  end
end

.uriObject



36
37
38
# File 'lib/getty_connect_authentication.rb', line 36

def self.uri
  URI.parse "#{BASE_URI}/#{PATH}"
end