Sha256: 012c9219ed59109035e1a83f039af6724983b330e158b7c4f520599b4190f974

Contents?: true

Size: 920 Bytes

Versions: 97

Compression:

Stored size: 920 Bytes

Contents

module CC
  module CLI
    module Engines
      class Install < EngineCommand
        SHORT_HELP = "Pull the latest images for enabled engines in your configuration".freeze

        ImagePullFailure = Class.new(StandardError)

        def run
          say "Pulling docker images."
          pull_docker_images
        end

        private

        def config
          @config ||= CC::Config.load
        end

        def pull_docker_images
          config.engines.each(&method(:pull_engine))
        end

        def pull_engine(engine)
          metadata = engine_registry.fetch_engine_details(engine)
          unless system("docker pull #{metadata.image}")
            raise ImagePullFailure, "unable to pull image #{metadata.image}"
          end
        rescue EngineRegistry::EngineDetailsNotFoundError
          warn("unknown engine <#{engine.name}:#{engine.channel}>")
        end
      end
    end
  end
end

Version data entries

97 entries across 97 versions & 2 rubygems

Version Path
codeclimate-0.78.0 lib/cc/cli/engines/install.rb
codeclimate-0.77.0 lib/cc/cli/engines/install.rb
codeclimate-0.76.0 lib/cc/cli/engines/install.rb
codeclimate-0.75.0 lib/cc/cli/engines/install.rb
codeclimate-0.74.0 lib/cc/cli/engines/install.rb
codeclimate-0.73.0 lib/cc/cli/engines/install.rb
codeclimate-0.72.0 lib/cc/cli/engines/install.rb
codeclimate-0.71.2 lib/cc/cli/engines/install.rb
codeclimate-0.71.1 lib/cc/cli/engines/install.rb
codeclimate-0.71.0 lib/cc/cli/engines/install.rb
codeclimate-0.70.6 lib/cc/cli/engines/install.rb
codeclimate-0.70.5 lib/cc/cli/engines/install.rb
codeclimate-0.70.4 lib/cc/cli/engines/install.rb
codeclimate-0.70.3 lib/cc/cli/engines/install.rb
codeclimate-0.70.2 lib/cc/cli/engines/install.rb
codeclimate-0.70.1 lib/cc/cli/engines/install.rb
codeclimate-0.70.0 lib/cc/cli/engines/install.rb