class Safie::AccessToken
Public Class Methods
new(access_token, attributes = {})
click to toggle source
Calls superclass method
# File lib/safie/access_token.rb, line 5 def initialize(access_token, attributes = {}) super attributes.merge(access_token: access_token) @token_type = :bearer end
Public Instance Methods
token_info!(params = {})
click to toggle source
# File lib/safie/access_token.rb, line 10 def token_info!(params = {}) resource_request do get ENDPOINTS[:token_info], params end end
user_info!(params = {})
click to toggle source
# File lib/safie/access_token.rb, line 16 def user_info!(params = {}) token_info = token_info! params { sub: token_info[:user_id], email: token_info[:mail_address] } end
Private Instance Methods
resource_request() { || ... }
click to toggle source
# File lib/safie/access_token.rb, line 26 def resource_request res = yield case res.status when 200 JSON.parse(res.body).with_indifferent_access when 400 raise BadRequest.new('API Access Faild', res) when 401 raise Unauthorized.new('Access Token Invalid or Expired', res) when 403 raise Forbidden.new('Insufficient Scope', res) else raise HttpError.new(res.status, 'Unknown HttpError', res) end end