Module: Shutl::Auth::AuthenticatedRequest
- Defined in:
- lib/shutl/auth/authenticated_request.rb
Class Method Summary collapse
Instance Method Summary collapse
- #access_token ⇒ Object
- #authenticated_request(&blk) ⇒ Object
- #cache ⇒ Object
- #read_token ⇒ Object
- #request_access_token ⇒ Object
- #set_token(token) ⇒ Object
Class Method Details
.included(base) ⇒ Object
20 21 22 |
# File 'lib/shutl/auth/authenticated_request.rb', line 20 def self.included base end |
Instance Method Details
#access_token ⇒ Object
31 32 33 34 |
# File 'lib/shutl/auth/authenticated_request.rb', line 31 def access_token return read_token if read_token set_token request_access_token end |
#authenticated_request(&blk) ⇒ Object
36 37 38 39 40 41 42 43 44 45 |
# File 'lib/shutl/auth/authenticated_request.rb', line 36 def authenticated_request &blk begin yield rescue Shutl::UnauthorizedAccess => e Shutl::Auth.logger.debug "Shutl::UnauthorizedAccess - resetting access token" set_token nil access_token yield end end |
#cache ⇒ Object
55 56 57 |
# File 'lib/shutl/auth/authenticated_request.rb', line 55 def cache @cache ||= build_cache end |
#read_token ⇒ Object
47 48 49 |
# File 'lib/shutl/auth/authenticated_request.rb', line 47 def read_token cache.read(:access_token) end |
#request_access_token ⇒ Object
24 25 26 27 28 29 |
# File 'lib/shutl/auth/authenticated_request.rb', line 24 def request_access_token Shutl::Auth.logger.debug "request_access_token: cached? #{!!read_token}" Shutl::Auth.logger.debug "requesting new access token" Shutl::Auth.access_token! end |
#set_token(token) ⇒ Object
51 52 53 |
# File 'lib/shutl/auth/authenticated_request.rb', line 51 def set_token(token) cache.write(:access_token, token) end |