Class: Rallio::AccessToken

Inherits:
Base
  • Object
show all
Defined in:
lib/rallio/access_token.rb

Overview

Represents an access token object as it comes from Rallio.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

app_credentials

Instance Attribute Details

#access_tokenString


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

class AccessToken < Base
  attribute :access_token, String
  attribute :user_id, Integer
  attribute :expires_at, DateTime
  attribute :scopes, String

  # Creates new access token for user_id.
  #
  # NOTE: These tokens do not expire so it is suggested (recommended) that the
  # token be cached and reused whenever possible.
  #
  # @param user_id [Integer]
  # @return [Rallio::AccessToken]
  def self.create(user_id:)
    response = self.post("/users/#{user_id}/access_tokens", headers: app_credentials)
    new response.parsed_response
  end

  # Destroys access_token
  #
  # @return [true, nil] true if successful or nil
  def destroy
    headers = { 'Authorization' => "Bearer #{access_token}" }
    self.class.delete('/access_token', headers: headers)
    true
  end
end

#expires_atDateTime?


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

class AccessToken < Base
  attribute :access_token, String
  attribute :user_id, Integer
  attribute :expires_at, DateTime
  attribute :scopes, String

  # Creates new access token for user_id.
  #
  # NOTE: These tokens do not expire so it is suggested (recommended) that the
  # token be cached and reused whenever possible.
  #
  # @param user_id [Integer]
  # @return [Rallio::AccessToken]
  def self.create(user_id:)
    response = self.post("/users/#{user_id}/access_tokens", headers: app_credentials)
    new response.parsed_response
  end

  # Destroys access_token
  #
  # @return [true, nil] true if successful or nil
  def destroy
    headers = { 'Authorization' => "Bearer #{access_token}" }
    self.class.delete('/access_token', headers: headers)
    true
  end
end

#scopesString


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

class AccessToken < Base
  attribute :access_token, String
  attribute :user_id, Integer
  attribute :expires_at, DateTime
  attribute :scopes, String

  # Creates new access token for user_id.
  #
  # NOTE: These tokens do not expire so it is suggested (recommended) that the
  # token be cached and reused whenever possible.
  #
  # @param user_id [Integer]
  # @return [Rallio::AccessToken]
  def self.create(user_id:)
    response = self.post("/users/#{user_id}/access_tokens", headers: app_credentials)
    new response.parsed_response
  end

  # Destroys access_token
  #
  # @return [true, nil] true if successful or nil
  def destroy
    headers = { 'Authorization' => "Bearer #{access_token}" }
    self.class.delete('/access_token', headers: headers)
    true
  end
end

#user_idInteger


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

class AccessToken < Base
  attribute :access_token, String
  attribute :user_id, Integer
  attribute :expires_at, DateTime
  attribute :scopes, String

  # Creates new access token for user_id.
  #
  # NOTE: These tokens do not expire so it is suggested (recommended) that the
  # token be cached and reused whenever possible.
  #
  # @param user_id [Integer]
  # @return [Rallio::AccessToken]
  def self.create(user_id:)
    response = self.post("/users/#{user_id}/access_tokens", headers: app_credentials)
    new response.parsed_response
  end

  # Destroys access_token
  #
  # @return [true, nil] true if successful or nil
  def destroy
    headers = { 'Authorization' => "Bearer #{access_token}" }
    self.class.delete('/access_token', headers: headers)
    true
  end
end

Class Method Details

.create(user_id:) ⇒ Rallio::AccessToken

Creates new access token for user_id.

NOTE: These tokens do not expire so it is suggested (recommended) that the token be cached and reused whenever possible.


25
26
27
28
# File 'lib/rallio/access_token.rb', line 25

def self.create(user_id:)
  response = self.post("/users/#{user_id}/access_tokens", headers: app_credentials)
  new response.parsed_response
end

Instance Method Details

#destroytrue?

Destroys access_token


33
34
35
36
37
# File 'lib/rallio/access_token.rb', line 33

def destroy
  headers = { 'Authorization' => "Bearer #{access_token}" }
  self.class.delete('/access_token', headers: headers)
  true
end