Method: Whereable::ClassMethods#whereable_hash_tree

Defined in:
lib/whereable.rb

#whereable_hash_tree(filter) ⇒ Object

Parse filter to hash tree using Treetop PEG

Raises:



30
31
32
33
34
35
36
37
# File 'lib/whereable.rb', line 30

def whereable_hash_tree(filter)
  parser = WhereableClauseParser.new
  hash = parser.parse(filter.strip)&.to_h

  raise FilterInvalid, "Invalid filter at #{filter[parser.max_terminal_failure_index..-1]}" if hash.nil?

  hash
end