Sha256: 71c17a8f9d7338681d726bd8dd7a236debcd4a8ddd5b68be080dd2750063b13f

Contents?: true

Size: 1.7 KB

Versions: 3

Compression:

Stored size: 1.7 KB

Contents

module Fizzy
  module Api
    module Endpoints
      class RenderGraphSynchronous < Endpoint
        string :dossier_id
        string :protocol_subscription_id
        string :path
        hash :options, default: {}

        def execute
          response = Api.basic_auth_session.get("/dossier/#{dossier_id}"\
                                                "/protocol_subscriptions/#{protocol_subscription_id}" \
                                                "/render_sync/#{path}", options)
          process_response(response)
        end

        private

        def invalid_response(response)
          case response.code
          when 202
            raise Errors::OutcomeNotAvailableError, select_measurement_text(response,
                                                                            'The results have not yet been calculated.')
          when 204
            raise Errors::TooFewMeasurementsError, select_measurement_text(response,
                                                                           'Not enough measurements available.')
          when 404
            raise Errors::GraphNotFoundError, select_measurement_text(response,
                                                                      'Graph not found.')
          when 405
            raise Errors::MethodNotAllowedError, select_measurement_text(response,
                                                                         'Current image path not eligible for'\
                                                                         ' synchronous rendering')
          else
            raise Errors::UnexpectedStatusError, "Status code #{response.code} not expected."
          end
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
fizzy-api-0.1.4 lib/fizzy/api/endpoints/render_graph_synchronous.rb
fizzy-api-0.1.3 lib/fizzy/api/endpoints/render_graph_synchronous.rb
fizzy-api-0.1.2 lib/fizzy/api/endpoints/render_graph_synchronous.rb