Sha256: 8ca0dd1aac23fc5182f6d2d6150c914ebe702b85f6b7260d806e15869aa0c191

Contents?: true

Size: 1.71 KB

Versions: 9

Compression:

Stored size: 1.71 KB

Contents

module JDC::App
  module PushInteractions
    def ask_name
      ask("Name")
    end

    def ask_host(name)
      ask "Subdomain", :choices => [name, "none"],
        :default => name,
        :allow_other => true
    end

    def ask_domain(app)
      choices = app.space.domains

      options = {
        :choices => choices + ["none"],
        :display => proc { |choice| choice.is_a?(String) ? choice : choice.name },
        :allow_other => true
      }

      options[:default] = choices.first

      ask "Domain", options
    end

    def ask_memory(default)
      ask("Memory Limit",
          :choices => memory_choices,
          :allow_other => true,
          :default => default || "128M")
    end

    def ask_instances
      ask("Instances", :default => 1)
    end

    def ask_command
      command = ask("Custom startup command", :default => "none")

      if command != "none"
        command
      end
    end

    def ask_create_services
      line unless quiet?
      ask "Create services for application?", :default => false
    end

    def ask_bind_services
      return if all_instances.empty?

      ask "Bind other services to application?", :default => false
    end

    private

    def ask_with_other(message, all, choices, default, other)
      choices = choices.sort_by(&:name)
      choices << other if other

      opts = {
        :choices => choices,
        :display => proc { |x|
          if other && x == other
            "other"
          else
            x.name
          end
        }
      }

      opts[:default] = default if default

      res = ask(message, opts)

      if other && res == other
        opts[:choices] = all
        res = ask(message, opts)
      end

      res
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
jdc-0.2.7 lib/jdc/cli/app/push/interactions.rb
jdc-0.2.5 lib/jdc/cli/app/push/interactions.rb
jdc-0.2.4 lib/jdc/cli/app/push/interactions.rb
jdc-0.2.3 lib/jdc/cli/app/push/interactions.rb
jdc-0.2.2 lib/jdc/cli/app/push/interactions.rb
jdc-0.2.3.pre lib/jdc/cli/app/push/interactions.rb
jdc-0.2.2.pre lib/jdc/cli/app/push/interactions.rb
jdc-0.2.1.pre lib/jdc/cli/app/push/interactions.rb
jdc-0.2.0 lib/jdc/cli/app/push/interactions.rb