README
Summary
This gem provides fast prefix-autocompletion in pure ruby.
Installation
gem install autocompletion
Usage
Autocomplete words
auto = AutoCompletion.words(%w[foo bar baz])
auto.complete('f') # => ["foo"]
auto.complete('b') # => ["bar", "baz"]
auto.complete('z') # => []
Autocomplete objects by attributes
Person = Struct.new(:first_name, :last_name)
people = [
Person.new("Peter", "Parker"),
Person.new("Luke", "Skywalker"),
Person.new("Anakin", "Skywalker"),
]
auto = AutoCompletion.map_keys(people) { |person|
[person.first_name, person.last_name]
}
auto.complete("P")
# => [#<struct Person first_name="Peter", last_name="Parker">]
auto.complete("S")
# => [#<struct Person first_name="Luke", last_name="Skywalker">,
# #<struct Person first_name="Anakin", last_name="Skywalker">]
auto.complete("S", "L")
# => [#<struct Person first_name="Luke", last_name="Skywalker">]