Sha256: c6925a20c93c2c3a48c47dc597ddf3634d0174767b2fa093a4121f2e57f21515

Contents?: true

Size: 747 Bytes

Versions: 3

Compression:

Stored size: 747 Bytes

Contents

# Formats a message string into application/problem+json format.

module PactBroker
  module Api
    module Decorators
      class RuntimeErrorProblemJSONDecorator

        # @param message [String]
        def initialize(message)
          @message = message
        end

        # @return [Hash]
        def to_hash(user_options:, **)
          {
            "title" => "Server error",
            "type" => "#{user_options[:base_url]}/problems/server_error",
            "detail" => message,
            "status" => 500
          }
        end

        # @return [String] JSON
        def to_json(*args, **kwargs)
          to_hash(*args, **kwargs).to_json
        end

        private

        attr_reader :message
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
pact_broker-2.107.1 lib/pact_broker/api/decorators/runtime_error_problem_json_decorator.rb
pact_broker-2.107.0 lib/pact_broker/api/decorators/runtime_error_problem_json_decorator.rb
pact_broker-2.107.0.beta.1 lib/pact_broker/api/decorators/runtime_error_problem_json_decorator.rb