class Magellan::Cli::Resources::ClientVersion
Public Instance Methods
create(version)
click to toggle source
# File lib/magellan/cli/resources/client_version.rb, line 19 def create(version) project = load_selection!(Project) stage = load_selection!(Stage) attrs = { "project_id" => project["id"], "stage_title_id" => stage["id"], "version" => version, } if d = options[:domain] attrs["domain"] = d end params = { parameter_name => attrs } post_json("/admin/#{resource_key}/new.js", params) # TODO implement select method # select(version) end
delete(version)
click to toggle source
Calls superclass method
Magellan::Cli::Base#delete
# File lib/magellan/cli/resources/client_version.rb, line 62 def delete(version) q = build_query("version" => version).update(default_query) r = get_first_result!(self.class.resource_name, version, "/admin/#{resource_key}.json", q) super("/admin/#{resource_key}/#{r['id']}/delete.json") log_success("OK") end
select(name)
click to toggle source
Calls superclass method
Magellan::Cli::Resources::Base#select
# File lib/magellan/cli/resources/client_version.rb, line 70 def select(name) super end
update(attrs)
click to toggle source
# File lib/magellan/cli/resources/client_version.rb, line 37 def update(attrs) if File.readable?(attrs) attrs = YAML.load_file(attrs) else attrs = JSON.parse(attrs) end stage_name = attrs.delete("stage") cv = 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 unless stage_name.blank? q = Stage.new.build_name_query(stage_name) r = get_first_result!(Stage.parameter_name, stage_name, "/admin/stage~title.json", q) attrs["stage_title_id"] = r["id"] end params = { parameter_name => attrs } put_json("/admin/#{resource_key}/#{cv["id"]}/edit.js", params) end