Class: RedisMemo::MemoizeQuery::CachedSelect::NodeHasFilterCondition

Inherits:
Object
  • Object
show all
Defined in:
lib/redis_memo/memoize_query/cached_select.rb

Overview

Identify whether the node has filter condition

Class Method Summary collapse

Class Method Details

.===(node) ⇒ Object



369
370
371
372
373
374
375
376
377
378
379
380
381
382
# File 'lib/redis_memo/memoize_query/cached_select.rb', line 369

def self.===(node)
  case node
  when Arel::Nodes::Equality, Arel::Nodes::In
    true
  else
    # In activerecord >= 6, a new arel node HomogeneousIn is introduced
    if defined?(Arel::Nodes::HomogeneousIn) &&
       node.is_a?(Arel::Nodes::HomogeneousIn)
      true
    else
      false
    end
  end
end