elastic_queue 0.0.14 → 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.
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 603750b935b0df0fa758f92f3a612ba7f5c4d416
|
|
4
|
+
data.tar.gz: ca508ffff29ebfb462b44912ebca6b7e959947a8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6f8adc215c6e5aa6b8ac0f20b5d09c2bb86c9681be1dd724de5a50efd57cb16e405dbc0ebc8b6c625c424ba3c32884c5758d0ca57bccb6543a03af2b7c0562e3
|
|
7
|
+
data.tar.gz: 3411f0922305b6ad239657262745edb1dde18ac194675f7b350385d2cdb6cd9891c6ef48b677a596a2574a209b0bd9bb6047f3f7b2e9553e1d0f0c498c63bb96
|
data/Gemfile.lock
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
elastic_queue (0.0.
|
|
4
|
+
elastic_queue (0.0.13)
|
|
5
5
|
activerecord (~> 3.0)
|
|
6
6
|
activesupport (~> 3.0)
|
|
7
|
-
elasticsearch (~> 0
|
|
7
|
+
elasticsearch (~> 1.0)
|
|
8
8
|
will_paginate (~> 3.0)
|
|
9
9
|
|
|
10
10
|
GEM
|
|
@@ -31,12 +31,12 @@ GEM
|
|
|
31
31
|
debugger-linecache (1.2.0)
|
|
32
32
|
debugger-ruby_core_source (1.3.2)
|
|
33
33
|
diff-lcs (1.2.5)
|
|
34
|
-
elasticsearch (0.4
|
|
35
|
-
elasticsearch-api (= 0.4
|
|
36
|
-
elasticsearch-transport (= 0.4
|
|
37
|
-
elasticsearch-api (0.4
|
|
34
|
+
elasticsearch (1.0.4)
|
|
35
|
+
elasticsearch-api (= 1.0.4)
|
|
36
|
+
elasticsearch-transport (= 1.0.4)
|
|
37
|
+
elasticsearch-api (1.0.4)
|
|
38
38
|
multi_json
|
|
39
|
-
elasticsearch-transport (0.4
|
|
39
|
+
elasticsearch-transport (1.0.4)
|
|
40
40
|
faraday
|
|
41
41
|
multi_json
|
|
42
42
|
factory_girl (4.4.0)
|
data/elastic_queue.gemspec
CHANGED
|
@@ -20,7 +20,7 @@ Gem::Specification.new do |s|
|
|
|
20
20
|
|
|
21
21
|
s.add_runtime_dependency 'activesupport', '~> 3.0'
|
|
22
22
|
s.add_runtime_dependency 'activerecord', '~>3.0'
|
|
23
|
-
s.add_runtime_dependency 'elasticsearch', '~> 0.4'
|
|
23
|
+
s.add_runtime_dependency 'elasticsearch', '~> 1.0.4'
|
|
24
24
|
s.add_runtime_dependency 'will_paginate', '~> 3.0'
|
|
25
25
|
s.add_development_dependency 'bundler', '~> 1.0'
|
|
26
26
|
s.add_development_dependency 'rspec', '~> 2.6'
|
|
@@ -13,7 +13,7 @@ module ElasticQueue
|
|
|
13
13
|
|
|
14
14
|
def option_to_filter(key, value)
|
|
15
15
|
# return and_options(value) if key == :and
|
|
16
|
-
if [:or, :and
|
|
16
|
+
if [:or, :and].include?(key)
|
|
17
17
|
join_options(key, value)
|
|
18
18
|
elsif value.is_a? Array
|
|
19
19
|
or_filter(key, value)
|
|
@@ -30,7 +30,7 @@ module ElasticQueue
|
|
|
30
30
|
|
|
31
31
|
def join_options(operator, options)
|
|
32
32
|
conditions = options.map { |o| options_to_filters(o) }.flatten
|
|
33
|
-
|
|
33
|
+
{ operator => conditions }
|
|
34
34
|
end
|
|
35
35
|
|
|
36
36
|
def or_filter(term, values)
|
|
@@ -41,11 +41,6 @@ describe 'ElasticQueue::Filters integration' do
|
|
|
41
41
|
expect(TestAnimalsQueue.query.filter(name: 'a').all.map(&:name)).to eq ['a']
|
|
42
42
|
end
|
|
43
43
|
|
|
44
|
-
it 'can filter out one value' do
|
|
45
|
-
@create_animals.call
|
|
46
|
-
expect(TestAnimalsQueue.query.filter(not: [ { name: 'a'} ]).all.map(&:name).sort).to eq ['b', 'c']
|
|
47
|
-
end
|
|
48
|
-
|
|
49
44
|
it 'can filter by a less than or greater than a time' do
|
|
50
45
|
@create_animals.call
|
|
51
46
|
expect(TestAnimalsQueue.query.filter(birthdate: { after: Date.today - 1.year - 1.day }).all.map(&:name)).to eq ['a']
|
|
@@ -115,41 +110,16 @@ describe 'ElasticQueue::Filters integration' do
|
|
|
115
110
|
# (rusty, killer, speedy) && ( rusty || lucky, killer, old bess, cock-a-doodle-doo)
|
|
116
111
|
name: ['rusty', 'killer', 'speedy'], #(rusty, killer, speedy) && (
|
|
117
112
|
or: [
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
]
|
|
113
|
+
and: [ # rusty ||
|
|
114
|
+
{ species: ['dog', 'mountain lion'] },
|
|
115
|
+
{ dangerous: false }
|
|
116
|
+
],
|
|
117
|
+
or: [ #speedy, killer, old bess, cock-a-doodle-doo )
|
|
118
|
+
{ species: ['horse', 'chicken'] },
|
|
119
|
+
{ dangerous: true }
|
|
126
120
|
]
|
|
121
|
+
]
|
|
127
122
|
}).all.map(&:name).sort).to eq ['killer', 'rusty', 'speedy']
|
|
128
123
|
end
|
|
129
|
-
|
|
130
|
-
it 'can nest multiple ands and ors and nots' do
|
|
131
|
-
Animal.create({ name: 'rusty', species: 'dog', dangerous: false })
|
|
132
|
-
Animal.create({ name: 'killer', species: 'mountain lion', dangerous: true })
|
|
133
|
-
Animal.create({ name: 'cock-a-doodle-doo', species: 'chicken', dangerous: false })
|
|
134
|
-
Animal.create({ name: 'old bess', species: 'cow', dangerous: true })
|
|
135
|
-
Animal.create({ name: 'speedy', species: 'horse', dangerous: false })
|
|
136
|
-
expect(TestAnimalsQueue.query.filter({
|
|
137
|
-
#(rusty, killer, speedy, cock-a-doodle-doo) && (! rusty && (rusty || speedy, killer, old bess, cock-a-doodle-doo))
|
|
138
|
-
name: ['rusty', 'killer', 'speedy', 'cock-a-doodle-doo'], #(rusty, killer, speedy, cock-a-doodle-doo) && (
|
|
139
|
-
not: [ # ! rusty &&
|
|
140
|
-
{ name: 'rusty' }
|
|
141
|
-
],
|
|
142
|
-
or: [
|
|
143
|
-
and: [ # (rusty ||
|
|
144
|
-
{ species: ['dog', 'mountain lion'] },
|
|
145
|
-
{ dangerous: false }
|
|
146
|
-
],
|
|
147
|
-
or: [ #speedy, killer, old bess, cock-a-doodle-doo ))
|
|
148
|
-
{ species: ['horse', 'chicken'] },
|
|
149
|
-
{ not: [ { dangerous: false } ] },
|
|
150
|
-
]
|
|
151
|
-
]
|
|
152
|
-
}).all.map(&:name).sort).to eq ['cock-a-doodle-doo', 'killer', 'speedy']
|
|
153
|
-
end
|
|
154
124
|
end
|
|
155
125
|
end
|
|
@@ -47,6 +47,14 @@ describe 'ElasticQueue::Sorts integration' do
|
|
|
47
47
|
expect(TestAnimalsQueue.query.sort(birthdate: 'asc').sort(name: 'desc').all.map(&:name)).to eq ['c', 'b', 'a']
|
|
48
48
|
end
|
|
49
49
|
|
|
50
|
+
it 'sorts ascending and descending on two values using hash syntax' do
|
|
51
|
+
Animal.create({ name: 'a', birthdate: Date.today.at_midnight - 1.year })
|
|
52
|
+
Animal.create({ name: 'b', birthdate: Date.today.at_midnight - 1.years })
|
|
53
|
+
Animal.create({ name: 'c', birthdate: Date.today.at_midnight - 3.years })
|
|
54
|
+
expect(TestAnimalsQueue.query.sort(birthdate: :asc, name: :asc).all.map(&:name)).to eq ['c', 'a', 'b']
|
|
55
|
+
expect(TestAnimalsQueue.query.sort(birthdate: :asc, name: :desc).all.map(&:name)).to eq ['c', 'b', 'a']
|
|
56
|
+
end
|
|
57
|
+
|
|
50
58
|
it 'doesn\'t fail to sort because of stopwords' do
|
|
51
59
|
Animal.create({ name: 'and' })
|
|
52
60
|
Animal.create({ name: 'or' })
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: elastic_queue
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0
|
|
4
|
+
version: 0.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ruth Thompson
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2014-07-
|
|
12
|
+
date: 2014-07-18 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: activesupport
|
|
@@ -45,14 +45,14 @@ dependencies:
|
|
|
45
45
|
requirements:
|
|
46
46
|
- - "~>"
|
|
47
47
|
- !ruby/object:Gem::Version
|
|
48
|
-
version:
|
|
48
|
+
version: 1.0.4
|
|
49
49
|
type: :runtime
|
|
50
50
|
prerelease: false
|
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
|
52
52
|
requirements:
|
|
53
53
|
- - "~>"
|
|
54
54
|
- !ruby/object:Gem::Version
|
|
55
|
-
version:
|
|
55
|
+
version: 1.0.4
|
|
56
56
|
- !ruby/object:Gem::Dependency
|
|
57
57
|
name: will_paginate
|
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|