tire 0.5.5 → 0.5.6

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.
data/lib/tire/version.rb CHANGED
@@ -1,14 +1,11 @@
1
1
  module Tire
2
- VERSION = "0.5.5"
2
+ VERSION = "0.5.6"
3
3
 
4
4
  CHANGELOG =<<-END
5
5
  IMPORTANT CHANGES LATELY:
6
6
 
7
- * Improved documentation
8
- * Improved isolation of Tire methods in model integrations
9
- * Improved handling of times/dates in `Model::Persistence`
10
- * Added support for "Put Mapping" and "Delete mapping" APIs
11
- * Added escaping document IDs in URLs
12
- * Allowed passing URL options when passing search definition as a Hash
7
+ * Added support for the `constant_score` query
8
+ * Prevent `Curl::Err::MultiBadEasyHandle` errors in the Curb client
9
+ * Refactored the model importing integration and Rake tasks
13
10
  END
14
11
  end
@@ -600,6 +600,7 @@ module Tire
600
600
  setup do
601
601
  ActiveRecordModelWithPercolation.index.register_percolator_query('alert') { string 'warning' }
602
602
  Tire.index('_percolator').refresh
603
+ sleep 0.2
603
604
  end
604
605
 
605
606
  should "return matching queries when percolating" do
@@ -10,19 +10,56 @@ module Tire
10
10
  should "allow to set multiple queries per condition" do
11
11
  s = Tire.search('articles-test') do
12
12
  query do
13
- boosting(:negative_boost => 0.2) do
14
- positive do
15
- string "Two One"
16
- end
17
- negative do
18
- term :tags, 'python'
19
- end
13
+ boosting negative_boost: 0.2 do
14
+ positive { string "title:Two title:One tags:ruby tags:python" }
15
+ negative { term :tags, 'python' }
20
16
  end
21
17
  end
22
18
  end
23
19
 
24
20
  assert_equal 'One', s.results[0].title
25
- assert_equal 'Two', s.results[1].title
21
+ assert_equal 'Two', s.results[1].title # Matches 'python', so is demoted
22
+ end
23
+
24
+ context "in the featured results scenario" do
25
+ setup do
26
+ # Tire.configure { logger STDERR }
27
+ @index = Tire.index('featured-results-test') do
28
+ delete; create
29
+ store title: 'Kitchen special tool', featured: true
30
+ store title: 'Kitchen tool tool tool', featured: false
31
+ store title: 'Garage tool', featured: false
32
+ refresh
33
+ end
34
+ end
35
+
36
+ teardown do
37
+ @index.delete
38
+ end
39
+
40
+ should "return featured results first" do
41
+ s = Tire.search('featured-results-test') do
42
+ query do
43
+ boosting negative_boost: 0.1 do
44
+ positive do
45
+ match :title, 'tool'
46
+ end
47
+ # The `negative` query runs _within_ the results of the `positive` query,
48
+ # and "rescores" the documents which match it, lowering their score.
49
+ negative do
50
+ filtered do
51
+ query { match :title, 'kitchen' }
52
+ filter :term, featured: false
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
58
+
59
+ assert_equal 'Garage tool', s.results[0].title # Non-kitchen first
60
+ assert_equal 'Kitchen special tool', s.results[1].title # Featured first
61
+ assert_equal 'Kitchen tool tool tool', s.results[2].title # Rest
62
+ end
26
63
  end
27
64
 
28
65
  end
@@ -0,0 +1,66 @@
1
+ require 'test_helper'
2
+
3
+ module Tire
4
+
5
+ class ConstantScoreQueriesIntegrationTest < Test::Unit::TestCase
6
+ include Test::Integration
7
+ context "Constant score queries" do
8
+
9
+ should "return the same score for all results" do
10
+ s = Tire.search('articles-test') do
11
+ query do
12
+ constant_score do
13
+ query do
14
+ terms :tags, ['ruby', 'python']
15
+ end
16
+ end
17
+ end
18
+ end
19
+
20
+ assert_equal 2, s.results.size
21
+ assert s.results[0]._score == s.results[1]._score
22
+ end
23
+
24
+ context "in the featured results scenario" do
25
+ # Adapted from: http://www.fullscale.co/blog/2013/01/24/Implementing_Featured_Results_With_ElasticSearch.html
26
+ setup do
27
+ @index = Tire.index('featured-results-test') do
28
+ delete; create
29
+ store title: 'Kitchen special tool', featured: true
30
+ store title: 'Kitchen tool tool tool', featured: false
31
+ store title: 'Garage tool', featured: false
32
+ refresh
33
+ end
34
+ end
35
+
36
+ teardown do
37
+ @index.delete
38
+ end
39
+
40
+
41
+ should "return featured results first" do
42
+ s = Tire.search('featured-results-test') do
43
+ query do
44
+ boolean do
45
+ should do
46
+ constant_score do
47
+ query { match :title, 'tool' }
48
+ filter :term, featured: true
49
+ boost 100
50
+ end
51
+ end
52
+ should do
53
+ match :title, 'tool'
54
+ end
55
+ end
56
+ end
57
+ end
58
+
59
+ assert_equal 'Kitchen special tool', s.results[0].title
60
+ assert_equal 'Kitchen tool tool tool', s.results[1].title
61
+ end
62
+ end
63
+
64
+ end
65
+ end
66
+ end
@@ -13,7 +13,7 @@ module Tire
13
13
 
14
14
  assert_equal 2, s.results.count
15
15
  assert_equal 2, s.results.facets['tags']['count']
16
- assert_match /_search\?pretty' -d '{/, s.to_curl, 'Make sure to ignore payload in URL params'
16
+ assert_match %r|articles-test/_search\?pretty' -d '{|, s.to_curl, 'Make sure to ignore payload in URL params'
17
17
  end
18
18
 
19
19
  should "allow passing URL parameters" do
@@ -21,7 +21,14 @@ module Tire
21
21
 
22
22
  assert_equal 0, s.results.count
23
23
  assert_equal 2, s.results.total
24
- assert_match /_search.*search_type=count.*' -d '{/, s.to_curl
24
+ assert_match %r|articles-test/_search.*search_type=count.*' -d '{|, s.to_curl
25
+ end
26
+
27
+ should "allow to pass document type in index name" do
28
+ s = Tire.search 'articles-test/article', query: { match: { tags: 'ruby' } }
29
+
30
+ assert_equal 2, s.results.total
31
+ assert_match %r|articles-test/article/_search|, s.to_curl
25
32
  end
26
33
 
27
34
  should "allow building search query iteratively" do
@@ -106,6 +106,6 @@ module Tire
106
106
  Configuration.client.get("#{Configuration.url}/_percolator/percolator-test/weather") rescue nil
107
107
  end
108
108
 
109
- end
109
+ end unless ENV['TRAVIS']
110
110
 
111
111
  end
@@ -186,6 +186,7 @@ module Tire
186
186
  setup do
187
187
  PersistentArticleWithPercolation.index.register_percolator_query('alert') { string 'warning' }
188
188
  Tire.index('_percolator').refresh
189
+ sleep 0.2
189
190
  end
190
191
 
191
192
  should "return matching queries when percolating" do
@@ -69,6 +69,18 @@ module Tire
69
69
  response = Configuration.client.get "http://localhost:9200/articles/article/1"
70
70
  end
71
71
 
72
+ should "be threadsafe" do
73
+ threads = []
74
+
75
+ %w| foo bar |.each do |q|
76
+ threads << Thread.new do
77
+ Tire.search { query { match :_all, q } }.results.to_a
78
+ end
79
+ end
80
+
81
+ threads.each { |t| t.join() }
82
+ end
83
+
72
84
  end
73
85
 
74
86
  end
@@ -193,12 +193,12 @@ module Tire
193
193
 
194
194
  should "update the mapping" do
195
195
  Configuration.client.expects(:put).returns(mock_response('{"ok":true,"acknowledged":true}', 200))
196
- assert @index.mapping( 'document', { properties: { body: {type: 'string', analyzer: 'english'} } } )
196
+ assert @index.mapping( 'document', { :properties => { :body => { :type => 'string', :analyzer => 'english'} } } )
197
197
  end
198
198
 
199
199
  should "fail to update the mapping when conflicts occur" do
200
200
  Configuration.client.expects(:put).returns(mock_response('{"error":"MergeMappingException","status":400}', 400))
201
- assert ! @index.mapping( 'document', { properties: { body: {type: 'string', analyzer: 'english'} } } )
201
+ assert ! @index.mapping( 'document', { :properties => { :body => { :type => 'string', :analyzer => 'english'} } } )
202
202
  end
203
203
 
204
204
  should "raise an exception for the bang method" do
@@ -337,10 +337,12 @@ module Tire
337
337
 
338
338
  context "document with ID" do
339
339
 
340
- should "store Hash it under its ID property" do
341
- Configuration.client.expects(:post).with("#{@index.url}/document/123",
342
- MultiJson.encode({:id => 123, :title => 'Test'})).
343
- returns(mock_response('{"ok":true,"_id":"123"}'))
340
+ should "store a Hash under its ID property" do
341
+ Configuration.client.expects(:post).with do |path, json|
342
+ assert_equal "#{@index.url}/document/123", path
343
+ assert_equal 123, MultiJson.load(json)['id']
344
+ end.returns(mock_response('{"ok":true,"_id":"123"}'))
345
+
344
346
  @index.store :id => 123, :title => 'Test'
345
347
  end
346
348
 
@@ -415,5 +415,27 @@ module Tire::Search
415
415
 
416
416
  end
417
417
 
418
+ context 'ConstantScoreQuery' do
419
+ should "not raise an error when no block is given" do
420
+ assert_nothing_raised { Query.new.constant_score }
421
+ end
422
+
423
+ should "wrap query" do
424
+ assert_equal( { :constant_score => {:query => { :term => { :attr => { :term => 'foo' } } } } },
425
+ Query.new.constant_score { query { term :attr, 'foo' } } )
426
+ end
427
+
428
+ should "wrap filter" do
429
+ assert_equal( { :constant_score => {:filter => { :term => { :attr => 'foo' } } } },
430
+ Query.new.constant_score { filter :term, :attr => 'foo' } )
431
+ end
432
+
433
+ should "wrap the boost" do
434
+ assert_equal( { :constant_score => {:boost => 3 } },
435
+ Query.new.constant_score { boost 3 } )
436
+ end
437
+
438
+ end
439
+
418
440
  end
419
441
  end
@@ -15,18 +15,24 @@ module Tire
15
15
  context "DSL" do
16
16
 
17
17
  should "allow searching with a block" do
18
- Search::Search.expects(:new).returns( stub(:perform => true) )
18
+ Search::Search.expects(:new).with do |index, options, block|
19
+ assert_equal 'dummy', index
20
+ end.returns( stub(:perform => true) )
19
21
 
20
22
  Tire.search 'dummy' do
21
- query 'foo'
23
+ query { string 'foo' }
22
24
  end
23
25
  end
24
26
 
25
27
  should "allow searching with a Ruby Hash" do
26
28
  payload = { :query => { :query_string => { :query => 'foo' } } }
27
- Search::Search.expects(:new).with('dummy', :payload => payload).returns( stub(:perform => true) )
28
29
 
29
- Tire.search 'dummy', payload
30
+ Search::Search.expects(:new).with do |index, options|
31
+ assert_equal index, 'dummy'
32
+ assert_equal payload, options[:payload]
33
+ end.returns( stub(:perform => true) )
34
+
35
+ s = Tire.search 'dummy', payload
30
36
  end
31
37
 
32
38
  should "raise an error when passed incorrect payload" do
@@ -38,7 +44,7 @@ module Tire
38
44
  should "extract URL parameters from options" do
39
45
  payload = { :query => { :match => { :foo => 'bar' } } }
40
46
 
41
- Search::Search.expects(:new).with do |index,options|
47
+ Search::Search.expects(:new).with do |index, options|
42
48
  assert_equal 'bar', options[:payload][:query][:match][:foo]
43
49
  assert_equal 'count', options[:search_type]
44
50
  end.returns( stub(:perform => true) )
@@ -46,6 +52,14 @@ module Tire
46
52
  Tire.search 'dummy', :query => { :match => { :foo => 'bar' } }, :search_type => 'count'
47
53
  end
48
54
 
55
+ should "allow to pass document type" do
56
+ Search::Search.expects(:new).with do |index, options|
57
+ assert_equal 'dummy/foo', index
58
+ end
59
+
60
+ Tire.search 'dummy/foo', {}
61
+ end
62
+
49
63
  should "raise SearchRequestFailed when receiving bad response from backend" do
50
64
  assert_raise(Search::SearchRequestFailed) do
51
65
  Tire::Configuration.client.expects(:get).returns( mock_response('INDEX DOES NOT EXIST', 404) )
data/tire.gemspec CHANGED
@@ -32,6 +32,7 @@ Gem::Specification.new do |s|
32
32
  s.add_dependency "activemodel", ">= 3.0"
33
33
  s.add_dependency "hashr", "~> 0.0.19"
34
34
  s.add_dependency "activesupport"
35
+ s.add_dependency "ansi"
35
36
 
36
37
  # = Development dependencies
37
38
  #
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tire
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.5
4
+ version: 0.5.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-03-13 00:00:00.000000000 Z
12
+ date: 2013-03-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
- requirement: &70310347391340 !ruby/object:Gem::Requirement
16
+ requirement: &70314615618020 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70310347391340
24
+ version_requirements: *70314615618020
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rest-client
27
- requirement: &70310347390800 !ruby/object:Gem::Requirement
27
+ requirement: &70314615617280 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '1.6'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70310347390800
35
+ version_requirements: *70314615617280
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: multi_json
38
- requirement: &70310347390300 !ruby/object:Gem::Requirement
38
+ requirement: &70314615643440 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '1.3'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70310347390300
46
+ version_requirements: *70314615643440
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: activemodel
49
- requirement: &70310347389840 !ruby/object:Gem::Requirement
49
+ requirement: &70314615642080 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '3.0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70310347389840
57
+ version_requirements: *70314615642080
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: hashr
60
- requirement: &70310347405760 !ruby/object:Gem::Requirement
60
+ requirement: &70314615641260 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 0.0.19
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *70310347405760
68
+ version_requirements: *70314615641260
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: activesupport
71
- requirement: &70310347405380 !ruby/object:Gem::Requirement
71
+ requirement: &70314615640780 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,21 @@ dependencies:
76
76
  version: '0'
77
77
  type: :runtime
78
78
  prerelease: false
79
- version_requirements: *70310347405380
79
+ version_requirements: *70314615640780
80
+ - !ruby/object:Gem::Dependency
81
+ name: ansi
82
+ requirement: &70314615639740 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
88
+ type: :runtime
89
+ prerelease: false
90
+ version_requirements: *70314615639740
80
91
  - !ruby/object:Gem::Dependency
81
92
  name: bundler
82
- requirement: &70310347404840 !ruby/object:Gem::Requirement
93
+ requirement: &70314615638440 !ruby/object:Gem::Requirement
83
94
  none: false
84
95
  requirements:
85
96
  - - ~>
@@ -87,10 +98,10 @@ dependencies:
87
98
  version: '1.0'
88
99
  type: :development
89
100
  prerelease: false
90
- version_requirements: *70310347404840
101
+ version_requirements: *70314615638440
91
102
  - !ruby/object:Gem::Dependency
92
103
  name: shoulda
93
- requirement: &70310347404420 !ruby/object:Gem::Requirement
104
+ requirement: &70314615636800 !ruby/object:Gem::Requirement
94
105
  none: false
95
106
  requirements:
96
107
  - - ! '>='
@@ -98,10 +109,10 @@ dependencies:
98
109
  version: '0'
99
110
  type: :development
100
111
  prerelease: false
101
- version_requirements: *70310347404420
112
+ version_requirements: *70314615636800
102
113
  - !ruby/object:Gem::Dependency
103
114
  name: mocha
104
- requirement: &70310347403880 !ruby/object:Gem::Requirement
115
+ requirement: &70314615636040 !ruby/object:Gem::Requirement
105
116
  none: false
106
117
  requirements:
107
118
  - - ~>
@@ -109,10 +120,10 @@ dependencies:
109
120
  version: '0.13'
110
121
  type: :development
111
122
  prerelease: false
112
- version_requirements: *70310347403880
123
+ version_requirements: *70314615636040
113
124
  - !ruby/object:Gem::Dependency
114
125
  name: minitest
115
- requirement: &70310347403380 !ruby/object:Gem::Requirement
126
+ requirement: &70314615657700 !ruby/object:Gem::Requirement
116
127
  none: false
117
128
  requirements:
118
129
  - - ~>
@@ -120,10 +131,10 @@ dependencies:
120
131
  version: '2.12'
121
132
  type: :development
122
133
  prerelease: false
123
- version_requirements: *70310347403380
134
+ version_requirements: *70314615657700
124
135
  - !ruby/object:Gem::Dependency
125
136
  name: activerecord
126
- requirement: &70310347402920 !ruby/object:Gem::Requirement
137
+ requirement: &70314615656860 !ruby/object:Gem::Requirement
127
138
  none: false
128
139
  requirements:
129
140
  - - ! '>='
@@ -131,10 +142,10 @@ dependencies:
131
142
  version: '3.0'
132
143
  type: :development
133
144
  prerelease: false
134
- version_requirements: *70310347402920
145
+ version_requirements: *70314615656860
135
146
  - !ruby/object:Gem::Dependency
136
147
  name: mongoid
137
- requirement: &70310347402460 !ruby/object:Gem::Requirement
148
+ requirement: &70314615656060 !ruby/object:Gem::Requirement
138
149
  none: false
139
150
  requirements:
140
151
  - - ~>
@@ -142,10 +153,10 @@ dependencies:
142
153
  version: '2.2'
143
154
  type: :development
144
155
  prerelease: false
145
- version_requirements: *70310347402460
156
+ version_requirements: *70314615656060
146
157
  - !ruby/object:Gem::Dependency
147
158
  name: redis-persistence
148
- requirement: &70310347402080 !ruby/object:Gem::Requirement
159
+ requirement: &70314615655240 !ruby/object:Gem::Requirement
149
160
  none: false
150
161
  requirements:
151
162
  - - ! '>='
@@ -153,10 +164,10 @@ dependencies:
153
164
  version: '0'
154
165
  type: :development
155
166
  prerelease: false
156
- version_requirements: *70310347402080
167
+ version_requirements: *70314615655240
157
168
  - !ruby/object:Gem::Dependency
158
169
  name: faraday
159
- requirement: &70310347401620 !ruby/object:Gem::Requirement
170
+ requirement: &70314615654020 !ruby/object:Gem::Requirement
160
171
  none: false
161
172
  requirements:
162
173
  - - ! '>='
@@ -164,10 +175,10 @@ dependencies:
164
175
  version: '0'
165
176
  type: :development
166
177
  prerelease: false
167
- version_requirements: *70310347401620
178
+ version_requirements: *70314615654020
168
179
  - !ruby/object:Gem::Dependency
169
180
  name: yajl-ruby
170
- requirement: &70310347401120 !ruby/object:Gem::Requirement
181
+ requirement: &70314615653500 !ruby/object:Gem::Requirement
171
182
  none: false
172
183
  requirements:
173
184
  - - ~>
@@ -175,10 +186,10 @@ dependencies:
175
186
  version: '1.0'
176
187
  type: :development
177
188
  prerelease: false
178
- version_requirements: *70310347401120
189
+ version_requirements: *70314615653500
179
190
  - !ruby/object:Gem::Dependency
180
191
  name: sqlite3
181
- requirement: &70310347400700 !ruby/object:Gem::Requirement
192
+ requirement: &70314615652940 !ruby/object:Gem::Requirement
182
193
  none: false
183
194
  requirements:
184
195
  - - ! '>='
@@ -186,10 +197,10 @@ dependencies:
186
197
  version: '0'
187
198
  type: :development
188
199
  prerelease: false
189
- version_requirements: *70310347400700
200
+ version_requirements: *70314615652940
190
201
  - !ruby/object:Gem::Dependency
191
202
  name: bson_ext
192
- requirement: &70310347400240 !ruby/object:Gem::Requirement
203
+ requirement: &70314615652100 !ruby/object:Gem::Requirement
193
204
  none: false
194
205
  requirements:
195
206
  - - ! '>='
@@ -197,10 +208,10 @@ dependencies:
197
208
  version: '0'
198
209
  type: :development
199
210
  prerelease: false
200
- version_requirements: *70310347400240
211
+ version_requirements: *70314615652100
201
212
  - !ruby/object:Gem::Dependency
202
213
  name: curb
203
- requirement: &70310347399820 !ruby/object:Gem::Requirement
214
+ requirement: &70314615651240 !ruby/object:Gem::Requirement
204
215
  none: false
205
216
  requirements:
206
217
  - - ! '>='
@@ -208,10 +219,10 @@ dependencies:
208
219
  version: '0'
209
220
  type: :development
210
221
  prerelease: false
211
- version_requirements: *70310347399820
222
+ version_requirements: *70314615651240
212
223
  - !ruby/object:Gem::Dependency
213
224
  name: oj
214
- requirement: &70310347399340 !ruby/object:Gem::Requirement
225
+ requirement: &70314615666200 !ruby/object:Gem::Requirement
215
226
  none: false
216
227
  requirements:
217
228
  - - ! '>='
@@ -219,10 +230,10 @@ dependencies:
219
230
  version: '0'
220
231
  type: :development
221
232
  prerelease: false
222
- version_requirements: *70310347399340
233
+ version_requirements: *70314615666200
223
234
  - !ruby/object:Gem::Dependency
224
235
  name: turn
225
- requirement: &70310347398820 !ruby/object:Gem::Requirement
236
+ requirement: &70314615665640 !ruby/object:Gem::Requirement
226
237
  none: false
227
238
  requirements:
228
239
  - - ~>
@@ -230,7 +241,7 @@ dependencies:
230
241
  version: '0.9'
231
242
  type: :development
232
243
  prerelease: false
233
- version_requirements: *70310347398820
244
+ version_requirements: *70314615665640
234
245
  description: ! " Tire is a Ruby client for the Elasticsearch search engine/database.\n\n
235
246
  \ It provides Ruby-like API for fluent communication with the Elasticsearch server\n
236
247
  \ and blends with ActiveModel class for convenient usage in Rails applications.\n\n
@@ -307,6 +318,7 @@ files:
307
318
  - test/integration/boolean_queries_test.rb
308
319
  - test/integration/boosting_queries_test.rb
309
320
  - test/integration/bulk_test.rb
321
+ - test/integration/constant_score_queries_test.rb
310
322
  - test/integration/count_test.rb
311
323
  - test/integration/custom_score_queries_test.rb
312
324
  - test/integration/dis_max_queries_test.rb
@@ -385,11 +397,9 @@ homepage: http://github.com/karmi/tire
385
397
  licenses: []
386
398
  post_install_message: ! "================================================================================\n\n
387
399
  \ Please check the documentation at <http://karmi.github.com/tire/>.\n\n--------------------------------------------------------------------------------\n\n
388
- \ IMPORTANT CHANGES LATELY:\n\n * Improved documentation\n * Improved isolation
389
- of Tire methods in model integrations\n * Improved handling of times/dates in `Model::Persistence`\n
390
- \ * Added support for \"Put Mapping\" and \"Delete mapping\" APIs\n * Added escaping
391
- document IDs in URLs\n * Allowed passing URL options when passing search definition
392
- as a Hash\n\n See the full changelog at <http://github.com/karmi/tire/commits/v0.5.5>.\n\n--------------------------------------------------------------------------------\n"
400
+ \ IMPORTANT CHANGES LATELY:\n\n * Added support for the `constant_score` query\n
401
+ \ * Prevent `Curl::Err::MultiBadEasyHandle` errors in the Curb client\n * Refactored
402
+ the model importing integration and Rake tasks\n\n See the full changelog at <http://github.com/karmi/tire/commits/v0.5.6>.\n\n--------------------------------------------------------------------------------\n"
393
403
  rdoc_options:
394
404
  - --charset=UTF-8
395
405
  require_paths:
@@ -424,6 +434,7 @@ test_files:
424
434
  - test/integration/boolean_queries_test.rb
425
435
  - test/integration/boosting_queries_test.rb
426
436
  - test/integration/bulk_test.rb
437
+ - test/integration/constant_score_queries_test.rb
427
438
  - test/integration/count_test.rb
428
439
  - test/integration/custom_score_queries_test.rb
429
440
  - test/integration/dis_max_queries_test.rb