Sha256: 0b1807043d4f40d35dfaed74a9fe40580a3b90e259acd76011ace066fef0ad1f
Contents?: true
Size: 1.15 KB
Versions: 4
Compression:
Stored size: 1.15 KB
Contents
module QuizApiClient::Services class BaseApiService attr_reader :consumer_key, :host, :shared_secret, :protocol, :errors def initialize(consumer_key:, host:, shared_secret:, protocol: 'https') @consumer_key = consumer_key @host = host @shared_secret = shared_secret @protocol = protocol @errors = [] end private def token_for_api(default_token = nil, scope = nil, resource_id = nil) return default_token unless default_token.nil? generate_token(scope: scope, resource_id: resource_id) end def uri URI.parse("#{protocol}://#{host}").to_s end def generate_token(scope:, exp: nil, resource_id: nil) jwt_service.grant_permission(scope: scope, exp: exp, resource_id: resource_id) end def jwt_service QuizApiClient::Services::JwtService.new( consumer_key: consumer_key, host: URI.parse("#{protocol}://#{host}").host, shared_secret: shared_secret, protocol: protocol ) end def client(token:) QuizApiClient::HttpClient.new( uri: uri, jwt: token ) end end end
Version data entries
4 entries across 4 versions & 1 rubygems