Method: Pantry::Commands::UpdateApplication#perform

Defined in:
lib/pantry/commands/update_application.rb

#perform(message) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/pantry/commands/update_application.rb', line 21

def perform(message)
  application_name = message.body[0]
  config_body      = message.body[1]

  app_config_file = Pantry.root.join("applications", application_name, "config.yml")
  FileUtils.mkdir_p(File.dirname(app_config_file))

  begin
    Psych.parse(config_body, "config.yml")
  rescue => ex
    # Invalid YAML, don't save!
    return [false, ex.message]
  end

  File.open(app_config_file, "w+") do |file|
    file.write(config_body)
  end

  true
end