Low commit activity in last 3 years
There's a lot of open issues
No release in over a year
An ActiveRecord plugin providing a higher-level abstraction for SQL 'LIKE' queries
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

Runtime

>= 7.0.0, < 9.0
 Project Readme

ActiveRecord::Like

GitHub Build Status

Gem Version License

Coverage Status Code Climate

activerecord-like on Github

An Active Record Plugin that allows chaining a more DSL-style 'like' or 'not-like' query to an ActiveRecord::Base#where. Requires Rails 5 or higher.

History and credits

This plugin was originally salvaged from the stellar work done by @amatsuda and @claudiob.

  • Most of the code was previously in Active Record master, but was subsequently removed due to, amongst other, scope creep (see discussion here).
  • It was updated to ActiveRecord 5 by @PikachuEXE, then to ActiveRecord 5.2 by @robotdana and to ActiveRecord 6.1 by @nrw505.
  • Array parameter handling was added by @rzane - thanks!

Installation

Add this line to your application's Gemfile:

gem 'activerecord-like'

And then execute:

$ bundle

Or install it yourself as:

$ gem install activerecord-like

Usage

Given a class Post and the WhereChain work in Active Record, this plugin allows code like:

Post.where.like(title: "%rails%")
Post.where.like(title: ["%ruby%", "%rails%"])

and

Post.where.not_like(title: "%rails%")
Post.where.not_like(title: ["%ruby%", "%rails%"])

Dependencies

ActiveRecord 5 or higher

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Make sure the tests run. I will not merge commits that change code without testing the new code. Running the tests is as easy as running bundle && rake - if this does not work, consider it a bug and report it. Testing with a specific database engine is done using export DB={engine}; bundle && rake or the equivalent for your system. Supported engines are mysql, sqlite3 and pg.
  5. Push to the branch (git push origin my-new-feature)
  6. Create new Pull Request