Sha256: 233a5d5f7113ae94dde308e4824a5fc362b4502234e43a19c2fb9c77c184cd47

Contents?: true

Size: 1.27 KB

Versions: 6

Compression:

Stored size: 1.27 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 | pacticipant_name |
            if pacticipant_name.is_a?(String)
              PactBroker::Matrix::UnresolvedSelector.new(pacticipant_name: pacticipant_name)
            end
          end.compact
        else
          options[:ignore_selectors] = []
        end

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

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
pact_broker-2.86.0 lib/pact_broker/matrix/parse_can_i_deploy_query.rb
pact_broker-2.85.1 lib/pact_broker/matrix/parse_can_i_deploy_query.rb
pact_broker-2.85.0 lib/pact_broker/matrix/parse_can_i_deploy_query.rb
pact_broker-2.84.0 lib/pact_broker/matrix/parse_can_i_deploy_query.rb
pact_broker-2.83.0 lib/pact_broker/matrix/parse_can_i_deploy_query.rb
pact_broker-2.82.0 lib/pact_broker/matrix/parse_can_i_deploy_query.rb