Class: VMC::Route::CreateRoute

Inherits:
Base
  • Object
show all
Defined in:
lib/vmc/cli/route/create_route.rb

Instance Method Summary collapse

Methods inherited from Base

#precondition

Methods inherited from CLI

#check_logged_in, #check_target, #client, client, client=, #client_target, #color_enabled?, #default_action, #ensure_config_dir, #err, #execute, #fail, #force?, #invalidate_client, #log_error, #name_list, #no_v2, #one_of, #precondition, #quiet?, #remove_target_info, #sane_target_url, #save_target_info, #save_targets, #set_target, #table, #target_file, #target_info, #targets_info, #tokens_file, #user_colors, #v2?, #verbose?

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

#create_routeObject



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/vmc/cli/route/create_route.rb', line 18

def create_route
  if url = input[:url]
    host, domain_name = url.split(".", 2)
    return invoke :create_route, {}, :host => host, :domain => domain_name
  end

  domain = input[:domain, client.current_organization.domains]
  host = input[:host]

  route = client.route
  route.host = host
  route.domain = domain
  route.space = client.current_space

  with_progress("Creating route #{c("#{host}.#{domain.name}", :name)}") do
    route.create!
  end
rescue CFoundry::RouteHostTaken => e
  line c(e.description, :error)
  line
  input.forget(:host)
  retry
end