CloudSesame 0.6.4 → 0.6.5
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.
- checksums.yaml +4 -4
- data/.gitignore +5 -3
- data/.rubocop.yml +1158 -0
- data/.travis.yml +11 -0
- data/Gemfile.lock +28 -1
- data/Guardfile +6 -1
- data/README.md +6 -1
- data/cloud_sesame.gemspec +4 -2
- data/coverage/.last_run.json +5 -0
- data/coverage/.resultset.json +2423 -0
- data/coverage/.resultset.json.lock +0 -0
- data/lib/cloud_sesame.rb +4 -5
- data/lib/cloud_sesame/domain/base.rb +46 -33
- data/lib/cloud_sesame/domain/client_module/caching/base.rb +1 -1
- data/lib/cloud_sesame/query/ast/near.rb +1 -1
- data/lib/cloud_sesame/query/ast/operator.rb +1 -1
- data/lib/cloud_sesame/query/ast/range_value.rb +23 -30
- data/lib/cloud_sesame/query/ast/single_expression_operator.rb +1 -1
- data/lib/cloud_sesame/query/ast/value.rb +18 -4
- data/lib/cloud_sesame/query/domain/block.rb +2 -2
- data/lib/cloud_sesame/query/domain/literal.rb +1 -1
- data/lib/cloud_sesame/query/dsl/applied_filter_query.rb +21 -23
- data/lib/cloud_sesame/query/dsl/field_accessors.rb +8 -3
- data/lib/cloud_sesame/query/dsl/response_methods.rb +2 -2
- data/lib/cloud_sesame/query/dsl/scope_accessors.rb +1 -1
- data/lib/cloud_sesame/query/node/fuzziness.rb +11 -13
- data/lib/cloud_sesame/query/node/query.rb +9 -10
- data/lib/cloud_sesame/query/node/request.rb +2 -2
- data/lib/cloud_sesame/query/node/sloppiness.rb +23 -0
- data/spec/cloud_sesame/config/credential_spec.rb +76 -0
- data/spec/cloud_sesame/domain/base_spec.rb +274 -9
- data/spec/cloud_sesame/domain/client_spec.rb +0 -1
- data/spec/cloud_sesame/query/domain/block_spec.rb +0 -1
- data/spec/cloud_sesame/query/node/query_spec.rb +18 -7
- data/spec/cloud_sesame_spec.rb +10 -10
- data/spec/spec_helper.rb +3 -0
- metadata +38 -3
- data/lib/cloud_sesame/domain/context.rb +0 -39
@@ -19,7 +19,6 @@ module CloudSesame
|
|
19
19
|
context 'when calling it first time' do
|
20
20
|
before { Client.instance_variable_set(:@global_config, nil) }
|
21
21
|
it 'should initialize an config object on first call' do
|
22
|
-
config = Config.new
|
23
22
|
expect(Config).to receive(:new)
|
24
23
|
Client.global_config
|
25
24
|
end
|
@@ -33,16 +33,27 @@ module CloudSesame
|
|
33
33
|
end
|
34
34
|
|
35
35
|
describe '#compile' do
|
36
|
-
|
37
|
-
fuzziness
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
36
|
+
context 'when fuzziness is defined' do
|
37
|
+
it 'should parse with fuzziness' do
|
38
|
+
fuzziness = Fuzziness.new
|
39
|
+
node = Query.new(fuzziness: fuzziness)
|
40
|
+
node.query = ["term1", "someterm2", "verylongterm3", "-excluded_term4"].join(' ')
|
41
|
+
expect(fuzziness).to receive(:compile).with(node.query).and_call_original
|
42
|
+
expect(node.compile).to eq(query: "(term1 someterm2 verylongterm3 -excluded_term4)|(term1+someterm2~2+verylongterm3~2+-excluded_term4)")
|
43
|
+
end
|
44
|
+
end
|
45
|
+
context 'when sloppiness is defined' do
|
46
|
+
it 'should parse with sloppiness' do
|
47
|
+
sloppiness = Sloppiness.new(4)
|
48
|
+
node = Query.new(sloppiness: sloppiness)
|
49
|
+
node.query = ["term1", "term2", "term3", "-term4"].join(' ')
|
50
|
+
expect(sloppiness).to receive(:compile).with(node.query).and_call_original
|
51
|
+
expect(node.compile).to eq(query: "(term1 term2 term3 -term4)|\"term1 term2 term3 -term4\"~4")
|
52
|
+
end
|
42
53
|
end
|
43
54
|
it 'should return a serialized hash contains query string' do
|
44
55
|
node.query = ["term1", "term2", "term3", "-term4"].join(' ')
|
45
|
-
expect(node.compile).to eq({ query: "term1 term2 term3 -term4" })
|
56
|
+
expect(node.compile).to eq({ query: "(term1 term2 term3 -term4)" })
|
46
57
|
end
|
47
58
|
end
|
48
59
|
|
data/spec/cloud_sesame_spec.rb
CHANGED
@@ -110,12 +110,12 @@
|
|
110
110
|
|
111
111
|
# end
|
112
112
|
|
113
|
-
# @tags = [1, 2]
|
114
|
-
# n = 10_000
|
115
|
-
#
|
116
|
-
# result = RubyProf.profile do
|
117
|
-
#
|
118
|
-
# q = Product.cloudsearch.query("black
|
113
|
+
# # @tags = [1, 2]
|
114
|
+
# # n = 10_000
|
115
|
+
# # q = nil
|
116
|
+
# # result = RubyProf.profile do
|
117
|
+
# # n.times do
|
118
|
+
# q = Product.cloudsearch.query("black jacket").sort(price: :asc).page(1).size(1000)
|
119
119
|
# .price { gt 100 }
|
120
120
|
# .and {
|
121
121
|
# or! {
|
@@ -147,10 +147,10 @@
|
|
147
147
|
# }
|
148
148
|
# }
|
149
149
|
|
150
|
-
#
|
151
|
-
# end
|
152
|
-
# printer = RubyProf::FlatPrinter.new(result)
|
153
|
-
# printer.print(STDOUT, {})
|
150
|
+
# # end
|
151
|
+
# # end
|
152
|
+
# # printer = RubyProf::FlatPrinter.new(result)
|
153
|
+
# # printer.print(STDOUT, {})
|
154
154
|
|
155
155
|
# binding.pry
|
156
156
|
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: CloudSesame
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Scott Chu
|
@@ -16,7 +16,7 @@ authors:
|
|
16
16
|
autorequire:
|
17
17
|
bindir: bin
|
18
18
|
cert_chain: []
|
19
|
-
date: 2016-02-
|
19
|
+
date: 2016-02-16 00:00:00.000000000 Z
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
22
|
name: aws-sdk
|
@@ -102,6 +102,34 @@ dependencies:
|
|
102
102
|
- - ">="
|
103
103
|
- !ruby/object:Gem::Version
|
104
104
|
version: '0'
|
105
|
+
- !ruby/object:Gem::Dependency
|
106
|
+
name: guard-rubocop
|
107
|
+
requirement: !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - ">="
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: '0'
|
112
|
+
type: :development
|
113
|
+
prerelease: false
|
114
|
+
version_requirements: !ruby/object:Gem::Requirement
|
115
|
+
requirements:
|
116
|
+
- - ">="
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: '0'
|
119
|
+
- !ruby/object:Gem::Dependency
|
120
|
+
name: codeclimate-test-reporter
|
121
|
+
requirement: !ruby/object:Gem::Requirement
|
122
|
+
requirements:
|
123
|
+
- - ">="
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
126
|
+
type: :development
|
127
|
+
prerelease: false
|
128
|
+
version_requirements: !ruby/object:Gem::Requirement
|
129
|
+
requirements:
|
130
|
+
- - ">="
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
version: '0'
|
105
133
|
description: AWS CloudSearch Query DSL
|
106
134
|
email: dev@retailcommon.com
|
107
135
|
executables: []
|
@@ -110,11 +138,16 @@ extra_rdoc_files: []
|
|
110
138
|
files:
|
111
139
|
- ".gitignore"
|
112
140
|
- ".rspec"
|
141
|
+
- ".rubocop.yml"
|
142
|
+
- ".travis.yml"
|
113
143
|
- Gemfile
|
114
144
|
- Gemfile.lock
|
115
145
|
- Guardfile
|
116
146
|
- README.md
|
117
147
|
- cloud_sesame.gemspec
|
148
|
+
- coverage/.last_run.json
|
149
|
+
- coverage/.resultset.json
|
150
|
+
- coverage/.resultset.json.lock
|
118
151
|
- lib/abstract_object.rb
|
119
152
|
- lib/active_support/core_ext/object/deep_dup.rb
|
120
153
|
- lib/active_support/core_ext/object/duplicable.rb
|
@@ -129,7 +162,6 @@ files:
|
|
129
162
|
- lib/cloud_sesame/domain/client_module/caching/rails_cache.rb
|
130
163
|
- lib/cloud_sesame/domain/client_module/retry.rb
|
131
164
|
- lib/cloud_sesame/domain/config.rb
|
132
|
-
- lib/cloud_sesame/domain/context.rb
|
133
165
|
- lib/cloud_sesame/domain/error/caching.rb
|
134
166
|
- lib/cloud_sesame/query/ast/and.rb
|
135
167
|
- lib/cloud_sesame/query/ast/date_value.rb
|
@@ -180,10 +212,12 @@ files:
|
|
180
212
|
- lib/cloud_sesame/query/node/query_parser.rb
|
181
213
|
- lib/cloud_sesame/query/node/request.rb
|
182
214
|
- lib/cloud_sesame/query/node/return.rb
|
215
|
+
- lib/cloud_sesame/query/node/sloppiness.rb
|
183
216
|
- lib/cloud_sesame/query/node/sort.rb
|
184
217
|
- lib/cloud_sesame/query/scope.rb
|
185
218
|
- profiler.rb
|
186
219
|
- spec/abstract_object_spec.rb
|
220
|
+
- spec/cloud_sesame/config/credential_spec.rb
|
187
221
|
- spec/cloud_sesame/domain/base_spec.rb
|
188
222
|
- spec/cloud_sesame/domain/client_module/caching/base_spec.rb
|
189
223
|
- spec/cloud_sesame/domain/client_module/caching/no_cache_spec.rb
|
@@ -241,6 +275,7 @@ specification_version: 4
|
|
241
275
|
summary: AWS CloudSearch Query DSL
|
242
276
|
test_files:
|
243
277
|
- spec/abstract_object_spec.rb
|
278
|
+
- spec/cloud_sesame/config/credential_spec.rb
|
244
279
|
- spec/cloud_sesame/domain/base_spec.rb
|
245
280
|
- spec/cloud_sesame/domain/client_module/caching/base_spec.rb
|
246
281
|
- spec/cloud_sesame/domain/client_module/caching/no_cache_spec.rb
|
@@ -1,39 +0,0 @@
|
|
1
|
-
# module CloudSesame
|
2
|
-
# module Domain
|
3
|
-
# class Context
|
4
|
-
|
5
|
-
# attr_reader :table
|
6
|
-
|
7
|
-
# def initialize(table = {})
|
8
|
-
# @table = table
|
9
|
-
# end
|
10
|
-
|
11
|
-
# def [](key, find_or_create = false)
|
12
|
-
# table[key] ||= default_value(find_or_create)
|
13
|
-
# end
|
14
|
-
|
15
|
-
# def []=(key, value)
|
16
|
-
# table[key] = value
|
17
|
-
# end
|
18
|
-
|
19
|
-
# def delete(key)
|
20
|
-
# table.delete key
|
21
|
-
# end
|
22
|
-
|
23
|
-
# def each(&block)
|
24
|
-
# table.each &block
|
25
|
-
# end
|
26
|
-
|
27
|
-
# def map(&block)
|
28
|
-
# table.map &block
|
29
|
-
# end
|
30
|
-
|
31
|
-
# private
|
32
|
-
|
33
|
-
# def default_value(data)
|
34
|
-
# data != true ? data : Context.new if data
|
35
|
-
# end
|
36
|
-
|
37
|
-
# end
|
38
|
-
# end
|
39
|
-
# end
|