Class: RHC::Commands::Member
Constant Summary
Constants included from Helpers
Helpers::BOUND_WARNING, Helpers::PREFIX, Helpers::ROLES
Instance Method Summary collapse
Methods inherited from Base
Methods included from RHC::ContextHelpers
#find_app, #find_app_or_domain, #find_domain, #from_local_git, included, #namespace_context, #server_context
Methods included from GitHelpers
#git_clone_application, #git_clone_deploy_hooks, #git_clone_repo, #git_config_get, #git_config_set, #git_version, #has_git?
Methods included from Helpers
#agree, #certificate_file, #client_from_options, #collect_env_vars, #color, #confirm_action, #date, #datetime_rfc3339, #debug, #debug?, #debug_error, #decode_json, #deprecated, #deprecated_command, #disable_deprecated?, #distance_of_time_in_words, #env_var_regex_pattern, #error, #exec, #host_exists?, #hosts_file_contains?, #human_size, #info, #interactive?, #jruby?, #mac?, #pluralize, #protonbox_online_server?, #protonbox_rest_endpoint, #protonbox_server, #protonbox_url, #results, #role_name, #run_with_tee, #ssh_string, #ssh_string_parts, #ssl_options, #success, #system_path, #table_heading, #to_host, #to_uri, #token_for_user, #unix?, #user_agent, #warn, #windows?, #with_tolerant_encoding
Methods included from OutputHelpers
#default_display_env_var, #display_app, #display_app_configurations, #display_authorization, #display_cart, #display_cart_storage_info, #display_cart_storage_list, #display_deployment, #display_deployment_list, #display_domain, #display_env_var_list, #display_key, #format_cart_gears, #format_cart_header, #format_gear_info, #format_key_header, #format_scaling_info, #format_usage_message
Constructor Details
This class inherits a constructor from RHC::Commands::Base
Instance Method Details
#add(members) ⇒ Object
97 98 99 100 101 102 103 104 105 106 |
# File 'lib/rhc/commands/member.rb', line 97 def add(members) target = find_domain role = .role || 'edit' raise ArgumentError, 'You must pass one or more logins or ids to this command' unless members.present? say "Adding #{pluralize(members.length, role_name(role))} to #{target.class.model_name.downcase} ... " target.update_members(changes_for(members, role)) success "done" 0 end |
#list(path) ⇒ Object
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/rhc/commands/member.rb', line 49 def list(path) target = find_app_or_domain(path) members = target.members.sort_by{ |m| [m.owner? ? 0 : 1, m.role_weight, m.name] } show_name = members.any?{ |m| m.name && m.name != m.login } members.map! do |m| [ ((m.name || "") if show_name), m.login || "", m.owner? ? "#{m.role} (owner)" : m.role, (m.id if .ids) ].compact end say table(members, :header => [('Name' if show_name), 'Login', 'Role', ("ID" if .ids)].compact) 0 end |
#remove(members) ⇒ Object
121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 |
# File 'lib/rhc/commands/member.rb', line 121 def remove(members) target = find_domain if .all say "Removing all members from #{target.class.model_name.downcase} ... " target.delete_members success "done" else raise ArgumentError, 'You must pass one or more logins or ids to this command' unless members.present? say "Removing #{pluralize(members.length, 'member')} from #{target.class.model_name.downcase} ... " target.update_members(changes_for(members, 'none')) success "done" end 0 end |