Class: CF::Organization::Delete

Inherits:
Base show all
Defined in:
lib/cf/cli/organization/delete.rb

Instance Method Summary collapse

Methods inherited from Base

#precondition

Methods inherited from CLI

#add_exception_name_to_msg, #build_client, #check_logged_in, #check_target, #client, client, client=, #client_target, #color_enabled?, #debug?, #default_action, #ensure_config_dir, #err, #execute, #fail, #fail_unknown, #force?, #formatted_exception_output, #help, #help_header, #invalidate_client, #log_error, #name_list, #normalize_targets_info, #one_of, #quiet?, #remove_target_info, #sane_target_url, #save_target_info, #save_targets, #save_token_if_it_changes, #set_target, #table, #target_info, #targets_info, #user_colors, #verbose?, #wrap_errors

Methods included from Spacing

#indented, #justify, #line, #lines, #quiet?, #spaced, #start_line, #tabular, #text_width, #trim_escapes

Methods included from Interactive

#ask, #handler, #input_state, #list_choices, #prompt, #show_default

Instance Method Details

#delete_orgObject



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
# File 'lib/cf/cli/organization/delete.rb', line 16

def delete_org
  org = input[:organization]
  return unless input[:really, org]

  is_current = org == client.current_organization
  @orgs ||= client.organizations(:depth => 0)
  with_progress("Deleting organization #{c(org.name, :name)}") do
    deleted = org.delete!(:recursive => !!input[:recursive])
    @orgs.delete(org) if deleted
  end

  if @orgs.empty?
    return unless input[:warn]

    line
    line c("There are no longer any organizations.", :warning)
    line "You may want to create one with #{c("create-org", :good)}."
  elsif is_current
    invalidate_client
    invoke :target
  end
rescue CFoundry::AssociationNotEmpty => boom
  line
  line c(boom.description, :bad)
  line c("If you want to delete the organization along with all dependent objects, rerun the command with the #{b("'--recursive'")} flag.", :bad)
  exit_status(1)
end