Module: Trailblazer::Finder::Utils::Extra

Defined in:
lib/trailblazer/finder/utils/extra.rb

Class Method Summary collapse

Class Method Details

.apply_handler(handler, predicate_handler = "Trailblazer::Finder::Adapters::Basic::Predicates") ⇒ Object



10
11
12
13
14
15
16
17
# File 'lib/trailblazer/finder/utils/extra.rb', line 10

def apply_handler(handler, predicate_handler = "Trailblazer::Finder::Adapters::Basic::Predicates")
  case handler
    when Symbol then ->(entity, attribute, value) { method(handler).call entity, attribute, value }
    when Proc then handler
    else
      Object.const_get(predicate_handler).__send__ :set_eq_handler
  end
end