class Nucleon::Action::Node::Group
Public Class Methods
describe(action = :group, weight = 670)
click to toggle source
# File lib/nucleon/action/node/group.rb 10 def self.describe(action = :group, weight = 670) 11 describe_base(:node, action, weight, nil, nil, :node_group) 12 end
Public Instance Methods
arguments()
click to toggle source
# File lib/nucleon/action/node/group.rb 34 def arguments 35 [ :name ] 36 end
configure(aggregate = false)
click to toggle source
Calls superclass method
# File lib/nucleon/action/node/group.rb 17 def configure(aggregate = false) 18 super() do 19 codes :group_save_failed 20 21 unless aggregate 22 register_str :name, nil 23 24 register_bool :add 25 register_bool :delete 26 end 27 28 register_translator :format, :json 29 end 30 end
delete_node_group(node, name, remote = nil)
click to toggle source
# File lib/nucleon/action/node/group.rb 82 def delete_node_group(node, name, remote = nil) 83 remote_text = remote ? "#{remote}" : "LOCAL ONLY" 84 85 node.remove_groups(name) 86 87 if node.save({ :remote => remote, :message => "Deleting group #{name} from #{node.plugin_provider} #{node.plugin_name}" }) 88 success("Group #{name} deleted (#{remote_text})", { :i18n => false }) 89 else 90 error("Group #{name} deletion could not be saved", { :i18n => false }) 91 myself.status = code.group_save_failed 92 end 93 end
execute()
click to toggle source
Calls superclass method
# File lib/nucleon/action/node/group.rb 41 def execute 42 super do |node| 43 ensure_node(node) do 44 if ! settings[:name] || settings[:name].empty? 45 render_node_groups(node) 46 else 47 if settings.delete(:delete, false) 48 delete_node_group(node, settings[:name], sanitize_remote(network, settings[:net_remote])) 49 elsif settings.delete(:add, false) 50 set_node_group(node, settings[:name], sanitize_remote(network, settings[:net_remote])) 51 else 52 render_node_group(node, settings[:name]) 53 end 54 end 55 end 56 end 57 end
render_node_group(node, name)
click to toggle source
# File lib/nucleon/action/node/group.rb 70 def render_node_group(node, name) 71 if node.groups.include?(name.to_s) 72 myself.result = true 73 success("Group #{name} found", { :i18n => false }) 74 else 75 myself.result = false 76 warn("Group #{name} not found", { :i18n => false }) 77 end 78 end
render_node_groups(node)
click to toggle source
# File lib/nucleon/action/node/group.rb 62 def render_node_groups(node) 63 format = settings[:format] 64 myself.result = node.groups 65 render result, :format => format 66 end
render_provider()
click to toggle source
# File lib/nucleon/action/node/group.rb 114 def render_provider 115 :node_group 116 end
set_node_group(node, name, remote = nil)
click to toggle source
# File lib/nucleon/action/node/group.rb 97 def set_node_group(node, name, remote = nil) 98 remote_text = remote ? "#{remote}" : "LOCAL ONLY" 99 100 myself.result = name 101 node.add_groups(name) 102 103 if node.save({ :remote => remote, :message => "Saving group #{name} to #{node.plugin_provider} #{node.plugin_name}" }) 104 success("Group #{name} saved (#{remote_text})", { :i18n => false }) 105 else 106 error("New group #{name} could not be saved", { :i18n => false }) 107 myself.status = code.group_save_failed 108 end 109 end