Class: Pantry::Commands::UpdateApplication
- Inherits:
-
Pantry::Command
- Object
- Pantry::Command
- Pantry::Commands::UpdateApplication
- Defined in:
- lib/pantry/commands/update_application.rb
Overview
Upload and save new configuration for an Application
See EditApplication for more information
Instance Method Summary collapse
-
#initialize(application_name = nil, config_body = nil) ⇒ UpdateApplication
constructor
A new instance of UpdateApplication.
- #perform(message) ⇒ Object
- #to_message ⇒ Object
Methods inherited from Pantry::Command
command, #finished, #finished?, message_type, #prepare_message, #receive_client_response, #receive_response, #receive_server_response, #send_request, #send_request!, #server_or_client, #server_or_client=, #wait_for_finish
Constructor Details
#initialize(application_name = nil, config_body = nil) ⇒ UpdateApplication
Returns a new instance of UpdateApplication.
9 10 11 12 |
# File 'lib/pantry/commands/update_application.rb', line 9 def initialize(application_name = nil, config_body = nil) @application_name = application_name @config_body = config_body end |
Instance Method Details
#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() application_name = .body[0] config_body = .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.] end File.open(app_config_file, "w+") do |file| file.write(config_body) end true end |
#to_message ⇒ Object
14 15 16 17 18 19 |
# File 'lib/pantry/commands/update_application.rb', line 14 def super.tap do |msg| msg << @application_name msg << @config_body end end |