Class: VagrantPlugins::PuppetModules::Action::InstallLibrarianPuppet

Inherits:
Object
  • Object
show all
Defined in:
lib/vagrant-puppet-modules/action/install_librarian_puppet.rb

Instance Method Summary collapse

Constructor Details

#initialize(app, env) ⇒ InstallLibrarianPuppet

Returns a new instance of InstallLibrarianPuppet.



9
10
11
12
13
# File 'lib/vagrant-puppet-modules/action/install_librarian_puppet.rb', line 9

def initialize(app, env)
    @app = app
    @machine = env[:machine]
    @logger = Log4r::Logger.new('vagrantplugins::puppet_modules::action::installlibrarian')
end

Instance Method Details

#call(env) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/vagrant-puppet-modules/action/install_librarian_puppet.rb', line 15

def call(env)
    if @machine.communicate.ready? && provision_enabled?(env)
        @machine.config.puppet_modules.validate!

        desired_version = @machine.config.puppet_modules.librarian_version
        if desired_version.nil?
            env[:ui].info "Librarian-puppet is not required, skipping installation..."
        elsif installed_version == desired_version
            env[:ui].info "Librarian-puppet is already installed at version #{desired_version}"
        else
            fetch_or_create_install_script(env)
            install(desired_version, env)
        end
    end

    @app.call(env)
end