class Bundler::Thor::LineEditor::Readline - bundler-1.9.9 Documentation

# class Bundler::Thor::LineEditor::Readline

### Public Class Methods

available?() click to toggle source

    # File lib/bundler/vendor/thor/lib/thor/line_editor/readline.rb, line 9
    def self.available?
      Object.const_defined?(:Readline)
    end

### Public Instance Methods

readline() click to toggle source
Calls superclass method Bundler::Thor::LineEditor::Basic#readline

    # File lib/bundler/vendor/thor/lib/thor/line_editor/readline.rb, line 13
    def readline
      if echo?
        ::Readline.completion_append_character = nil
        # Ruby 1.8.7 does not allow Readline.completion_proc= to receive nil.
        if complete = completion_proc
          ::Readline.completion_proc = complete
        end
        ::Readline.readline(prompt, add_to_history?)
      else
        super
      end
    end

### Private Instance Methods

add_to_history?() click to toggle source

    # File lib/bundler/vendor/thor/lib/thor/line_editor/readline.rb, line 28
    def add_to_history?
      options.fetch(:add_to_history, true)
    end

completion_options() click to toggle source

    # File lib/bundler/vendor/thor/lib/thor/line_editor/readline.rb, line 42
    def completion_options
      options.fetch(:limited_to, [])
    end

completion_proc() click to toggle source

    # File lib/bundler/vendor/thor/lib/thor/line_editor/readline.rb, line 32
    def completion_proc
      if use_path_completion?
        proc { |text| PathCompletion.new(text).matches }
      elsif completion_options.any?
        proc do |text|
          completion_options.select { |option| option.start_with?(text) }
        end
      end
    end

use_path_completion?() click to toggle source

    # File lib/bundler/vendor/thor/lib/thor/line_editor/readline.rb, line 46
    def use_path_completion?
      options.fetch(:path, false)
    end