Method: ActionBlocks::FilterAdapter#get_fields

Defined in:
lib/action_blocks/data_engine/filter_adapter.rb

#get_fields(expression) ⇒ Object

Extract fields from lisp/scheme



14
15
16
17
18
19
20
21
22
# File 'lib/action_blocks/data_engine/filter_adapter.rb', line 14

def get_fields(expression)
  if expression.class == Array
    fn, *args = expression
    return [] if fn == :user
    return args.map { |a| get_fields(a) }.flatten.uniq
  end
  return expression if expression.class == Symbol
  return []
end