Sha256: b3f3cdfd1a934d9db9f82f30502d40dfd5ebcc0ba67be758158a15ec04ce565f

Contents?: true

Size: 899 Bytes

Versions: 51

Compression:

Stored size: 899 Bytes

Contents

require 'pact_broker/api/resources/base_resource'
require 'pact_broker/api/decorators/relationships_csv_decorator'

module PactBroker

  module Api
    module Resources

      class Group < BaseResource

        def content_types_provided
          [["text/csv", :to_csv]]
        end

        def allowed_methods
          ["GET", "OPTIONS"]
        end

        def resource_exists?
          pacticipant
        end

        def to_csv
          PactBroker::Api::Decorators::RelationshipsCsvDecorator.new(group).to_csv
        end

        private

        def pacticipant_name
          identifier_from_path[:pacticipant_name]
        end

        def pacticipant
          @pacticipant ||= pacticipant_service.find_pacticipant_by_name(pacticipant_name)
        end

        def group
          @group ||= group_service.find_group_containing pacticipant
        end

      end
    end

  end
end

Version data entries

51 entries across 51 versions & 1 rubygems

Version Path
pact_broker-2.27.3 lib/pact_broker/api/resources/group.rb
pact_broker-2.27.2 lib/pact_broker/api/resources/group.rb
pact_broker-2.27.0 lib/pact_broker/api/resources/group.rb
pact_broker-2.26.1 lib/pact_broker/api/resources/group.rb
pact_broker-2.26.0 lib/pact_broker/api/resources/group.rb
pact_broker-2.25.0 lib/pact_broker/api/resources/group.rb
pact_broker-2.24.0 lib/pact_broker/api/resources/group.rb
pact_broker-2.23.4 lib/pact_broker/api/resources/group.rb
pact_broker-2.23.3 lib/pact_broker/api/resources/group.rb
pact_broker-2.23.2 lib/pact_broker/api/resources/group.rb
pact_broker-2.23.1 lib/pact_broker/api/resources/group.rb