arelastic 0.0.4 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -48,10 +48,18 @@ module Arelastic
48
48
  Arelastic::Filters::Exists.new field
49
49
  end
50
50
 
51
+ def present
52
+ exists.and(not_eq(''))
53
+ end
54
+
51
55
  def missing(options = {})
52
56
  Arelastic::Filters::Missing.new field, options
53
57
  end
54
58
 
59
+ def blank
60
+ missing.or(eq(''))
61
+ end
62
+
55
63
  def gteq other
56
64
  range 'gte' => other
57
65
  end
@@ -68,10 +76,6 @@ module Arelastic
68
76
  range 'lt' => other
69
77
  end
70
78
 
71
- def distance location, distance, options = {}
72
- Arelastic::Filters::GeoDistance.new(field, location, distance, options)
73
- end
74
-
75
79
  private
76
80
  def range options
77
81
  Arelastic::Filters::Range.new field, options
@@ -49,17 +49,25 @@ class Arelastic::Builders::FilterTest < MiniTest::Spec
49
49
  assert_equal expected, builder.exists.as_elastic
50
50
  end
51
51
 
52
- def test_range
53
- expected = {"range" => {"color" => {"lt" => 5}}}
54
- assert_equal expected, builder.lt(5).as_elastic
52
+ def test_present
53
+ expected = {"and" => [{"exists" => {"field"=>"color"}}, {"not" => {"term"=>{"color"=>""}}}]}
54
+ assert_equal expected, builder.present.as_elastic
55
55
  end
56
56
 
57
- def test_distance
58
- expected = {"geo_distance" => {"distance" => "10km", "color" => [10, 11]}}
59
- assert_equal expected, builder.distance([10, 11], '10km').as_elastic
57
+ def test_missing
58
+ expected = {"missing" => {"field" => "color"}}
59
+ assert_equal expected, builder.missing.as_elastic
60
+ end
60
61
 
61
- expected = {"geo_distance" => {"distance" => "10km", "color" => [10, 11], "distance_type" => "plane"}}
62
- assert_equal expected, builder.distance([10, 11], '10km', 'distance_type' => 'plane').as_elastic
62
+ def test_blank
63
+ expected = {"or" => [{"missing" => {"field"=>"color"}}, {"term" => {"color"=>""}}]}
64
+ assert_equal expected, builder.blank.as_elastic
65
+ end
66
+
67
+
68
+ def test_range
69
+ expected = {"range" => {"color" => {"lt" => 5}}}
70
+ assert_equal expected, builder.lt(5).as_elastic
63
71
  end
64
72
 
65
73
  private
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arelastic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-09-11 00:00:00.000000000 Z
12
+ date: 2012-09-12 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: Build Elastic Search queries with objects
15
15
  email: developer@matthewhiggins.com