Sha256: 3fec33ae5cec32c6b2099d40d69a6e50cb1c199de42e08cc3d564af3bb974b58

Contents?: true

Size: 1.01 KB

Versions: 9

Compression:

Stored size: 1.01 KB

Contents

require "pact_broker/api/resources/matrix"
require "pact_broker/api/contracts/can_i_deploy_query_schema"
require "pact_broker/matrix/parse_can_i_deploy_query"
require "pact_broker/messages"

module PactBroker
  module Api
    module Resources
      class CanIDeploy < Matrix
        include PactBroker::Messages

        # Can't call super because it will execute the Matrix validation, not the BaseResource validation
        def malformed_request?
          request.get? && validation_errors_for_schema?(schema, request.query)
        end

        def policy_name
          :'matrix::can_i_deploy'
        end

        private

        def schema
          PactBroker::Api::Contracts::CanIDeployQuerySchema
        end

        def parsed_query
          @parsed_query ||= PactBroker::Matrix::ParseCanIDeployQuery.call(query_params)
        end

        def query_params
          @query_params ||= JSON.parse(Rack::Utils.parse_nested_query(request.uri.query).to_json, symbolize_names: true)
        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
pact_broker-2.113.0 lib/pact_broker/api/resources/can_i_deploy.rb
pact_broker-2.112.0 lib/pact_broker/api/resources/can_i_deploy.rb
pact_broker-2.111.0 lib/pact_broker/api/resources/can_i_deploy.rb
pact_broker-2.109.1 lib/pact_broker/api/resources/can_i_deploy.rb
pact_broker-2.109.0 lib/pact_broker/api/resources/can_i_deploy.rb
pact_broker-2.108.0 lib/pact_broker/api/resources/can_i_deploy.rb
pact_broker-2.107.1 lib/pact_broker/api/resources/can_i_deploy.rb
pact_broker-2.107.0 lib/pact_broker/api/resources/can_i_deploy.rb
pact_broker-2.107.0.beta.1 lib/pact_broker/api/resources/can_i_deploy.rb