Sha256: 05a056987f7c4b9ca9d439744b3f95703fb097a85386218c107cde4bcdba3e9f
Contents?: true
Size: 897 Bytes
Versions: 2
Compression:
Stored size: 897 Bytes
Contents
require 'quiz_api_client/services/base_api_service' module QuizApiClient::Services class QuizSessionsService < BaseApiService def token(scope:, exp: nil, resource_id: nil) return unless (scope == scope_create) || (scope == scope_list) generate_token(scope: scope, exp: exp, resource_id: resource_id) end def create(params:, default_token: nil) raise 'Quiz Id Required' unless params && params[:quiz_id] post_to_quiz_api(params: params, token: token_for_api(default_token, scope_create, params[:quiz_id])) end # Allowed scopes def scope_create 'quiz_session.create' end def scope_list 'quiz_session.list' end private def post_to_quiz_api(params:, token:) quiz_api_client(token: token).post( "/api/quizzes/#{params[:quiz_id]}/quiz_sessions", quiz_session: params ) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
quiz_api_client-0.1.1 | lib/quiz_api_client/services/quiz_sessions_service.rb |
quiz_api_client-0.1.0 | lib/quiz_api_client/services/quiz_sessions_service.rb |