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: d769bd3556106cd8ba5b46f4431c240c9224f09b
4
- data.tar.gz: abafb1ff884a54e50f1d2fccaf89828f4d344790
3
+ metadata.gz: 603750b935b0df0fa758f92f3a612ba7f5c4d416
4
+ data.tar.gz: ca508ffff29ebfb462b44912ebca6b7e959947a8
5
5
  SHA512:
6
- metadata.gz: 6354f5f3e4b483aa664ac99d61c8a1de523835f550869315d0d47aa8741a80209142eb694adfc64960de6c24c468467704294b4bb8a45c430f0597595ae7c68e
7
- data.tar.gz: 336a51bb66c21ddef868b4dc0a1483827a13e245bb51846af5852243c328f284c12a442f8169759b1b069804fd62a5f31805dc506ad757c94f89d60caa1d2bfe
6
+ metadata.gz: 6f8adc215c6e5aa6b8ac0f20b5d09c2bb86c9681be1dd724de5a50efd57cb16e405dbc0ebc8b6c625c424ba3c32884c5758d0ca57bccb6543a03af2b7c0562e3
7
+ data.tar.gz: 3411f0922305b6ad239657262745edb1dde18ac194675f7b350385d2cdb6cd9891c6ef48b677a596a2574a209b0bd9bb6047f3f7b2e9553e1d0f0c498c63bb96
@@ -1,10 +1,10 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- elastic_queue (0.0.14)
4
+ elastic_queue (0.0.13)
5
5
  activerecord (~> 3.0)
6
6
  activesupport (~> 3.0)
7
- elasticsearch (~> 0.4)
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.11)
35
- elasticsearch-api (= 0.4.11)
36
- elasticsearch-transport (= 0.4.11)
37
- elasticsearch-api (0.4.11)
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.11)
39
+ elasticsearch-transport (1.0.4)
40
40
  faraday
41
41
  multi_json
42
42
  factory_girl (4.4.0)
@@ -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, :not].include?(key)
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
- operator == :not ? { not: { filter: { and: conditions } } } : { operator => conditions }
33
+ { operator => conditions }
34
34
  end
35
35
 
36
36
  def or_filter(term, values)
@@ -1,4 +1,3 @@
1
1
  module ElasticQueue
2
- VERSION = '0.0.14'
3
- end
4
-
2
+ VERSION = '0.1.0'
3
+ end
@@ -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
- and: [ # rusty ||
119
- { species: ['dog', 'mountain lion'] },
120
- { dangerous: false }
121
- ],
122
- or: [ #speedy, killer, old bess, cock-a-doodle-doo )
123
- { species: ['horse', 'chicken'] },
124
- { dangerous: true }
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.14
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-25 00:00:00.000000000 Z
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: '0.4'
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: '0.4'
55
+ version: 1.0.4
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: will_paginate
58
58
  requirement: !ruby/object:Gem::Requirement