FuzzyRecord
FuzzyRecord searches through active records using fuzzy matchers and orders them based on FuzzyString.
Installation
Add this line to your application's Gemfile:
gem 'fuzzy_record'
And then execute:
$ bundle
Or install it yourself as:
$ gem install fuzzy_record
Usage
To use for any active record model:
$ Model.fuzzy_search('string')
It will search through your model for records where the first of these that exists (:fuzzy_name, :ident, :name) fuzzy_matches and order it by best match
Alternatively you can use a hash where the field to be searched is the key:
$ Model.fuzzy_search(title: 'string')
To make this the default behavior for your model simply add the definition:
$ def self.fuzzy_search(str) super(title: str) end
Contributing
- Fork it ( https://github.com/[my-github-username]/fuzzy_record/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
Author
- Chris Moody
License
This is free software released into the public domain.