dobtco/filterer

Usage of "chain" and "filter" in Ruby 2.6

Opened this issue · 2 comments

Ruby 2.6.0 was released this week, and introduces Enumerator::Chain and Enumerable#filter.

The filterer gem already implements the chain and filter methods on an ActiveRecord collection.

On older rubies (<2.6) everything works fine;

# Ruby 2.5.x
> User.where('1=1').chain
=> [#<User:0x00007fe8bbf5f9c3 ... etc as expected.

However, on new rubies (>2.6.0) we see the following problem;

# Ruby 2.6.0
> User.where('1=1').chain
=> #<Enumerator::Chain: ...>

It seems the simplest solution is to rename or avoid the .chain and .filter methods in this gem.

Thoughts?

In my PR (aptly numbered #26), I've worked around this Ruby 2.6 conflict with the following method renames;

filter -> filterer
chain -> filterer_chain

@olliebennett looks like you have the active fork. @ajb what are the chances of getting him as a maintainer or at least with access?