Class: Engineyard::Local::Command::Update

Inherits:
Base show all
Defined in:
lib/engineyard-local/command/update.rb

Instance Attribute Summary

Attributes inherited from Base

#env, #options

Instance Method Summary collapse

Methods inherited from Base

#initialize

Methods inherited from Vagrant::Command::Base

#cookbook_status, #initialize

Methods included from Helpers

#insert_linebreaks, #merge_run_options, #run

Constructor Details

This class inherits a constructor from Engineyard::Local::Command::Base

Instance Method Details

#exec(*args) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/engineyard-local/command/update.rb', line 6

def exec(*args)
  installed_cookbook_version = []
  la_brea_data = []
  run( Vagrant::Action::Builder.new do
    use( Engineyard::Local::Middleware::Cookbooks,:get_installed_version, installed_cookbook_version )
    use( Engineyard::Local::Middleware::Cookbooks,:get_la_brea_data, la_brea_data )
  end )

  installed_cookbook_version = installed_cookbook_version.first
  la_brea_data = la_brea_data.first

  if ( installed_cookbook_version == la_brea_data[:cookbooks_version] )
    @env.ui.info I18n.t("eylocal.update.nothing")
  else
    @env.ui.info I18n.t("eylocal.update.updating")

    new_cookbook_version = []
    run( Vagrant::Action::Builder.new do
      use( Engineyard::Local::Middleware::Cookbooks,:update_cookbooks )
      use( Engineyard::Local::Middleware::Cookbooks,:get_installed_version, new_cookbook_version )
    end )
    new_cookbook_version = new_cookbook_version.first

    if (installed_cookbook_version == new_cookbook_version)
      @env.ui.info I18n.t("eylocal.update.fail")
    else
      @env.ui.info I18n.t("eylocal.update.success")
      run Engineyard::Local::Command::Up.setup_stack(options)
    end
  end

end