Sha256: f5b70c765ac2cb76a3612e483f72e8a501f5838b17458a0443e3a02eae2980bf

Contents?: true

Size: 1.01 KB

Versions: 70

Compression:

Stored size: 1.01 KB

Contents

require 'highline'

# work around problem where HighLine detects an eof on $stdin and raises an
# error.
HighLine.track_eof = false

module Capistrano
  class CLI
    module UI
      def self.included(base) #:nodoc:
        base.extend(ClassMethods)
      end

      module ClassMethods
        # Return the object that provides UI-specific methods, such as prompts
        # and more.
        def ui
          @ui ||= HighLine.new
        end

        # Prompt for a password using echo suppression.
        def password_prompt(prompt="Password: ")
          ui.ask(prompt) { |q| q.echo = false }
        end
        
        # Debug mode prompt
        def debug_prompt(cmd)
          ui.say("Preparing to execute command: #{cmd}")
          prompt = "Execute ([Yes], No, Abort) "
          ui.ask("#{prompt}?  ") do |q|
            q.overwrite = false
            q.default = 'y'
            q.validate = /(y(es)?)|(no?)|(a(bort)?|\n)/i
            q.responses[:not_valid] = prompt
          end
        end
      end
    end
  end
end

Version data entries

70 entries across 70 versions & 10 rubygems

Version Path
wulffeld-capistrano-2.5.8.3 lib/capistrano/cli/ui.rb
capistrano-2.5.22 lib/capistrano/cli/ui.rb
dan-capistrano-2.5.6 lib/capistrano/cli/ui.rb
fotonauts-capistrano-2.5.2 lib/capistrano/cli/ui.rb
mbailey-capistrano-2.5.5 lib/capistrano/cli/ui.rb
mbailey-capistrano-2.5.6 lib/capistrano/cli/ui.rb
mbailey-capistrano-2.5.7 lib/capistrano/cli/ui.rb
sneakin-capistrano-2.5.5 lib/capistrano/cli/ui.rb
thoughtbot-capistrano-2.5.5 lib/capistrano/cli/ui.rb
thoughtbot-capistrano-2.5.6 lib/capistrano/cli/ui.rb
wulffeld-capistrano-2.5.8.1 lib/capistrano/cli/ui.rb
wulffeld-capistrano-2.5.8 lib/capistrano/cli/ui.rb
HeSYINUvSBZfxqA-capistrano-2.5.28 lib/capistrano/cli/ui.rb
HeSYINUvSBZfxqA-capistrano-2.5.27 lib/capistrano/cli/ui.rb
HeSYINUvSBZfxqA-capistrano-2.5.26 lib/capistrano/cli/ui.rb
HeSYINUvSBZfxqA-capistrano-2.5.25 lib/capistrano/cli/ui.rb
HeSYINUvSBZfxqA-capistrano-2.5.24 lib/capistrano/cli/ui.rb
HeSYINUvSBZfxqA-capistrano-2.5.23 lib/capistrano/cli/ui.rb
HeSYINUvSBZfxqA-capistrano-2.5.22 lib/capistrano/cli/ui.rb
HeSYINUvSBZfxqA-capistrano-2.5.21 lib/capistrano/cli/ui.rb