elasticsearch-dsl-builder 0.0.21 → 0.0.22
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e9a0db02cb94d7641185730a46a6aa09be5a4a23
|
4
|
+
data.tar.gz: 4f71c26569e4ddf679dadb16f70b50484746167c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 624c9750e42d09530ea7a6a273de272bc874ed7e0876a46507be9d700a0b9aff95f2d8373360da0b5b552604af8177d96a77d0311b71ddab7122418f515b850b
|
7
|
+
data.tar.gz: 340f67d7df01dee82d8dc35778d87b12042eeac61ae8b8a629eacee335680692d32bb8ca050ccf6065460c57a07267987fdfce3dd366c7dc6c7dc40b9d56d1fe
|
data/Gemfile.lock
CHANGED
@@ -0,0 +1,37 @@
|
|
1
|
+
module ElasticsearchDslBuilder
|
2
|
+
module DSL
|
3
|
+
module Search
|
4
|
+
module Queries
|
5
|
+
class Ids < Query
|
6
|
+
def initialize(values = nil)
|
7
|
+
@type = :ids
|
8
|
+
values(values)
|
9
|
+
super()
|
10
|
+
end
|
11
|
+
|
12
|
+
def type(*types)
|
13
|
+
types = types.flatten
|
14
|
+
types_valid = !types.empty? && types.all? { |f| f.instance_of?(String) }
|
15
|
+
raise ArgumentError, 'must pass at least 1 String type' unless types_valid
|
16
|
+
@types ||= []
|
17
|
+
@types.concat types
|
18
|
+
self
|
19
|
+
end
|
20
|
+
|
21
|
+
def values(*values)
|
22
|
+
values = values.flatten
|
23
|
+
raise ArgumentError, 'values must be a non-empty Array' if values.empty? || values.any?(&:nil?)
|
24
|
+
@values = values
|
25
|
+
self
|
26
|
+
end
|
27
|
+
|
28
|
+
def to_hash
|
29
|
+
@query = { values: @values }
|
30
|
+
@query.update(type: @types) if @types
|
31
|
+
super
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe ElasticsearchDslBuilder::DSL::Search::Queries::Ids do
|
4
|
+
it 'should fail if type not valid' do
|
5
|
+
expect { Queries::Ids.new([1, 2]).type(nil) }.to raise_error(ArgumentError)
|
6
|
+
expect { Queries::Ids.new([1, 2]).type([]) }.to raise_error(ArgumentError)
|
7
|
+
expect { Queries::Ids.new([1, 2]).type(1) }.to raise_error(ArgumentError)
|
8
|
+
end
|
9
|
+
|
10
|
+
it 'should fail if values not valid' do
|
11
|
+
expect { Queries::Ids.new(nil) }.to raise_error(ArgumentError)
|
12
|
+
expect { Queries::Ids.new([]) }.to raise_error(ArgumentError)
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'should chain create valid ES query hash' do
|
16
|
+
ids = Queries::Ids.new([1, 2]).type('type_a', 'type_b')
|
17
|
+
expect(ids.to_hash).to eq(ids: { type: ['type_a', 'type_b'], values: [1, 2] })
|
18
|
+
end
|
19
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: elasticsearch-dsl-builder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.22
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marvin Guerra
|
@@ -105,6 +105,7 @@ files:
|
|
105
105
|
- lib/elasticsearch_dsl_builder/dsl/search/queries/geo_bounding_box.rb
|
106
106
|
- lib/elasticsearch_dsl_builder/dsl/search/queries/has_child.rb
|
107
107
|
- lib/elasticsearch_dsl_builder/dsl/search/queries/has_parent.rb
|
108
|
+
- lib/elasticsearch_dsl_builder/dsl/search/queries/ids.rb
|
108
109
|
- lib/elasticsearch_dsl_builder/dsl/search/queries/match.rb
|
109
110
|
- lib/elasticsearch_dsl_builder/dsl/search/queries/match_all.rb
|
110
111
|
- lib/elasticsearch_dsl_builder/dsl/search/queries/multi_match.rb
|
@@ -138,6 +139,7 @@ files:
|
|
138
139
|
- spec/lib/dsl/search/queries/geo_bounding_box_spec.rb
|
139
140
|
- spec/lib/dsl/search/queries/has_child_spec.rb
|
140
141
|
- spec/lib/dsl/search/queries/has_parent_spec.rb
|
142
|
+
- spec/lib/dsl/search/queries/ids_spec.rb
|
141
143
|
- spec/lib/dsl/search/queries/match_all_spec.rb
|
142
144
|
- spec/lib/dsl/search/queries/match_spec.rb
|
143
145
|
- spec/lib/dsl/search/queries/multi_match_spec.rb
|
@@ -198,6 +200,7 @@ test_files:
|
|
198
200
|
- spec/lib/dsl/search/queries/geo_bounding_box_spec.rb
|
199
201
|
- spec/lib/dsl/search/queries/has_child_spec.rb
|
200
202
|
- spec/lib/dsl/search/queries/has_parent_spec.rb
|
203
|
+
- spec/lib/dsl/search/queries/ids_spec.rb
|
201
204
|
- spec/lib/dsl/search/queries/match_all_spec.rb
|
202
205
|
- spec/lib/dsl/search/queries/match_spec.rb
|
203
206
|
- spec/lib/dsl/search/queries/multi_match_spec.rb
|