Class: PactBroker::Api::Resources::CanIDeploy

Inherits:
Matrix
  • Object
show all
Includes:
Messages
Defined in:
lib/pact_broker/api/resources/can_i_deploy.rb

Instance Method Summary collapse

Methods included from Messages

#message, #potential_duplicate_pacticipant_message, #validation_message

Methods inherited from Matrix

#allowed_methods, #content_types_provided, #results, #to_json, #to_text

Constructor Details

#initializeCanIDeploy

Returns a new instance of CanIDeploy.



12
13
14
15
16
# File 'lib/pact_broker/api/resources/can_i_deploy.rb', line 12

def initialize
  super
  @query_params = JSON.parse(Rack::Utils.parse_nested_query(request.uri.query).to_json, symbolize_names: true)
  @selectors, @options = PactBroker::Matrix::ParseCanIDeployQuery.call(query_params)
end

Instance Method Details

#malformed_request?Boolean

Returns:

  • (Boolean)


18
19
20
21
22
23
24
25
26
27
28
# File 'lib/pact_broker/api/resources/can_i_deploy.rb', line 18

def malformed_request?
  if (errors = query_schema.call(query_params)).any?
    set_json_validation_error_messages(errors)
    true
  elsif !pacticipant
    set_json_validation_error_messages(pacticipant: [message('errors.validation.pacticipant_not_found', name: pacticipant_name)])
    true
  else
    false
  end
end

#policy_nameObject



30
31
32
# File 'lib/pact_broker/api/resources/can_i_deploy.rb', line 30

def policy_name
  :'matrix::can_i_deploy'
end