module CF::App::Create
Attributes
input[RW]
path[W]
Public Instance Methods
bind_services(app)
click to toggle source
# File lib/cf/cli/app/push/create.rb, line 80 def bind_services(app) return unless input[:bind_services] while true invoke :bind_service, :app => app break if (all_instances - app.services).empty? break unless ask("Bind another service?", :default => false) end end
create_app(inputs)
click to toggle source
# File lib/cf/cli/app/push/create.rb, line 21 def create_app(inputs) app = client.app inputs.each { |key, value| app.send(:"#{key}=", value) } finalize app = filter(:create_app, app) with_progress("Creating #{c(app.name, :name)}") do wrap_message_format_errors do begin app.create! rescue CFoundry::NotAuthorized fail "You need the Project Developer role in #{b(client.current_space.name)} to push." end end end app end
create_services(app)
click to toggle source
# File lib/cf/cli/app/push/create.rb, line 71 def create_services(app) return unless input[:create_services] finalize while true invoke :create_service, { :app => app }, :plan => :interact break unless ask("Create another service?", :default => false) end end
get_inputs()
click to toggle source
# File lib/cf/cli/app/push/create.rb, line 6 def get_inputs inputs = {} inputs[:name] = input[:name] inputs[:total_instances] = input[:instances] inputs[:space] = client.current_space if client.current_space inputs[:buildpack] = input[:buildpack] inputs[:command] = input[:command] if input.has?(:command) || !has_procfile? inputs[:memory] = megabytes(input[:memory, human_mb(256)]) inputs[:stack] = input[:stack] inputs end
map_route(app)
click to toggle source
# File lib/cf/cli/app/push/create.rb, line 42 def map_route(app) line unless quiet? host = input[:host, app.name] finalize domain = input[:domain, app] finalize mapped_url = false until domain == "none" || !domain || mapped_url begin host = "" if host == "none" invoke :map, :app => app, :host => host, :domain => domain mapped_url = true rescue CFoundry::RouteHostTaken, CFoundry::UriAlreadyTaken => e raise if force? line c(e.description, :bad) line input.forget(:host) input.forget(:domain) host = input[:host, app.name] domain = input[:domain, app] end end end
start_app(app)
click to toggle source
# File lib/cf/cli/app/push/create.rb, line 90 def start_app(app) invoke :start, :app => app if input[:start] end
Private Instance Methods
all_instances()
click to toggle source
# File lib/cf/cli/app/push/create.rb, line 100 def all_instances @all_instances ||= client.service_instances end
has_procfile?()
click to toggle source
# File lib/cf/cli/app/push/create.rb, line 96 def has_procfile? File.exists?("#@path/Procfile") end
target_base()
click to toggle source
# File lib/cf/cli/app/push/create.rb, line 104 def target_base client.target.sub(/^https?:\/\/([^\.]+\.)?(.+)\/?/, '\2') end