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.96.0 lib/cc/cli/engines/install.rb
codeclimate-0.95.0 lib/cc/cli/engines/install.rb
codeclimate-0.94.1 lib/cc/cli/engines/install.rb
codeclimate-0.94.0 lib/cc/cli/engines/install.rb
codeclimate-0.93.0 lib/cc/cli/engines/install.rb
codeclimate-0.92.1 lib/cc/cli/engines/install.rb
codeclimate-0.92.0 lib/cc/cli/engines/install.rb
codeclimate-0.91.0 lib/cc/cli/engines/install.rb
codeclimate-0.90.0 lib/cc/cli/engines/install.rb
codeclimate-0.89.0 lib/cc/cli/engines/install.rb
codeclimate-0.88.0 lib/cc/cli/engines/install.rb
codeclimate-0.87.5 lib/cc/cli/engines/install.rb
codeclimate-0.87.4 lib/cc/cli/engines/install.rb
codeclimate-0.87.3 lib/cc/cli/engines/install.rb
codeclimate-0.87.2 lib/cc/cli/engines/install.rb
codeclimate-0.87.1 lib/cc/cli/engines/install.rb
codeclimate-0.87.0 lib/cc/cli/engines/install.rb
codeclimate-0.86.0 lib/cc/cli/engines/install.rb
codeclimate-0.85.29 lib/cc/cli/engines/install.rb
codeclimate-0.85.28 lib/cc/cli/engines/install.rb