# class Reline::KeyActor::Base

### Public Class Methods

new (mappings = nil)
Source

    # File lib/reline/key_actor/base.rb, line 2
    def initialize(mappings = nil)
      @matching_bytes = {}
      @key_bindings = {}
      add_mappings(mappings) if mappings
    end

### Public Instance Methods

add (key, func)
Source

    # File lib/reline/key_actor/base.rb, line 18
    def add(key, func)
      (1...key.size).each do |size|
        @matching_bytes[key.take(size)] = true
      end
      @key_bindings[key] = func
    end

add_mappings (mappings)
Source

    # File lib/reline/key_actor/base.rb, line 8
    def add_mappings(mappings)
      add([27], :ed_ignore)
      128.times do |key|
        func = mappings[key]
        meta_func = mappings[key | 0b10000000]
        add([key], func) if func
        add([27, key], meta_func) if meta_func
      end
    end

clear ()
Source

    # File lib/reline/key_actor/base.rb, line 33
    def clear
      @matching_bytes.clear
      @key_bindings.clear
    end

get (key)
Source

    # File lib/reline/key_actor/base.rb, line 29
    def get(key)
      @key_bindings[key]
    end

matching? (key)
Source

    # File lib/reline/key_actor/base.rb, line 25
    def matching?(key)
      @matching_bytes[key]
    end