Sha256: f876ca1dc751a671166af5682526ff43200f82df1f81e82eaff6b4e715ccfd7a

Contents?: true

Size: 861 Bytes

Versions: 1

Compression:

Stored size: 861 Bytes

Contents

require 'webmachine'
require 'json'

require 'pact_broker/services'
require 'pact_broker/resources/json_resource'
require 'pact_broker/api/representors'

module PactBroker

  module Resources

    class Pacticipants < Webmachine::Resource

      include PactBroker::Services
      include PactBroker::Resources::PathInfo

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

      def handle_exception e
        PactBroker::Resources::ErrorHandler.handle_exception(e, response)
      end

      def allowed_methods
        ["GET"]
      end

      def to_json
        generate_json(pacticipant_service.find_all_pacticipants)
      end

      def generate_json pacticipants
        pacticipants.extend(PactBroker::Api::Representors::PacticipantCollectionRepresenter)
        pacticipants.to_json
      end

    end
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pact_broker-0.0.5 lib/pact_broker/resources/pacticipants.rb