Sha256: 2304a678d201cbd48ad424e9c1321b1d824873d2ab853eff69f7532672a4a91e

Contents?: true

Size: 562 Bytes

Versions: 6

Compression:

Stored size: 562 Bytes

Contents

# frozen_string_literal: true

require 'concurrent/delay'
module Bolt
  class Plugin
    class Prompt
      def initialize(*_args); end

      def name
        'prompt'
      end

      def hooks
        [:resolve_reference]
      end

      def validate_resolve_reference(opts)
        raise Bolt::ValidationError, "Prompt requires a 'message'" unless opts['message']
      end

      def resolve_reference(opts)
        STDOUT.print "#{opts['message']}:"
        value = STDIN.noecho(&:gets).chomp
        STDOUT.puts
        value
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
bolt-1.35.0 lib/bolt/plugin/prompt.rb
bolt-1.34.0 lib/bolt/plugin/prompt.rb
bolt-1.33.0 lib/bolt/plugin/prompt.rb
bolt-1.32.0 lib/bolt/plugin/prompt.rb
bolt-1.31.1 lib/bolt/plugin/prompt.rb
bolt-1.31.0 lib/bolt/plugin/prompt.rb