class MiniReadline::AutoManager

The controller for auto-complete.

Public Class Methods

new(&block) click to toggle source

Create a new auto-complete manager.

# File lib/mini_readline/read_line/edit/auto_complete/auto_manager.rb, line 10
def initialize(&block)
  @_block = block
  @active = nil
end

Public Instance Methods

next(buffer) click to toggle source

Get the next buffer string

# File lib/mini_readline/read_line/edit/auto_complete/auto_manager.rb, line 16
def next(buffer)
  unless @active && @old_buffer == buffer
    @active = source.rebuild(buffer)
  end

  if @active
    @old_buffer = source.next
  else
    @old_buffer = nil
  end
end
source() click to toggle source

Get the data source

# File lib/mini_readline/read_line/edit/auto_complete/auto_manager.rb, line 29
def source
  @_source ||= @_block.call
end