Class: EPC::Command::UpdateRoleCommand
- Inherits:
-
BaseCommand
- Object
- BaseCommand
- EPC::Command::UpdateRoleCommand
- Defined in:
- lib/epc/command/update_role_command.rb
Constant Summary
Constants inherited from BaseCommand
BaseCommand::GIVEUP_TICKS, BaseCommand::SLEEP_TIME, BaseCommand::TICKER_TICKS
Instance Attribute Summary
Attributes inherited from BaseCommand
Instance Method Summary collapse
Methods inherited from BaseCommand
#go, inherited, #initialize, #method_missing, required_arguments_count, required_options, #respond_to?
Methods included from PersistentAttributes
#auth_token, #caller_id, #target_url
Constructor Details
This class inherits a constructor from EPC::Command::BaseCommand
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class EPC::Command::BaseCommand
Instance Method Details
#execute(role = nil) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/epc/command/update_role_command.rb', line 7 def execute(role = nil) role_id = retrieve_system_role_identifier(role) if @options[:add_user].present? user_id = retrieve_user_identifier(@options[:add_user]) params = [] params << {:member_id => user_id.to_i, :member_type => "User"} status, response, headers = client.put(EPC::Config::ROLES_PATH + "/#{role_id}/assign_members", {:role_memberships => params}) say("User added to role") if status.successful? end if @options[:remove_user].present? user_id = retrieve_user_identifier(@options[:remove_user]) status, response, headers = client.delete(EPC::Config::ROLES_PATH + "/#{role_id}/remove_member", {:member_id => @options[:remove_user], :member_type => "User"}) say("User removed from role") if status.successful? end if @options[:add_group].present? group_id = retrieve_user_group_identifier(@options[:add_group]) params = [] params << {:member_id => group_id.to_i, :member_type => "UserGroup"} status, response, headers = client.put(EPC::Config::ROLES_PATH + "/#{role_id}/assign_members", {:role_memberships => params}) say("UserGroup added to role") if status.successful? end if @options[:remove_group].present? group_id = retrieve_user_group_identifier(@options[:remove_group]) status, response, headers = client.delete(EPC::Config::ROLES_PATH + "/#{role_id}/remove_member", {:member_id => group_id, :member_type => "UserGroup"}) say("UserGroup removed from role") if status.successful? end say("Request failed: [#{response[:message]}]") unless status.successful? return status end |