class Kuvera::Api::Oauth
Constants
- CLIENT_SCOPE
- DEFAULT_CONTENT_TYPE
- FATAL_ERROR_MESSAGE
Public Class Methods
new(uid:, secret:, host:)
click to toggle source
# File lib/kuvera/api/oauth.rb, line 13 def initialize(uid:, secret:, host:) @oauth_client = OAuth2::Client.new( uid, secret, site: host, token_method: :post ) do |stack| stack.request :multipart stack.request :url_encoded stack.adapter Faraday.default_adapter end end
Public Instance Methods
get(url, params = {})
click to toggle source
# File lib/kuvera/api/oauth.rb, line 23 def get(url, params = {}) token.get(url, params: params).parsed rescue OAuth2::Error => error process_exception(error) end
post(url, body, headers: DEFAULT_CONTENT_TYPE.dup)
click to toggle source
# File lib/kuvera/api/oauth.rb, line 29 def post(url, body, headers: DEFAULT_CONTENT_TYPE.dup) token.post(url, headers: headers, body: body).parsed rescue OAuth2::Error => error process_exception(error) end
Private Instance Methods
process_exception(exception)
click to toggle source
# File lib/kuvera/api/oauth.rb, line 42 def process_exception(exception) exception.response.parsed || FATAL_ERROR_MESSAGE end
token()
click to toggle source
# File lib/kuvera/api/oauth.rb, line 37 def token @token ||= @oauth_client.client_credentials.get_token(scope: CLIENT_SCOPE) end