Sha256: 4406fce542e2d091ae321144ffad5aff422c2ec94d9fb3b7da5efc51c7a6870b

Contents?: true

Size: 868 Bytes

Versions: 12

Compression:

Stored size: 868 Bytes

Contents

require 'pact/provider/configuration/service_provider_dsl'

module Pact
  module Provider
    module Configuration
      class MessageProviderDSL < ServiceProviderDSL
        class RackToMessageAdapter
          def initialize(message_builder)
            @message_builder = message_builder
          end

          def call(env)
            request_body_json = JSON.parse(env['rack.input'].read)
            contents = @message_builder.call(request_body_json['description'])
            [200, {"Content-Type" => "application/json"}, [{ contents: contents }.to_json]]
          end
        end

        def initialize name
          super
          @mapper_block = lambda { |args|  }
        end

        dsl do
          def builder &block
            self.app_block = lambda { RackToMessageAdapter.new(block)  }
          end
        end
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
pact-1.50.0 lib/pact/provider/configuration/message_provider_dsl.rb
pact-1.49.3 lib/pact/provider/configuration/message_provider_dsl.rb
pact-1.49.2 lib/pact/provider/configuration/message_provider_dsl.rb
pact-1.49.1 lib/pact/provider/configuration/message_provider_dsl.rb
pact-1.49.0 lib/pact/provider/configuration/message_provider_dsl.rb
pact-1.48.0 lib/pact/provider/configuration/message_provider_dsl.rb
pact-1.47.0 lib/pact/provider/configuration/message_provider_dsl.rb
pact-1.46.1 lib/pact/provider/configuration/message_provider_dsl.rb
pact-1.46.0 lib/pact/provider/configuration/message_provider_dsl.rb
pact-1.45.0 lib/pact/provider/configuration/message_provider_dsl.rb
pact-1.44.1 lib/pact/provider/configuration/message_provider_dsl.rb
pact-1.44.0 lib/pact/provider/configuration/message_provider_dsl.rb