Module: Filter

Included in:
URI::QueryParams
Defined in:
lib/query_params/filter.rb

Instance Method Summary collapse

Instance Method Details

#between(key, range_ini, range_end) ⇒ Object



43
44
45
# File 'lib/query_params/filter.rb', line 43

def between(key, range_ini, range_end)
  @params.push("#{key}::bt(#{range_ini},#{range_end})") if !range_ini.to_s.empty? && !range_end.to_s.empty?
end

#bt(key, range_ini, range_end) ⇒ Object



47
48
49
# File 'lib/query_params/filter.rb', line 47

def bt(key, range_ini, range_end)
  between(key, range_ini, range_end)
end

#eq(key, value) ⇒ Object



19
20
21
# File 'lib/query_params/filter.rb', line 19

def eq(key, value)
  equal(key, value)
end

#equal(key, value) ⇒ Object



11
12
13
14
15
16
17
# File 'lib/query_params/filter.rb', line 11

def equal(key, value)
  if value.kind_of?(Array)
    @params.push("#{key}::in(#{value.join(",")})") unless value.to_s.empty?
  else
    @params.push("#{key}::eq(#{value})") unless value.to_s.empty?
  end
end

#full_text_search(query) ⇒ Object



3
4
5
# File 'lib/query_params/filter.rb', line 3

def full_text_search(query)
  @query = "q=#{query.strip}" unless query.to_s.empty?
end

#ge(key, value) ⇒ Object



31
32
33
# File 'lib/query_params/filter.rb', line 31

def ge(key, value)
  greater_and_equal(key, value)
end

#greater_and_equal(key, value) ⇒ Object



27
28
29
# File 'lib/query_params/filter.rb', line 27

def greater_and_equal(key, value)
  @params.push("#{key}::ge(#{value})") unless value.to_s.empty?
end

#in(key, values) ⇒ Object



23
24
25
# File 'lib/query_params/filter.rb', line 23

def in(key, values)
  @params.push("#{key}::in(#{values.join(",")})") unless values.to_s.empty?
end

#le(key, value) ⇒ Object



39
40
41
# File 'lib/query_params/filter.rb', line 39

def le(key, value)
  less_and_equal(key, value)
end

#less_and_equal(key, value) ⇒ Object



35
36
37
# File 'lib/query_params/filter.rb', line 35

def less_and_equal(key, value)
  @params.push("#{key}::le(#{value})") unless value.to_s.empty?
end

#q(query) ⇒ Object



7
8
9
# File 'lib/query_params/filter.rb', line 7

def q(query)
  full_text_search(query)
end