lib/magellan/cli/resources/worker.rb in magellan-cli-0.2.19 vs lib/magellan/cli/resources/worker.rb in magellan-cli-0.3.0
- old
+ new
@@ -4,20 +4,22 @@
module Magellan
module Cli
module Resources
class Worker < Base
+ include Deletable
+
self.resource_key = "functions~worker"
- self.resource_dependency = {"stage" => "stage-version"}
+ self.resource_dependency = {"stage" => Stage::VERSION_PARAMETER_NAME}
self.hidden_fields = %w[created_at updated_at].map(&:freeze).freeze
self.multiline_fields = %w[migration_command_1 migration_command_2 run_command environment_vars_yaml].map(&:freeze).freeze
self.field_associations = {"stage_version_id" => {name: "stage", resource: "stage~version"} }
desc "create NAME, IMAGE", "Create a new #{resource_name} with NAME and IMAGE"
method_option :attributes_yaml, aliases: "-A", desc: "path to YAML file which defines attributes"
def create(name, image_name)
- s = load_selection!("stage-version")
+ s = load_selection!(Stage::VERSION_PARAMETER_NAME)
attrs =
if path = options[:attributes_yaml]
YAML.load_file(path)
else
{}
@@ -39,21 +41,21 @@
if File.readable?(attrs)
attrs = YAML.load_file(attrs)
else
attrs = JSON.parse(attrs)
end
- w = load_selection!(parameter_name)
+ w = load_selection!(self.class)
self.class.hidden_fields.each do |f| attrs.delete(f) end
self.class.field_associations.keys.each do |f| attrs.delete(f) end
params = {
parameter_name => attrs
}
put_json("/admin/#{resource_key}/#{w["id"]}/edit.js", params)
end
desc "prepare_images", "Prepare the #{Image.resource_name.pluralize} for the selected #{Worker.resource_name}"
def prepare_images
- s = load_selection!("functions_worker")
+ s = load_selection!(Worker)
id = s["id"]
r = post_json("/admin/functions~worker/#{id}/simple_method_call.json", {method_name: "prepare_images"})
Image.new.show_list(r["result"])
end