Class: CF::Service::Delete

Inherits:
Base
  • Object
show all
Defined in:
lib/cf/cli/service/delete.rb

Instance Method Summary collapse

Methods included from LoginRequirements

#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, #log_error_and_dump_crashlog, #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 CF::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_serviceObject

[View source]

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
46
47
48
49
# File 'lib/cf/cli/service/delete.rb', line 14

def delete_service
  if input[:all]
    return unless input[:really, "ALL SERVICES", :bad]

    client.service_instances.each do |i|
      invoke :delete_service, :service => i, :really => true
    end

    return
  end

  service = input[:service]

  return unless input[:really, service.name, :name]

  bindings = service.service_bindings

  unless bindings.empty? || !input[:unbind, bindings.collect(&:app)]
    bindings.each do |b|
      invoke :unbind_service, :service => service, :app => b.app
    end

    bindings = []
  end

  with_progress("Deleting #{c(service.name, :name)}") do |s|
    if bindings.empty?
      service.delete!
    else
      s.skip do
        apps = bindings.collect(&:app).collect { |a| b(a.name) }
        err "Service is bound to #{human_list(apps)}."
      end
    end
  end
end