class PactBroker::Api::Resources::Pacticipants

Public Instance Methods

allowed_methods() click to toggle source
# File lib/pact_broker/api/resources/pacticipants.rb, line 23
def allowed_methods
  ["GET", "POST", "OPTIONS"]
end
content_types_accepted() click to toggle source
# File lib/pact_broker/api/resources/pacticipants.rb, line 19
def content_types_accepted
  [["application/json", :from_json]]
end
content_types_provided() click to toggle source
# File lib/pact_broker/api/resources/pacticipants.rb, line 15
def content_types_provided
  [["application/hal+json", :to_json]]
end
create_path() click to toggle source
# File lib/pact_broker/api/resources/pacticipants.rb, line 52
def create_path
  "/pacticpants/#{url_encode(params[:name])}"
end
decorator_for(model) click to toggle source
# File lib/pact_broker/api/resources/pacticipants.rb, line 64
def decorator_for model
  decorator_class(:pacticipant_decorator).new(model)
end
from_json() click to toggle source
# File lib/pact_broker/api/resources/pacticipants.rb, line 47
def from_json
  created_model = pacticipant_service.create(parsed_pacticipant.to_h)
  response.body = decorator_for(created_model).to_json(**decorator_options)
end
generate_json(pacticipants) click to toggle source
# File lib/pact_broker/api/resources/pacticipants.rb, line 60
def generate_json pacticipants
  decorator_class(:deprecated_pacticipants_decorator).new(pacticipants).to_json(**decorator_options)
end
malformed_request?() click to toggle source
# File lib/pact_broker/api/resources/pacticipants.rb, line 27
def malformed_request?
  if super
    true
  elsif request.post? && validation_errors_for_schema?
    true
  elsif request.get? && validation_errors_for_schema?(schema, request.query)
    true
  else
    false
  end
end
parsed_pacticipant() click to toggle source
# File lib/pact_broker/api/resources/pacticipants.rb, line 68
def parsed_pacticipant
  @new_model ||= decorator_for(OpenStruct.new).from_json(request_body)
end
policy_name() click to toggle source
# File lib/pact_broker/api/resources/pacticipants.rb, line 72
def policy_name
  :'pacticipants::pacticipants'
end
post_is_create?() click to toggle source
# File lib/pact_broker/api/resources/pacticipants.rb, line 43
def post_is_create?
  true
end
request_body_required?() click to toggle source
# File lib/pact_broker/api/resources/pacticipants.rb, line 39
def request_body_required?
  request.post?
end
to_json() click to toggle source
# File lib/pact_broker/api/resources/pacticipants.rb, line 56
def to_json
  generate_json(pacticipant_service.find_all_pacticipants(filter_options, pagination_options, eager_load_associations))
end

Private Instance Methods

eager_load_associations() click to toggle source
# File lib/pact_broker/api/resources/pacticipants.rb, line 86
def eager_load_associations
  decorator_class(:deprecated_pacticipants_decorator).eager_load_associations
end
filter_options() click to toggle source
# File lib/pact_broker/api/resources/pacticipants.rb, line 90
def filter_options
  if (request.query.has_key?("q"))
    { query_string: request.query["q"] }
  else
    {}
  end
end
schema() click to toggle source
# File lib/pact_broker/api/resources/pacticipants.rb, line 78
def schema
  if request.get?
    PactBroker::Api::Contracts::PaginationQueryParamsSchema
  else
    PactBroker::Api::Contracts::PacticipantCreateSchema
  end
end