Sha256: cc753ab42b31204ce055ca4dc221bdbe503037fb8f840280b0a670dd4f1c4a5e

Contents?: true

Size: 536 Bytes

Versions: 4

Compression:

Stored size: 536 Bytes

Contents

module Peony
  module LineEditor
    class Basic
      attr_reader :prompt, :options

      def self.available?
        true
      end

      def initialize(prompt, options)
        @prompt = prompt
        @options = options
      end

      def readline
        $stdout.print(prompt)
        get_input
      end

      private

      def get_input
        if echo?
          $stdin.gets
        else
          $stdin.noecho(&:gets)
        end
      end

      def echo?
        options.fetch(:echo, true)
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
peony-0.3.1 lib/peony/line_editor/basic.rb
peony-0.3.0 lib/peony/line_editor/basic.rb
peony-0.1.9 lib/peony/line_editor/basic.rb
peony-0.1.8 lib/peony/line_editor/basic.rb