elastic_searchable 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.1
1
+ 0.2.2
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{elastic_searchable}
8
- s.version = "0.2.1"
8
+ s.version = "0.2.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Ryan Sonnek"]
12
- s.date = %q{2011-01-28}
12
+ s.date = %q{2011-02-01}
13
13
  s.description = %q{integrate the elastic search engine with rails}
14
14
  s.email = %q{ryan@codecrate.com}
15
15
  s.extra_rdoc_files = [
@@ -14,10 +14,12 @@ module ElasticSearchable
14
14
  query = {:query => query}
15
15
  end
16
16
  hits = ElasticSearchable.searcher.search query, index_options.merge(options)
17
+ ids = hits.collect(&:_id)
18
+ results = self.find(ids).sort_by {|result| ids.index(result.id.to_s) }
17
19
 
18
- results = WillPaginate::Collection.new(hits.current_page, hits.per_page, hits.total_entries)
19
- results.replace self.find(hits.collect(&:_id))
20
- results
20
+ page = WillPaginate::Collection.new(hits.current_page, hits.per_page, hits.total_entries)
21
+ page.replace results
22
+ page
21
23
  end
22
24
 
23
25
  # counts the number of results for this query.
@@ -105,6 +105,17 @@ class TestElasticSearchable < Test::Unit::TestCase
105
105
  assert_equal 1, @results.total_entries
106
106
  end
107
107
  end
108
+
109
+ context 'sorting search results' do
110
+ setup do
111
+ @second_post = Post.create :title => 'foo', :body => "second bar"
112
+ Post.create_index
113
+ @results = Post.search 'foo', :sort => 'id:reverse'
114
+ end
115
+ should 'sort results correctly' do
116
+ assert_equal @second_post, @results.first
117
+ end
118
+ end
108
119
  end
109
120
 
110
121
  class Blog < ActiveRecord::Base
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: elastic_searchable
3
3
  version: !ruby/object:Gem::Version
4
- hash: 21
4
+ hash: 19
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 2
9
- - 1
10
- version: 0.2.1
9
+ - 2
10
+ version: 0.2.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Ryan Sonnek
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-01-28 00:00:00 -06:00
18
+ date: 2011-02-01 00:00:00 -06:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency