sunspot-null_result 0.3.0 → 0.4.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: 3740ef1e7a405a20d92e8eb2781cc4a0444fd006
4
- data.tar.gz: d793d2301d6c9604b14449d9b5c8655ad8d55424
3
+ metadata.gz: 0dfee509fb71eb2e20fd91bcce4eb6a0085acc4a
4
+ data.tar.gz: edc2a804d79ea5fe13902b850b4ad41d2d1101f3
5
5
  SHA512:
6
- metadata.gz: a1db5c946595913c4e1d485570d4fe89045a5a167664f61f4c2ec28373f23a72bce9e22df9a624a5189ea68b1e0316f15be00bc17f35797137c568a5adcf6e97
7
- data.tar.gz: a5c34f56dfe2ebdd204414dfeee7ff149c4006dc4c0fb99dc21152e5e0e3407fdc6effa59b3b66505f3d8c952f247883822cb4851a6ca3df7b77e6b75035572a
6
+ metadata.gz: a6cdd31a553fdb36c9147bb27c01e215bf37be155edac41489048809af779027f88d0b3cee5a429dd08bcd8f39f7a659faf85894195c26c24625b904d58ad71e
7
+ data.tar.gz: b587b5169c1dace39f4e632a92dca8cc7c4aea421ff8a45e983b971aa2bbeec84b4fe7e89006a7239d9069a82a01e2fc2a755e1c5b39f06eb41cf79f028d0828
data/README.md CHANGED
@@ -74,6 +74,9 @@ end
74
74
 
75
75
  ### HEAD (not yet released)
76
76
 
77
+ ### v0.4.0
78
+ * Extend sunspot groups by useful details, e.g. pagination information
79
+
77
80
  ### v0.3.0
78
81
  * Support Sunspot grouping
79
82
 
@@ -4,11 +4,13 @@ module Sunspot
4
4
 
5
5
  include Enumerable
6
6
 
7
- attr_reader :collection, :group_by
7
+ attr_reader :collection, :group_by, :current_page, :total_pages
8
8
 
9
- def initialize(collection, group_by = nil)
9
+ def initialize(collection:, group_by: nil, current_page: 1, total_pages: 1)
10
10
  @collection = group_by.nil? ? [] : Array(collection)
11
11
  @group_by = group_by || :itself
12
+ @current_page = current_page
13
+ @total_pages = total_pages
12
14
  end
13
15
 
14
16
  def to_a
@@ -19,10 +21,22 @@ module Sunspot
19
21
  end
20
22
  end
21
23
 
24
+ def empty?
25
+ to_a.empty?
26
+ end
27
+
22
28
  def each(*args, &block)
23
29
  to_a.each(*args, &block)
24
30
  end
25
31
 
32
+ def next_page
33
+ [current_page + 1, total_pages].min
34
+ end
35
+
36
+ def prev_page
37
+ [current_page - 1, 0].max
38
+ end
39
+
26
40
  end
27
41
  end
28
42
  end
@@ -1,5 +1,5 @@
1
1
  module Sunspot
2
2
  class NullResult
3
- VERSION = "0.3.0"
3
+ VERSION = "0.4.0"
4
4
  end
5
5
  end
@@ -32,7 +32,6 @@ module Sunspot
32
32
  end
33
33
  alias num_pages total_pages
34
34
 
35
-
36
35
  def previous_page
37
36
  (current_page-1) if current_page > 1
38
37
  end
@@ -72,7 +71,11 @@ module Sunspot
72
71
  end
73
72
 
74
73
  def groups
75
- GroupedCollection.new(collection, group_by).to_a
74
+ GroupedCollection.new(collection: collection, group_by: group_by, current_page: results.current_page, total_pages: results.total_pages)
75
+ end
76
+
77
+ def matches
78
+ results.size
76
79
  end
77
80
 
78
81
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sunspot-null_result
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carsten Zimmermann
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-09-04 00:00:00.000000000 Z
11
+ date: 2015-10-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -96,7 +96,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
96
96
  version: '0'
97
97
  requirements: []
98
98
  rubyforge_project:
99
- rubygems_version: 2.4.5.1
99
+ rubygems_version: 2.4.6
100
100
  signing_key:
101
101
  specification_version: 4
102
102
  summary: Provides a standalone mock result for Solr searches