Sha256: d19fb96a93caaf51bd008d0f164981705dfb8bbae932caef23875c1143bf99ca
Contents?: true
Size: 1.51 KB
Versions: 1
Compression:
Stored size: 1.51 KB
Contents
# NQL Natural Query Language built on top of ActiveRecord and Ransack ## Installation Add this line to your application's Gemfile: gem 'nql' And then execute: $ bundle Or install it yourself as: $ gem install nql ## Supported comparators -------------------------------------- | Symbol | Description | -------------------------------------- | : | Contains | | = | Equals | | != | Not equals | | > | Grater than | | >= | Grater or equals than | | < | Less than | | <= | Less or equals than | | ~ | Matches (eq ignore case) | -------------------------------------- ## Usage Converts from natural language to query expression q = '(name: arg | name: br) & region = south' Country.search(NQL.to_ransack(q)).result.to_sql => "SELECT coutries.* FROM countries WHERE (countries.name LIKE '%arg%' OR countries.name LIKE '%br%') AND region = 'south'" ### Joins support q = 'cities.name: buenos' Country.search(NQL.to_ransack(q)).result.to_sql => "SELECT countries.* FROM countries LEFT OUTER JOIN cities ON countries.id = cities.country_id WHERE cities.name LIKE '%buenos%'" ## Contributing 1. Fork it 2. Create your feature branch (`git checkout -b my-new-feature`) 3. Commit your changes (`git commit -am 'Added some feature'`) 4. Push to the branch (`git push origin my-new-feature`) 5. Create new Pull Request
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
nql-0.0.5 | README.md |