Sha256: 1fcc42dd51325a3a7c18576411289d1f6169016461a504421d8018dc33415a45

Contents?: true

Size: 1.21 KB

Versions: 3

Compression:

Stored size: 1.21 KB

Contents

require 'pact_broker/client/base_client'

module PactBroker
  module Client
    class Pacticipants < BaseClient

      def versions
        Versions.new base_url: base_url
      end

      def update options
        body = options.select{ | key, v | [:repository_url].include?(key)}
        response = patch(pacticipant_base_url(options), body: body, headers: default_patch_headers)
        handle_response(response) do
          true
        end
      end

      def get1 options
        response = get(pacticipant_base_url(options), headers: default_get_headers)
        handle_response(response) do
          JSON.parse(response.body)
        end
      end

      def list
        response = get("/pacticipants", headers: default_get_headers)
        handle_response(response) do
          JSON.parse(response.body)
        end
      end

      def repository_url options
        response = get("#{pacticipant_base_url(options)}/repository_url", headers: default_get_headers.merge('Accept' => 'text/plain'))
        handle_response(response) do
          response.body
        end
      end

      private

      def pacticipant_base_url options
        "/pacticipants/#{encode_param(options[:pacticipant])}"
      end

    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
pact_broker-client-0.0.6 lib/pact_broker/client/pacticipants.rb
pact_broker-client-0.0.5 lib/pact_broker/client/pacticipants.rb
pact_broker-client-0.0.3 lib/pact_broker/client/pacticipants.rb