elastic_queue 0.0.14 → 0.1.0

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: 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