Sha256: bcfd413b8351bd84252f11464b4889d884dc802b4c374cd2ebb34d0c73411deb

Contents?: true

Size: 776 Bytes

Versions: 4

Compression:

Stored size: 776 Bytes

Contents

module QuizApiClient::Services
  class QuizAnalysesService < BaseApiService
    def token(scope:, exp: nil, resource_id: nil)
      return unless allowed_scopes.include?(scope)
      generate_token(scope: scope, exp: exp, resource_id: resource_id)
    end

    def get(params:, default_token: nil)
      raise 'Quiz Id Required' unless params.key?(:quiz_id)
      get_from_quiz_api(params: params, token: token_for_api(default_token, scope_analysis, params[:quiz_id]))
    end

    def scope_analysis
      'quiz.analysis'
    end

    private

    def get_from_quiz_api(params:, token:)
      client(token: token).get(
        "/api/quizzes/#{params[:quiz_id]}/stats/quiz_analysis",
        {}
      )
    end

    def allowed_scopes
      [scope_analysis]
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
quiz_api_client-0.1.10 lib/quiz_api_client/services/quiz_analyses_service.rb
quiz_api_client-0.1.9 lib/quiz_api_client/services/quiz_analyses_service.rb
quiz_api_client-0.1.8 lib/quiz_api_client/services/quiz_analyses_service.rb
quiz_api_client-0.1.7 lib/quiz_api_client/services/quiz_analyses_service.rb