tire 0.5.1 → 0.5.2
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/dsl.rb +1 -1
- data/lib/tire/index.rb +14 -9
- data/lib/tire/model/persistence.rb +1 -1
- data/lib/tire/model/search.rb +9 -3
- data/lib/tire/results/item.rb +1 -1
- data/lib/tire/search/facet.rb +11 -10
- data/lib/tire/version.rb +5 -29
- data/test/integration/bulk_test.rb +13 -8
- data/test/integration/facets_test.rb +14 -3
- data/test/integration/filtered_queries_test.rb +1 -1
- data/test/integration/filters_test.rb +12 -0
- data/test/test_helper.rb +2 -0
- data/test/unit/index_test.rb +19 -0
- data/test/unit/results_item_test.rb +1 -0
- data/test/unit/search_facet_test.rb +9 -0
- metadata +42 -61
data/lib/tire/dsl.rb
CHANGED
@@ -33,7 +33,7 @@ module Tire
|
|
33
33
|
# Build and perform a [multi-search](http://elasticsearch.org/guide/reference/api/multi-search.html)
|
34
34
|
# request.
|
35
35
|
#
|
36
|
-
# s = Tire.
|
36
|
+
# s = Tire.multi_search 'clients' do
|
37
37
|
# search :names do
|
38
38
|
# query { match :name, 'carpenter' }
|
39
39
|
# end
|
data/lib/tire/index.rb
CHANGED
@@ -90,7 +90,7 @@ module Tire
|
|
90
90
|
logged([type, id].join('/'), curl)
|
91
91
|
end
|
92
92
|
|
93
|
-
# Performs a [
|
93
|
+
# Performs a [bulk](http://www.elasticsearch.org/guide/reference/api/bulk.html) request
|
94
94
|
#
|
95
95
|
# @myindex.bulk :index, [ {id: 1, title: 'One'}, { id: 2, title: 'Two', _version: 3 } ], refresh: true
|
96
96
|
#
|
@@ -115,7 +115,9 @@ module Tire
|
|
115
115
|
type = get_type_from_document(document, :escape => false) # Do not URL-escape the _type
|
116
116
|
id = get_id_from_document(document)
|
117
117
|
|
118
|
-
|
118
|
+
if ENV['DEBUG']
|
119
|
+
STDERR.puts "[ERROR] Document #{document.inspect} does not have ID" unless id
|
120
|
+
end
|
119
121
|
|
120
122
|
header = { action.to_sym => { :_index => name, :_type => type, :_id => id } }
|
121
123
|
|
@@ -373,10 +375,11 @@ module Tire
|
|
373
375
|
code = @response ? @response.code : error.class rescue 'N/A'
|
374
376
|
|
375
377
|
if Configuration.logger.level.to_s == 'debug'
|
376
|
-
body = if @response
|
377
|
-
|
378
|
-
|
379
|
-
|
378
|
+
body = if @response && @response.body && !@response.body.to_s.empty?
|
379
|
+
MultiJson.encode( MultiJson.load(@response.body), :pretty => Configuration.pretty)
|
380
|
+
elsif error && error.message && !error.message.to_s.empty?
|
381
|
+
MultiJson.encode( MultiJson.load(error.message), :pretty => Configuration.pretty) rescue ''
|
382
|
+
else ''
|
380
383
|
end
|
381
384
|
else
|
382
385
|
body = ''
|
@@ -412,7 +415,7 @@ module Tire
|
|
412
415
|
when document.is_a?(Hash)
|
413
416
|
document[:_id] || document['_id'] || document[:id] || document['id']
|
414
417
|
when document.respond_to?(:id) && document.id != document.object_id
|
415
|
-
document.id
|
418
|
+
document.id.as_json
|
416
419
|
end
|
417
420
|
$VERBOSE = old_verbose
|
418
421
|
id
|
@@ -421,8 +424,10 @@ module Tire
|
|
421
424
|
def convert_document_to_json(document)
|
422
425
|
document = case
|
423
426
|
when document.is_a?(String)
|
424
|
-
|
425
|
-
|
427
|
+
if ENV['DEBUG']
|
428
|
+
Tire.warn "Passing the document as JSON string has been deprecated, " +
|
429
|
+
"please pass an object which responds to `to_indexed_json` or a plain Hash."
|
430
|
+
end
|
426
431
|
document
|
427
432
|
when document.respond_to?(:to_indexed_json) then document.to_indexed_json
|
428
433
|
else raise ArgumentError, "Please pass a JSON string or object with a 'to_indexed_json' method," +
|
@@ -45,7 +45,7 @@ module Tire
|
|
45
45
|
|
46
46
|
include Persistence::Storage
|
47
47
|
|
48
|
-
['_score', '_type', '_index', '_version', 'sort', 'highlight', '
|
48
|
+
['_score', '_type', '_index', '_version', 'sort', 'highlight', '_explanation'].each do |attr|
|
49
49
|
define_method("#{attr}=") { |value| @attributes ||= {}; @attributes[attr] = value }
|
50
50
|
define_method("#{attr}") { @attributes[attr] }
|
51
51
|
end
|
data/lib/tire/model/search.rb
CHANGED
@@ -150,7 +150,7 @@ module Tire
|
|
150
150
|
instance._index = response['_index'] if instance.respond_to?(:_index=)
|
151
151
|
instance._type = response['_type'] if instance.respond_to?(:_type=)
|
152
152
|
instance._version = response['_version'] if instance.respond_to?(:_version=)
|
153
|
-
instance.matches
|
153
|
+
instance.tire.matches = response['matches'] if instance.tire.respond_to?(:matches=)
|
154
154
|
self
|
155
155
|
end
|
156
156
|
end
|
@@ -194,11 +194,17 @@ module Tire
|
|
194
194
|
end
|
195
195
|
|
196
196
|
def matches
|
197
|
-
|
197
|
+
instance.instance_eval do
|
198
|
+
@attributes ||= {}
|
199
|
+
@attributes['tire__matches']
|
200
|
+
end
|
198
201
|
end
|
199
202
|
|
200
203
|
def matches=(value)
|
201
|
-
|
204
|
+
instance.instance_eval do
|
205
|
+
@attributes ||= {}
|
206
|
+
@attributes['tire__matches'] = value
|
207
|
+
end
|
202
208
|
end
|
203
209
|
|
204
210
|
end
|
data/lib/tire/results/item.rb
CHANGED
data/lib/tire/search/facet.rb
CHANGED
@@ -11,52 +11,53 @@ module Tire
|
|
11
11
|
def initialize(name, options={}, &block)
|
12
12
|
@name = name
|
13
13
|
@options = options
|
14
|
+
@value = {}
|
14
15
|
block.arity < 1 ? self.instance_eval(&block) : block.call(self) if block_given?
|
15
16
|
end
|
16
17
|
|
17
18
|
def terms(field, options={})
|
18
19
|
size = options.delete(:size) || 10
|
19
20
|
all_terms = options.delete(:all_terms) || false
|
20
|
-
@value = if field.is_a?(Enumerable) and not field.is_a?(String)
|
21
|
-
{ :
|
21
|
+
@value[:terms] = if field.is_a?(Enumerable) and not field.is_a?(String)
|
22
|
+
{ :fields => field }.update({ :size => size, :all_terms => all_terms }).update(options)
|
22
23
|
else
|
23
|
-
{ :
|
24
|
+
{ :field => field }.update({ :size => size, :all_terms => all_terms }).update(options)
|
24
25
|
end
|
25
26
|
self
|
26
27
|
end
|
27
28
|
|
28
29
|
def date(field, options={})
|
29
30
|
interval = options.delete(:interval) || 'day'
|
30
|
-
@value
|
31
|
+
@value[:date_histogram] = { :field => field, :interval => interval }.update(options)
|
31
32
|
self
|
32
33
|
end
|
33
34
|
|
34
35
|
def range(field, ranges=[], options={})
|
35
|
-
@value
|
36
|
+
@value[:range] = { :field => field, :ranges => ranges }.update(options)
|
36
37
|
self
|
37
38
|
end
|
38
39
|
|
39
40
|
def histogram(field, options={})
|
40
|
-
@value
|
41
|
+
@value[:histogram] = (options.delete(:histogram) || {:field => field}.update(options))
|
41
42
|
self
|
42
43
|
end
|
43
44
|
|
44
45
|
def statistical(field, options={})
|
45
|
-
@value
|
46
|
+
@value[:statistical] = (options.delete(:statistical) || {:field => field}.update(options))
|
46
47
|
self
|
47
48
|
end
|
48
49
|
|
49
50
|
def terms_stats(key_field, value_field, options={})
|
50
|
-
@value
|
51
|
+
@value[:terms_stats] = {:key_field => key_field, :value_field => value_field}.update(options)
|
51
52
|
self
|
52
53
|
end
|
53
54
|
|
54
55
|
def query(&block)
|
55
|
-
@value
|
56
|
+
@value[:query] = Query.new(&block).to_hash
|
56
57
|
end
|
57
58
|
|
58
59
|
def filter(type, options={})
|
59
|
-
@value
|
60
|
+
@value[:filter] = Filter.new(type, options)
|
60
61
|
self
|
61
62
|
end
|
62
63
|
|
data/lib/tire/version.rb
CHANGED
@@ -1,36 +1,12 @@
|
|
1
1
|
module Tire
|
2
|
-
VERSION = "0.5.
|
2
|
+
VERSION = "0.5.2"
|
3
3
|
|
4
4
|
CHANGELOG =<<-END
|
5
5
|
IMPORTANT CHANGES LATELY:
|
6
6
|
|
7
|
-
*
|
8
|
-
*
|
9
|
-
*
|
10
|
-
*
|
11
|
-
* Added prettified JSON output for logging requests and responses at the `debug` level
|
12
|
-
* Improved the Rake import task
|
13
|
-
* Allow passing of arbitrary objects in the `:as` mapping option [#446]
|
14
|
-
* Allow to define default values for Tire::Model::Persistence `:as` lambdas
|
15
|
-
* Added `@search.results.max_score`
|
16
|
-
* Changed the URI escape/unescape compatibility patch to not require Rack
|
17
|
-
* Allow using the full DSL in filter facets
|
18
|
-
* Allow complex hash options for the `term` query
|
19
|
-
* Allow passing Hash-like objects to `terms` query as well
|
20
|
-
* Implemented `respond_to?` for `Item`
|
21
|
-
* Improved support for Kaminari pagination
|
22
|
-
* Added support for the `parent` URL parameter in `Index#store`
|
23
|
-
* Added the `min_score` and `track_scores` DSL methods
|
24
|
-
* Added support for loading partial fields
|
25
|
-
* Added support for boosting query
|
26
|
-
* Added the `facet_filter` DSL method
|
27
|
-
* Allow passing `routing`, `fields` and `preference` URL parameter to Index#retrieve
|
28
|
-
* Allow building the search request step-by-step in Tire's DSL [#496]
|
29
|
-
* Added a `match` query type
|
30
|
-
* Added support for multisearch (_msearch) and the `Tire.multi_search` DSL method
|
31
|
-
* Added support for multi-search in the ActiveModel integration and in Tire::Model::Persistence
|
32
|
-
* Added support for create and delete actions for Index#bulk
|
33
|
-
* Added support for meta information (`_routing`, `_parent`, etc) in Index#bulk
|
34
|
-
* Added support for URL parameters (`refresh`, `consistency`) in Index#bulk
|
7
|
+
* Fixed bugs in the `matches` Tire method in models
|
8
|
+
* Fixed JSON parser errors when logging empty bodies
|
9
|
+
* Allow arbitrary ordering of methods in the facet DSL block
|
10
|
+
* Fix issues with Mongoid gem (incorrect JSON serialization of Moped::BSON::ObjectId)
|
35
11
|
END
|
36
12
|
end
|
@@ -18,6 +18,8 @@ module Tire
|
|
18
18
|
teardown do
|
19
19
|
@index.delete
|
20
20
|
Tire.index('bulk-test-fresh').delete
|
21
|
+
Tire.index('bulk-test-consistency').delete
|
22
|
+
Tire.index('bulk-test-routing').delete
|
21
23
|
end
|
22
24
|
|
23
25
|
should "store a collection of documents and refresh the index" do
|
@@ -26,12 +28,15 @@ module Tire
|
|
26
28
|
end
|
27
29
|
|
28
30
|
should "extract the routing value from documents" do
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
31
|
+
index = Tire.index('bulk-test-routing')
|
32
|
+
index.delete
|
33
|
+
index.create index: { number_of_shards: 2, number_of_replicas: 0 }
|
34
|
+
index.bulk_store [ { id: '1', title: 'A', _routing: 'a'}, { id: '2', title: 'B', _routing: 'b'} ]
|
35
|
+
index.refresh
|
36
|
+
|
37
|
+
assert_equal 2, Tire.search('bulk-test-routing') { query {all} }.results.size
|
38
|
+
assert_equal 1, Tire.search('bulk-test-routing', routing: 'a') { query {all} }.results.size
|
39
|
+
assert_equal 1, Tire.search('bulk-test-routing', routing: 'b') { query {all} }.results.size
|
35
40
|
end
|
36
41
|
|
37
42
|
should "delete documents in bulk" do
|
@@ -61,14 +66,14 @@ module Tire
|
|
61
66
|
should "timeout when consistency factor is not met" do
|
62
67
|
# Tire.configure { logger STDERR, level: 'debug' }
|
63
68
|
|
64
|
-
Tire.index 'bulk-test' do
|
69
|
+
Tire.index 'bulk-test-consistency' do
|
65
70
|
delete
|
66
71
|
create index: { number_of_shards: 1, number_of_replicas: 15 }
|
67
72
|
end
|
68
73
|
|
69
74
|
assert_raise Timeout::Error do
|
70
75
|
Timeout::timeout(3) do
|
71
|
-
Tire.index('bulk-test').bulk_store [ {id: '1', title: 'One' } ],
|
76
|
+
Tire.index('bulk-test-consistency').bulk_store [ {id: '1', title: 'One' } ],
|
72
77
|
consistency: 'all',
|
73
78
|
raise: true
|
74
79
|
end
|
@@ -70,8 +70,19 @@ module Tire
|
|
70
70
|
assert_equal 1, s.results.facets.size
|
71
71
|
assert_equal 'ruby', s.results.facets['tags']['terms'].first['term']
|
72
72
|
assert_equal 1, s.results.facets['tags']['terms'].first['count'].to_i
|
73
|
-
|
73
|
+
end
|
74
|
+
|
75
|
+
should "allow arbitrary order of methods in the DSL block" do
|
76
|
+
s = Tire.search('articles-test', :search_type => 'count') do
|
77
|
+
facet 'tags' do
|
78
|
+
facet_filter :range, { :published_on => { :from => '2011-01-01', :to => '2011-01-01' } }
|
79
|
+
terms :tags
|
80
|
+
end
|
81
|
+
end
|
74
82
|
|
83
|
+
assert_equal 1, s.results.facets.size
|
84
|
+
assert_equal 'ruby', s.results.facets['tags']['terms'].first['term']
|
85
|
+
assert_equal 1, s.results.facets['tags']['terms'].first['count'].to_i
|
75
86
|
end
|
76
87
|
|
77
88
|
context "terms" do
|
@@ -265,8 +276,8 @@ module Tire
|
|
265
276
|
assert_equal 2, facets["count"], facets.inspect
|
266
277
|
end
|
267
278
|
|
268
|
-
|
279
|
+
end
|
269
280
|
|
281
|
+
end
|
270
282
|
end
|
271
|
-
|
272
283
|
end
|
@@ -19,6 +19,18 @@ module Tire
|
|
19
19
|
assert_equal 'Two', s.results.first.title
|
20
20
|
end
|
21
21
|
|
22
|
+
should "filter the results with multiple terms" do
|
23
|
+
# 2.json > Is tagged *both* "ruby" and "python"
|
24
|
+
|
25
|
+
s = Tire.search('articles-test') do
|
26
|
+
query { all }
|
27
|
+
filter :terms, :tags => ['ruby', 'python'], :execution => 'and'
|
28
|
+
end
|
29
|
+
|
30
|
+
assert_equal 1, s.results.count
|
31
|
+
assert_equal 'Two', s.results.first.title
|
32
|
+
end
|
33
|
+
|
22
34
|
should "filter the results with multiple 'or' filters" do
|
23
35
|
# 4.json > Begins with "F" and is tagged "erlang"
|
24
36
|
|
data/test/test_helper.rb
CHANGED
data/test/unit/index_test.rb
CHANGED
@@ -304,6 +304,25 @@ module Tire
|
|
304
304
|
@index.store Article.new(:id => 123, :title => 'Test', :body => 'Lorem')
|
305
305
|
end
|
306
306
|
|
307
|
+
should "convert document ID to string or number" do
|
308
|
+
# This is related to issues #529, #535:
|
309
|
+
# When using Mongoid and the Yajl gem, document IDs from Mongo (Moped::BSON::ObjectId)
|
310
|
+
# are incorrectly serialized to JSON, and documents are stored with incorrect, auto-generated IDs.
|
311
|
+
class Document1; def id; "one"; end; end
|
312
|
+
class Document2; def id; 1; end; end
|
313
|
+
class Document3; class ID; def as_json; 'c'; end; end
|
314
|
+
def id; ID.new; end
|
315
|
+
end
|
316
|
+
|
317
|
+
document_1 = Document1.new
|
318
|
+
document_2 = Document2.new
|
319
|
+
document_3 = Document3.new
|
320
|
+
|
321
|
+
assert_equal 'one', @index.get_id_from_document(document_1)
|
322
|
+
assert_equal 1, @index.get_id_from_document(document_2)
|
323
|
+
assert_equal 'c', @index.get_id_from_document(document_3)
|
324
|
+
end
|
325
|
+
|
307
326
|
end
|
308
327
|
|
309
328
|
end
|
@@ -73,6 +73,15 @@ module Tire::Search
|
|
73
73
|
f['foo'][:facet_filter].to_json )
|
74
74
|
end
|
75
75
|
|
76
|
+
should "allow arbitrary ordering of methods in the DSL block" do
|
77
|
+
f = Facet.new('foo') do
|
78
|
+
facet_filter :terms, :tags => ['ruby']
|
79
|
+
terms :published_on
|
80
|
+
end.to_hash
|
81
|
+
|
82
|
+
assert_equal( { :terms => {:tags => ['ruby'] }}.to_json, f['foo'][:facet_filter].to_json)
|
83
|
+
end
|
84
|
+
|
76
85
|
end
|
77
86
|
|
78
87
|
context "terms facet" do
|
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.
|
4
|
+
version: 0.5.2
|
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: 2012-
|
12
|
+
date: 2012-12-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
16
|
-
requirement: &
|
16
|
+
requirement: &70285950165900 !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: *
|
24
|
+
version_requirements: *70285950165900
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rest-client
|
27
|
-
requirement: &
|
27
|
+
requirement: &70285950165360 !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: *
|
35
|
+
version_requirements: *70285950165360
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: multi_json
|
38
|
-
requirement: &
|
38
|
+
requirement: &70285950164860 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '1.0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70285950164860
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: activemodel
|
49
|
-
requirement: &
|
49
|
+
requirement: &70285950164400 !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: *
|
57
|
+
version_requirements: *70285950164400
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: hashr
|
60
|
-
requirement: &
|
60
|
+
requirement: &70285950163940 !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: *
|
68
|
+
version_requirements: *70285950163940
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: bundler
|
71
|
-
requirement: &
|
71
|
+
requirement: &70285950163480 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ~>
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '1.0'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70285950163480
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: yajl-ruby
|
82
|
-
requirement: &
|
82
|
+
requirement: &70285950163020 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ~>
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: '1.0'
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *70285950163020
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: shoulda
|
93
|
-
requirement: &
|
93
|
+
requirement: &70285950162640 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ! '>='
|
@@ -98,10 +98,10 @@ dependencies:
|
|
98
98
|
version: '0'
|
99
99
|
type: :development
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *70285950162640
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
103
|
name: mocha
|
104
|
-
requirement: &
|
104
|
+
requirement: &70285950162180 !ruby/object:Gem::Requirement
|
105
105
|
none: false
|
106
106
|
requirements:
|
107
107
|
- - ! '>='
|
@@ -109,10 +109,10 @@ dependencies:
|
|
109
109
|
version: '0'
|
110
110
|
type: :development
|
111
111
|
prerelease: false
|
112
|
-
version_requirements: *
|
112
|
+
version_requirements: *70285950162180
|
113
113
|
- !ruby/object:Gem::Dependency
|
114
114
|
name: minitest
|
115
|
-
requirement: &
|
115
|
+
requirement: &70285950161680 !ruby/object:Gem::Requirement
|
116
116
|
none: false
|
117
117
|
requirements:
|
118
118
|
- - ~>
|
@@ -120,10 +120,10 @@ dependencies:
|
|
120
120
|
version: '2.12'
|
121
121
|
type: :development
|
122
122
|
prerelease: false
|
123
|
-
version_requirements: *
|
123
|
+
version_requirements: *70285950161680
|
124
124
|
- !ruby/object:Gem::Dependency
|
125
125
|
name: activerecord
|
126
|
-
requirement: &
|
126
|
+
requirement: &70285950161180 !ruby/object:Gem::Requirement
|
127
127
|
none: false
|
128
128
|
requirements:
|
129
129
|
- - ! '>='
|
@@ -131,10 +131,10 @@ dependencies:
|
|
131
131
|
version: '3.0'
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
|
-
version_requirements: *
|
134
|
+
version_requirements: *70285950161180
|
135
135
|
- !ruby/object:Gem::Dependency
|
136
136
|
name: sqlite3
|
137
|
-
requirement: &
|
137
|
+
requirement: &70285950160800 !ruby/object:Gem::Requirement
|
138
138
|
none: false
|
139
139
|
requirements:
|
140
140
|
- - ! '>='
|
@@ -142,10 +142,10 @@ dependencies:
|
|
142
142
|
version: '0'
|
143
143
|
type: :development
|
144
144
|
prerelease: false
|
145
|
-
version_requirements: *
|
145
|
+
version_requirements: *70285950160800
|
146
146
|
- !ruby/object:Gem::Dependency
|
147
147
|
name: mongoid
|
148
|
-
requirement: &
|
148
|
+
requirement: &70285950160260 !ruby/object:Gem::Requirement
|
149
149
|
none: false
|
150
150
|
requirements:
|
151
151
|
- - ~>
|
@@ -153,10 +153,10 @@ dependencies:
|
|
153
153
|
version: '2.2'
|
154
154
|
type: :development
|
155
155
|
prerelease: false
|
156
|
-
version_requirements: *
|
156
|
+
version_requirements: *70285950160260
|
157
157
|
- !ruby/object:Gem::Dependency
|
158
158
|
name: bson_ext
|
159
|
-
requirement: &
|
159
|
+
requirement: &70285950159840 !ruby/object:Gem::Requirement
|
160
160
|
none: false
|
161
161
|
requirements:
|
162
162
|
- - ! '>='
|
@@ -164,10 +164,10 @@ dependencies:
|
|
164
164
|
version: '0'
|
165
165
|
type: :development
|
166
166
|
prerelease: false
|
167
|
-
version_requirements: *
|
167
|
+
version_requirements: *70285950159840
|
168
168
|
- !ruby/object:Gem::Dependency
|
169
169
|
name: redis-persistence
|
170
|
-
requirement: &
|
170
|
+
requirement: &70285959011600 !ruby/object:Gem::Requirement
|
171
171
|
none: false
|
172
172
|
requirements:
|
173
173
|
- - ! '>='
|
@@ -175,10 +175,10 @@ dependencies:
|
|
175
175
|
version: '0'
|
176
176
|
type: :development
|
177
177
|
prerelease: false
|
178
|
-
version_requirements: *
|
178
|
+
version_requirements: *70285959011600
|
179
179
|
- !ruby/object:Gem::Dependency
|
180
180
|
name: curb
|
181
|
-
requirement: &
|
181
|
+
requirement: &70285959011180 !ruby/object:Gem::Requirement
|
182
182
|
none: false
|
183
183
|
requirements:
|
184
184
|
- - ! '>='
|
@@ -186,10 +186,10 @@ dependencies:
|
|
186
186
|
version: '0'
|
187
187
|
type: :development
|
188
188
|
prerelease: false
|
189
|
-
version_requirements: *
|
189
|
+
version_requirements: *70285959011180
|
190
190
|
- !ruby/object:Gem::Dependency
|
191
191
|
name: oj
|
192
|
-
requirement: &
|
192
|
+
requirement: &70285959010760 !ruby/object:Gem::Requirement
|
193
193
|
none: false
|
194
194
|
requirements:
|
195
195
|
- - ! '>='
|
@@ -197,10 +197,10 @@ dependencies:
|
|
197
197
|
version: '0'
|
198
198
|
type: :development
|
199
199
|
prerelease: false
|
200
|
-
version_requirements: *
|
200
|
+
version_requirements: *70285959010760
|
201
201
|
- !ruby/object:Gem::Dependency
|
202
202
|
name: turn
|
203
|
-
requirement: &
|
203
|
+
requirement: &70285959010220 !ruby/object:Gem::Requirement
|
204
204
|
none: false
|
205
205
|
requirements:
|
206
206
|
- - ~>
|
@@ -208,7 +208,7 @@ dependencies:
|
|
208
208
|
version: '0.9'
|
209
209
|
type: :development
|
210
210
|
prerelease: false
|
211
|
-
version_requirements: *
|
211
|
+
version_requirements: *70285959010220
|
212
212
|
description: ! " Tire is a Ruby client for the ElasticSearch search engine/database.\n\n
|
213
213
|
\ It provides Ruby-like API for fluent communication with the ElasticSearch server\n
|
214
214
|
\ and blends with ActiveModel class for convenient usage in Rails applications.\n\n
|
@@ -359,29 +359,10 @@ homepage: http://github.com/karmi/tire
|
|
359
359
|
licenses: []
|
360
360
|
post_install_message: ! "================================================================================\n\n
|
361
361
|
\ Please check the documentation at <http://karmi.github.com/tire/>.\n\n--------------------------------------------------------------------------------\n\n
|
362
|
-
\ IMPORTANT CHANGES LATELY:\n\n *
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
to halt bubbling of `sort` into URL parameters [#334]\n * Added prettified JSON
|
367
|
-
output for logging requests and responses at the `debug` level\n * Improved the
|
368
|
-
Rake import task\n * Allow passing of arbitrary objects in the `:as` mapping option
|
369
|
-
[#446]\n * Allow to define default values for Tire::Model::Persistence `:as` lambdas\n
|
370
|
-
\ * Added `@search.results.max_score`\n * Changed the URI escape/unescape compatibility
|
371
|
-
patch to not require Rack\n * Allow using the full DSL in filter facets\n * Allow
|
372
|
-
complex hash options for the `term` query\n * Allow passing Hash-like objects to
|
373
|
-
`terms` query as well\n * Implemented `respond_to?` for `Item`\n * Improved support
|
374
|
-
for Kaminari pagination\n * Added support for the `parent` URL parameter in `Index#store`\n
|
375
|
-
\ * Added the `min_score` and `track_scores` DSL methods\n * Added support for
|
376
|
-
loading partial fields\n * Added support for boosting query\n * Added the `facet_filter`
|
377
|
-
DSL method\n * Allow passing `routing`, `fields` and `preference` URL parameter
|
378
|
-
to Index#retrieve\n * Allow building the search request step-by-step in Tire's
|
379
|
-
DSL [#496]\n * Added a `match` query type\n * Added support for multisearch (_msearch)
|
380
|
-
and the `Tire.multi_search` DSL method\n * Added support for multi-search in the
|
381
|
-
ActiveModel integration and in Tire::Model::Persistence\n * Added support for create
|
382
|
-
and delete actions for Index#bulk\n * Added support for meta information (`_routing`,
|
383
|
-
`_parent`, etc) in Index#bulk\n * Added support for URL parameters (`refresh`,
|
384
|
-
`consistency`) in Index#bulk\n\n See the full changelog at <http://github.com/karmi/tire/commits/v0.5.1>.\n\n--------------------------------------------------------------------------------\n"
|
362
|
+
\ IMPORTANT CHANGES LATELY:\n\n * Fixed bugs in the `matches` Tire method in models\n
|
363
|
+
\ * Fixed JSON parser errors when logging empty bodies\n * Allow arbitrary ordering
|
364
|
+
of methods in the facet DSL block\n * Fix issues with Mongoid gem (incorrect JSON
|
365
|
+
serialization of Moped::BSON::ObjectId)\n\n See the full changelog at <http://github.com/karmi/tire/commits/v0.5.2>.\n\n--------------------------------------------------------------------------------\n"
|
385
366
|
rdoc_options:
|
386
367
|
- --charset=UTF-8
|
387
368
|
require_paths:
|