module Api::Filters

Constants

VERSION

Public Class Methods

condition(field, value) click to toggle source
# File lib/api/filters.rb, line 28
def self.condition(field, value)
  [Between, EqualTo, GreaterEqualThan, GreaterThan, In, LowerEqualThan, LowerThan].each do |condition|
    if condition.handle? value
      return condition.new(field, value).elastic_query if condition.new(field, value).respond_to? :elastic_query
    end
  end
end
parse(string) click to toggle source
# File lib/api/filters.rb, line 17
def self.parse(string)
  if string
    filters = Hash.new
    filters.compare_by_identity
    filters[string.split("|").map { |f| f.split("::") }.each { |f| filters[f.first] = f.last }]
    return filters
  end

  {}
end