28 lines
693 B
Ruby
28 lines
693 B
Ruby
module VagrantPlugins
|
|
module DockerProvider
|
|
module Action
|
|
class Pull
|
|
def initialize(app, env)
|
|
@app = app
|
|
end
|
|
|
|
def call(env)
|
|
@env = env
|
|
@machine = env[:machine]
|
|
@provider_config = @machine.provider_config
|
|
@driver = @machine.provider.driver
|
|
|
|
# Skip pulling if the image is built
|
|
return @app.call(env) if @env[:create_image] || !@provider_config.pull
|
|
|
|
image = @provider_config.image
|
|
env[:ui].output(I18n.t("docker_provider.pull", image: image))
|
|
@driver.pull(image)
|
|
|
|
@app.call(env)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|