elasticsearch-dsl-builder 0.0.13 → 0.0.14

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: f0b148414b20b6644d211ecbc5ee92c7423888f5
4
- data.tar.gz: 9db8534bc5557fc4d9c51fa9117c17ed675e5249
3
+ metadata.gz: d4b68f810a7e501951cafe0ace207769c6c03d36
4
+ data.tar.gz: d25a1c5fdccf86444559be220f9a3464ec488a85
5
5
  SHA512:
6
- metadata.gz: 94ae776602bde608971ef7ea3b1b240977a45cf88d3eb39c163208ea468bc0c92d265f699a8b4386689dd9ee4e0ff80eb8c89cb28d9e3815dc39210e39deb0fe
7
- data.tar.gz: e1004ac5a0d17335e44cd3e3e65ea2e99e97645322db273015500f1142b8c1e27c76f764e5458cf2f897ef3fb7e12807d78e0c78099938167e578242baf7db31
6
+ metadata.gz: f6b5b0f60006cd83e625489ea03b14ac26fe47fc9dc30e0f31686eb39e23d3cb2e6618cd060fbf0401998aed156ad2b9df696d38bb3e942ddd3f8774dd6f0e7f
7
+ data.tar.gz: d08ed977c1887649bae135bd57b90b5bbb718ad979cdc9c012b0fa96b675cc036fe0773b7face50156c87d0c499566756f42a9fba3a74b613dea1e8e6d83af02
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- elasticsearch-dsl-builder (0.0.13)
4
+ elasticsearch-dsl-builder (0.0.14)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'elasticsearch-dsl-builder'
3
- s.version = '0.0.13'
3
+ s.version = '0.0.14'
4
4
  s.date = '2017-10-06'
5
5
  s.summary = 'Library utilizing builder pattern providing Ruby API for the Elasticsearch Query DSL'
6
6
  s.description = 'TBD'
@@ -0,0 +1,34 @@
1
+ module ElasticsearchDslBuilder
2
+ module DSL
3
+ module Search
4
+ module Queries
5
+ class Wildcard < Query
6
+ def initialize(field = nil, value = nil)
7
+ @type = :wildcard
8
+ field(field)
9
+ value(value)
10
+ super()
11
+ end
12
+
13
+ def field(field)
14
+ field_valid = field.instance_of?(String) || field.instance_of?(Symbol)
15
+ raise ArgumentError, 'field must be a String or Symbol' unless field_valid
16
+ @field = field.to_sym
17
+ self
18
+ end
19
+
20
+ def value(value)
21
+ raise ArgumentError, 'value must be a String' unless value.instance_of?(String)
22
+ @value = value
23
+ self
24
+ end
25
+
26
+ def to_hash
27
+ @query = { @field => @value }
28
+ super
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,20 @@
1
+ require 'spec_helper'
2
+
3
+ describe ElasticsearchDslBuilder::DSL::Search::Queries::Wildcard do
4
+ it 'should fail if field not a String or Symbol' do
5
+ expect { Queries::Wildcard.new(123, 'value') }.to raise_error(ArgumentError)
6
+ expect { Queries::Wildcard.new(nil, 'value') }.to raise_error(ArgumentError)
7
+ expect { Queries::Wildcard.new('field_a', 'value').field({}) }.to raise_error(ArgumentError)
8
+ end
9
+
10
+ it 'should fail if value argument not a String' do
11
+ expect { Queries::Wildcard.new('field_a', 123) }.to raise_error(ArgumentError)
12
+ expect { Queries::Wildcard.new('field_a', nil) }.to raise_error(ArgumentError)
13
+ expect { Queries::Wildcard.new('field_a', 'value').value({}) }.to raise_error(ArgumentError)
14
+ end
15
+
16
+ it 'should chain create valid ES query hash' do
17
+ match = Queries::Wildcard.new(:field_a, 'value')
18
+ expect(match.to_hash).to eq(wildcard: { field_a: 'value' })
19
+ end
20
+ 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.13
4
+ version: 0.0.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marvin Guerra
@@ -98,6 +98,7 @@ files:
98
98
  - lib/elasticsearch_dsl_builder/dsl/search/queries/range.rb
99
99
  - lib/elasticsearch_dsl_builder/dsl/search/queries/term.rb
100
100
  - lib/elasticsearch_dsl_builder/dsl/search/queries/terms.rb
101
+ - lib/elasticsearch_dsl_builder/dsl/search/queries/wildcard.rb
101
102
  - lib/elasticsearch_dsl_builder/dsl/search/query.rb
102
103
  - lib/elasticsearch_dsl_builder/dsl/search/sort.rb
103
104
  - lib/elasticsearch_dsl_builder/dsl/version.rb
@@ -115,6 +116,7 @@ files:
115
116
  - spec/lib/dsl/search/queries/range_spec.rb
116
117
  - spec/lib/dsl/search/queries/term_spec.rb
117
118
  - spec/lib/dsl/search/queries/terms_spec.rb
119
+ - spec/lib/dsl/search/queries/wildcard_spec.rb
118
120
  - spec/lib/dsl/search/sort_spec.rb
119
121
  - spec/lib/dsl/search_spec.rb
120
122
  - spec/lib/dsl_spec.rb
@@ -159,6 +161,7 @@ test_files:
159
161
  - spec/lib/dsl/search/queries/range_spec.rb
160
162
  - spec/lib/dsl/search/queries/term_spec.rb
161
163
  - spec/lib/dsl/search/queries/terms_spec.rb
164
+ - spec/lib/dsl/search/queries/wildcard_spec.rb
162
165
  - spec/lib/dsl/search/sort_spec.rb
163
166
  - spec/lib/dsl/search_spec.rb
164
167
  - spec/lib/dsl_spec.rb