arelastic 0.6.2 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 19fd422e32ed10c3b06cf42899be823aa572f3f4
4
- data.tar.gz: 788eb544a81da91a65167e9c191e32accddc4e01
3
+ metadata.gz: b7e6147284908ea72345b434db648ed51a887286
4
+ data.tar.gz: a992f57aee01a9b9541ceb4f844c0ca8a7ee1318
5
5
  SHA512:
6
- metadata.gz: dff41431f73015db002c064f520afbc9ab0cd356001b096771b715017780633aa0ebee51c9b34ee49ff255f3ce3d4b48ad09b55dcd536914bf0c86620f2c0af8
7
- data.tar.gz: d4f20c2d662d0d91b0f0041c211df3ef7c7d8d1027de11792a1071ea0e5c06f6e4457ea749da018bb6774e8a97683dd7fa320f14076e0e2a5448d528eab32bee
6
+ metadata.gz: 8bf09de6b0fabf1834878b3ee0e7194a952e60f0a2b99ba177e4c399af754ccc46ca69a437a5503aacf555221a74f479b5b03f392f18aaab69dc84defca5d9aa
7
+ data.tar.gz: 274c22454a4a8b1646e2a71069dc004671ee87d363b988701f9cb11d553b97114c9b58d2b8719163000e5c4ae57b86ba6e9b4e0b3109080f22f2e5e79214dec6
@@ -10,8 +10,8 @@ module Arelastic
10
10
  query Arelastic::Queries::ConstantScore.new(search)
11
11
  end
12
12
 
13
- def filtered(query, filter)
14
- query Arelastic::Queries::Filtered.new(query, filter)
13
+ def filtered(query: nil, filter: nil)
14
+ query Arelastic::Queries::Filtered.new(query: query, filter: filter)
15
15
  end
16
16
 
17
17
  def match_all
@@ -2,19 +2,18 @@ module Arelastic
2
2
  module Queries
3
3
  class Filtered < Arelastic::Queries::Query
4
4
  attr_accessor :query, :filter
5
- def initialize(query, filter)
5
+ def initialize(query: nil, filter: nil)
6
6
  @query = query
7
7
  @filter = filter
8
8
  end
9
9
 
10
10
  def as_elastic
11
- {
12
- "filtered" => {
13
- "query" => convert_to_elastic(query),
14
- "filter" => convert_to_elastic(filter)
15
- }
16
- }
11
+ searches = {}
12
+ searches['query'] = convert_to_elastic(query) if query
13
+ searches['filter'] = convert_to_elastic(filter) if filter
14
+
15
+ { "filtered" => searches }
17
16
  end
18
17
  end
19
18
  end
20
- end
19
+ end
@@ -9,7 +9,10 @@ class Arelastic::Builders::QueryTest < MiniTest::Unit::TestCase
9
9
  end
10
10
 
11
11
  def test_filtered
12
- query = Arelastic::Builders::Query.filtered({"query_string" => "foo"}, {"term" => "bar"})
12
+ query = Arelastic::Builders::Query.filtered(
13
+ query: {"query_string" => "foo"},
14
+ filter: {"term" => "bar"}
15
+ )
13
16
  expected = {"query" => {"filtered" => {"query" => {"query_string" => "foo"}, "filter" => {"term" => "bar"}}}}
14
17
 
15
18
  assert_equal expected, query.as_elastic
@@ -43,14 +46,14 @@ class Arelastic::Builders::QueryTest < MiniTest::Unit::TestCase
43
46
  def test_terms
44
47
  query = Arelastic::Builders::Query['tags'].terms ['blue', 'pill']
45
48
  expected = {"terms" => { "tags" => ["blue", "pill"] }}
46
-
49
+
47
50
  assert_equal expected, query.as_elastic
48
51
  end
49
52
 
50
53
  def test_match
51
54
  query = Arelastic::Builders::Query['message'].match "hello"
52
55
  expected = {"match" => { "message" => "hello" }}
53
-
56
+
54
57
  assert_equal expected, query.as_elastic
55
58
  end
56
- end
59
+ end
@@ -2,9 +2,19 @@ require 'helper'
2
2
 
3
3
  class Arelastic::Queries::FilteredTest < MiniTest::Unit::TestCase
4
4
  def test_as_elastic
5
- filtered = Arelastic::Queries::Filtered.new({"query_string" => "bar"}, {"term" => "baz"})
5
+ filtered = Arelastic::Queries::Filtered.new(
6
+ query: {"query_string" => "bar"},
7
+ filter: {"term" => "baz"}
8
+ )
6
9
  expected = {"filtered" => {"query" => {"query_string" => "bar"}, "filter" => {"term" => "baz"}}}
7
10
 
8
11
  assert_equal expected, filtered.as_elastic
9
12
  end
10
- end
13
+
14
+ def test_as_elastic_with_query_node
15
+ filtered = Arelastic::Queries::Filtered.new(query: Arelastic::Queries::QueryString.new("bar"))
16
+ expected = {"filtered" => {"query" => {"query_string" => {"query"=>"bar"}}}}
17
+
18
+ assert_equal expected, filtered.as_elastic
19
+ end
20
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arelastic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.2
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew Higgins
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-20 00:00:00.000000000 Z
11
+ date: 2015-01-23 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Build Elastic Search queries with objects
14
14
  email: developer@matthewhiggins.com