Sha256: 4fc993a5171e7a80cdd04be4296c3041dd8c03b2d087a0dcf45377aef9431f8d

Contents?: true

Size: 715 Bytes

Versions: 1

Compression:

Stored size: 715 Bytes

Contents

module Evrone
  module CI
    module ContainerConnector

      class Docker

        class Spawner
          attr_reader :container, :ssh, :work_dir

          def initialize(container, ssh, work_dir)
            @container  = container
            @ssh        = ssh
            @work_dir   = work_dir
          end

          def spawn(*args, &logger)
            env     = args.first.is_a?(Hash) ? args.shift : {}
            options = args.last.is_a?(Hash)  ? args.pop   : {}
            cmd     = args

            options.merge!(chdir: work_dir)

            ssh.spawn(env, cmd, options, &logger)
          end

          def id
            container.id
          end

        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
evrone-ci-container_connector-0.2.0.pre28 lib/evrone/ci/container_connector/docker/spawner.rb