Sha256: d07439e7e6b9ca3fe4b7c96ba6849a5551fb10ba38d153dc2c6a36899ad01222

Contents?: true

Size: 1.26 KB

Versions: 30

Compression:

Stored size: 1.26 KB

Contents

module KnapsackPro
  module Client
    module API
      module V1
        class Queues < Base
          CODE_ATTEMPT_CONNECT_TO_QUEUE_FAILED = 'ATTEMPT_CONNECT_TO_QUEUE_FAILED'

          class << self
            def queue(args)
              request_hash = {
                :fixed_queue_split => KnapsackPro::Config::Env.fixed_queue_split,
                :can_initialize_queue => args.fetch(:can_initialize_queue),
                :attempt_connect_to_queue => args.fetch(:attempt_connect_to_queue),
                :commit_hash => args.fetch(:commit_hash),
                :branch => args.fetch(:branch),
                :node_total => args.fetch(:node_total),
                :node_index => args.fetch(:node_index),
                :node_build_id => KnapsackPro::Config::Env.ci_node_build_id,
              }

              if request_hash[:can_initialize_queue] && !request_hash[:attempt_connect_to_queue]
                request_hash.merge!({
                  :test_files => args.fetch(:test_files)
                })
              end

              action_class.new(
                endpoint_path: '/v1/queues/queue',
                http_method: :post,
                request_hash: request_hash
              )
            end
          end
        end
      end
    end
  end
end

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
knapsack_pro-3.10.0 lib/knapsack_pro/client/api/v1/queues.rb
knapsack_pro-3.9.0 lib/knapsack_pro/client/api/v1/queues.rb
knapsack_pro-3.8.0 lib/knapsack_pro/client/api/v1/queues.rb
knapsack_pro-3.7.0 lib/knapsack_pro/client/api/v1/queues.rb
knapsack_pro-3.6.0 lib/knapsack_pro/client/api/v1/queues.rb
knapsack_pro-3.5.0 lib/knapsack_pro/client/api/v1/queues.rb
knapsack_pro-3.4.2 lib/knapsack_pro/client/api/v1/queues.rb
knapsack_pro-3.4.1 lib/knapsack_pro/client/api/v1/queues.rb
knapsack_pro-3.4.0 lib/knapsack_pro/client/api/v1/queues.rb
knapsack_pro-3.3.1 lib/knapsack_pro/client/api/v1/queues.rb
knapsack_pro-3.3.0 lib/knapsack_pro/client/api/v1/queues.rb
knapsack_pro-3.2.1 lib/knapsack_pro/client/api/v1/queues.rb
knapsack_pro-3.2.0 lib/knapsack_pro/client/api/v1/queues.rb
knapsack_pro-3.1.3 lib/knapsack_pro/client/api/v1/queues.rb
knapsack_pro-3.1.2 lib/knapsack_pro/client/api/v1/queues.rb
knapsack_pro-3.1.1 lib/knapsack_pro/client/api/v1/queues.rb
knapsack_pro-3.1.0 lib/knapsack_pro/client/api/v1/queues.rb
knapsack_pro-3.0.0 lib/knapsack_pro/client/api/v1/queues.rb
knapsack_pro-2.18.2 lib/knapsack_pro/client/api/v1/queues.rb
knapsack_pro-2.18.1 lib/knapsack_pro/client/api/v1/queues.rb