Sha256: 891e91002b65a5ec1471371de8ad7345d562309e619a9972d963d8c39a80e3f0

Contents?: true

Size: 1.43 KB

Versions: 1

Compression:

Stored size: 1.43 KB

Contents

require 'pact_broker/api/resources/base_resource'
require 'json'

module PactBroker
  module Api
    module Resources

      class Index < BaseResource

        def content_types_provided
          [["application/hal+json", :to_json]]
        end

        def allowed_methods
          ["GET"]
        end

        # TODO change to use request.base_url to avoid params getting included!!!
        def to_json
          {
            _links: {
              'pb:self' =>
              {
                href: request.uri.to_s,
                title: 'The Pact Broker index page',
                templated: false
              },
              'pb:latest-pacts' =>
              {
                href: request.uri.to_s + 'pacts/latest',
                title: 'Retrieve latest pacts',
                templated: false
              },
              'pb:pacticipants' =>
              {
                href: request.uri.to_s + 'pacticipants',
                title: 'Retrieve pacticipants',
                templated: false
              },
              'pb:webhooks' =>
              {
                href: request.uri.to_s + 'webhooks',
                title: 'Webhooks',
                templated: false
              },'curies' =>
              [{
                name: 'pb',
                href: request.uri.to_s + 'doc/{rel}',
                templated: true
              }]
            }
          }.to_json
        end


      end
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pact_broker-1.2.0 lib/pact_broker/api/resources/index.rb