Class: Garage::Strategy::AccessToken

Inherits:
Object
  • Object
show all
Defined in:
lib/garage/strategy/access_token.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attrs) ⇒ AccessToken

Returns a new instance of AccessToken.



6
7
8
9
10
11
# File 'lib/garage/strategy/access_token.rb', line 6

def initialize(attrs)
  @raw_response = attrs
  @scope, @token, @token_type = attrs[:scope], attrs[:token], attrs[:token_type]
  @application_id, @resource_owner_id = attrs[:application_id], attrs[:resource_owner_id]
  @expired_at, @revoked_at = attrs[:expired_at], attrs[:revoked_at]
end

Instance Attribute Details

#raw_responseObject (readonly)

Returns the value of attribute raw_response.



4
5
6
# File 'lib/garage/strategy/access_token.rb', line 4

def raw_response
  @raw_response
end

#scopeObject (readonly)

Returns the value of attribute scope.



4
5
6
# File 'lib/garage/strategy/access_token.rb', line 4

def scope
  @scope
end

#tokenObject (readonly)

Returns the value of attribute token.



4
5
6
# File 'lib/garage/strategy/access_token.rb', line 4

def token
  @token
end

#token_typeObject (readonly)

Returns the value of attribute token_type.



4
5
6
# File 'lib/garage/strategy/access_token.rb', line 4

def token_type
  @token_type
end

Instance Method Details

#acceptable?(required_scopes) ⇒ Boolean

Returns:

  • (Boolean)


37
38
39
# File 'lib/garage/strategy/access_token.rb', line 37

def acceptable?(required_scopes)
  accessible? && includes_scope?(required_scopes)
end

#accessible?Boolean

Returns:

  • (Boolean)


41
42
43
# File 'lib/garage/strategy/access_token.rb', line 41

def accessible?
  !expired? && !revoked?
end

#application_idObject



13
14
15
# File 'lib/garage/strategy/access_token.rb', line 13

def application_id
  @application_id.try(:to_i)
end

#expired?Boolean

Returns:

  • (Boolean)


49
50
51
# File 'lib/garage/strategy/access_token.rb', line 49

def expired?
  !!expired_at.try(:past?)
end

#expired_atObject



21
22
23
24
25
# File 'lib/garage/strategy/access_token.rb', line 21

def expired_at
  @expired_at.present? ? Time.zone.parse(@expired_at) : nil
rescue ArgumentError, TypeError
  nil
end

#includes_scope?(required_scopes) ⇒ Boolean

Returns:

  • (Boolean)


53
54
55
# File 'lib/garage/strategy/access_token.rb', line 53

def includes_scope?(required_scopes)
  required_scopes.blank? || required_scopes.any? { |s| scopes.exists?(s) }
end

#resource_owner_idObject



17
18
19
# File 'lib/garage/strategy/access_token.rb', line 17

def resource_owner_id
  @resource_owner_id.try(:to_i)
end

#revoked?Boolean

Returns:

  • (Boolean)


45
46
47
# File 'lib/garage/strategy/access_token.rb', line 45

def revoked?
  !!revoked_at.try(:past?)
end

#revoked_atObject



27
28
29
30
31
# File 'lib/garage/strategy/access_token.rb', line 27

def revoked_at
  @revoked_at.present? ? Time.zone.parse(@revoked_at) : nil
rescue ArgumentError, TypeError
  nil
end

#scopesObject



33
34
35
# File 'lib/garage/strategy/access_token.rb', line 33

def scopes
  scope.try(:split, ' ')
end