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-fede-0.85.38 lib/cc/cli/engines/install.rb
codeclimate-fede-0.85.37 lib/cc/cli/engines/install.rb
codeclimate-fede-0.85.36 lib/cc/cli/engines/install.rb
codeclimate-fede-0.85.35 lib/cc/cli/engines/install.rb
codeclimate-fede-0.85.33 lib/cc/cli/engines/install.rb
codeclimate-fede-0.85.32 lib/cc/cli/engines/install.rb
codeclimate-fede-0.85.31 lib/cc/cli/engines/install.rb
codeclimate-fede-0.85.30 lib/cc/cli/engines/install.rb
codeclimate-fede-0.85.21 lib/cc/cli/engines/install.rb
codeclimate-fede-0.85.24 lib/cc/cli/engines/install.rb
codeclimate-fede-0.85.23 lib/cc/cli/engines/install.rb
codeclimate-0.85.23 lib/cc/cli/engines/install.rb
codeclimate-0.85.22 lib/cc/cli/engines/install.rb
codeclimate-0.85.21 lib/cc/cli/engines/install.rb
codeclimate-0.85.19 lib/cc/cli/engines/install.rb
codeclimate-0.85.18 lib/cc/cli/engines/install.rb
codeclimate-0.85.17 lib/cc/cli/engines/install.rb
codeclimate-0.85.15 lib/cc/cli/engines/install.rb
codeclimate-0.85.14 lib/cc/cli/engines/install.rb
codeclimate-0.85.13 lib/cc/cli/engines/install.rb