Sha256: 731351f0c20478e716d426bb5318991a9c3f0aa3264b9edf24601f0385e3874f

Contents?: true

Size: 1.45 KB

Versions: 40

Compression:

Stored size: 1.45 KB

Contents

require "rack/utils"
require "pact_broker/matrix/unresolved_selector"

module PactBroker
  module Matrix
    class ParseCanIDeployQuery
      # rubocop: disable Metrics/CyclomaticComplexity
      def self.call params
        selector = PactBroker::Matrix::UnresolvedSelector.new
        options = {
          latestby: "cvp"
        }

        if params[:pacticipant].is_a?(String)
          selector.pacticipant_name = params[:pacticipant]
        end

        if params[:version].is_a?(String)
          selector.pacticipant_version_number = params[:version]
        end

        if params[:to].is_a?(String)
          options[:tag] = params[:to]
          options[:latest] = true
        end

        if params[:environment].is_a?(String)
          options[:environment_name] = params[:environment]
        end

        if params[:ignore].is_a?(Array)
          options[:ignore_selectors] = params[:ignore].collect do | param |
            if param.is_a?(String)
              PactBroker::Matrix::UnresolvedSelector.new(pacticipant_name: param)
            elsif param.is_a?(Hash) && param.key?(:pacticipant)
              PactBroker::Matrix::UnresolvedSelector.new({ pacticipant_name: param[:pacticipant], pacticipant_version_number: param[:version] }.compact)
            end
          end.compact
        else
          options[:ignore_selectors] = []
        end

        return [selector], options
      end
      # rubocop: enable Metrics/CyclomaticComplexity
    end
  end
end

Version data entries

40 entries across 40 versions & 1 rubygems

Version Path
pact_broker-2.114.0 lib/pact_broker/matrix/parse_can_i_deploy_query.rb
pact_broker-2.113.2 lib/pact_broker/matrix/parse_can_i_deploy_query.rb
pact_broker-2.113.1 lib/pact_broker/matrix/parse_can_i_deploy_query.rb
pact_broker-2.113.0 lib/pact_broker/matrix/parse_can_i_deploy_query.rb
pact_broker-2.112.0 lib/pact_broker/matrix/parse_can_i_deploy_query.rb
pact_broker-2.111.0 lib/pact_broker/matrix/parse_can_i_deploy_query.rb
pact_broker-2.109.1 lib/pact_broker/matrix/parse_can_i_deploy_query.rb
pact_broker-2.109.0 lib/pact_broker/matrix/parse_can_i_deploy_query.rb
pact_broker-2.108.0 lib/pact_broker/matrix/parse_can_i_deploy_query.rb
pact_broker-2.107.1 lib/pact_broker/matrix/parse_can_i_deploy_query.rb
pact_broker-2.107.0 lib/pact_broker/matrix/parse_can_i_deploy_query.rb
pact_broker-2.107.0.beta.1 lib/pact_broker/matrix/parse_can_i_deploy_query.rb
pact_broker-2.106.0 lib/pact_broker/matrix/parse_can_i_deploy_query.rb
pact_broker-2.105.0 lib/pact_broker/matrix/parse_can_i_deploy_query.rb
pact_broker-2.104.0 lib/pact_broker/matrix/parse_can_i_deploy_query.rb
pact_broker-2.103.0 lib/pact_broker/matrix/parse_can_i_deploy_query.rb
pact_broker-2.102.2 lib/pact_broker/matrix/parse_can_i_deploy_query.rb
pact_broker-2.102.1 lib/pact_broker/matrix/parse_can_i_deploy_query.rb
pact_broker-2.102.0 lib/pact_broker/matrix/parse_can_i_deploy_query.rb
pact_broker-2.101.0 lib/pact_broker/matrix/parse_can_i_deploy_query.rb