sunspot-null_result 0.1.0 → 0.2.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: 522194f37eda68fdd70d0fc7e78c8032041e5d1e
4
- data.tar.gz: 1f15a77e1fb20f036af4fd9ac10c09283ddf2c1d
3
+ metadata.gz: 00214e1bc2fb4fd5033831c647c0be5d4302b6b1
4
+ data.tar.gz: 8d15d147a7e3024eb92e98737bc8d1e8d356d1d3
5
5
  SHA512:
6
- metadata.gz: 28d335ae27055ecabfbfe3de64ab5b6ea1cd93111e4104df36656bb2ad264b8d7f1a22ba1a8e0cdcae1cb35b23cd37ed78ff46d122561aa94a041b98added1c0
7
- data.tar.gz: 86fc219514fb27d947ab701b21d940874af44dadc246d2f42025f25198911cb639660acd5192c649cf3c5a0a2109a2c87a504f899177073892a450c4c22d4b06
6
+ metadata.gz: 6cb5a1798107025c66a90c347426b0b5f59d80bb5e4678922ee567c77adbd488bec31e53dddf31366ae6a0348152c66c9e223f88ed7dd40ae546ae3654944e01
7
+ data.tar.gz: 6fdf0660422525e586c62b7dec83dc885593a41c268c9576c352903ac7926da34f4b03cc9a4869e0f3531812e13e07659dfc887c061058a64924ba09f6bff3d9
data/README.md CHANGED
@@ -64,6 +64,9 @@ end
64
64
 
65
65
  ### HEAD (not yet released)
66
66
 
67
+ ### v0.2.0
68
+ * Allow setting of pagination options and calculate dependent values accordingly
69
+
67
70
  ### v0.1.0
68
71
  * Initial working release
69
72
 
@@ -1,5 +1,5 @@
1
1
  module Sunspot
2
2
  class NullResult
3
- VERSION = "0.1.0"
3
+ VERSION = "0.2.0"
4
4
  end
5
5
  end
@@ -2,36 +2,39 @@ require "sunspot/null_result/version"
2
2
 
3
3
  module Sunspot
4
4
  class NullResult
5
- attr_reader :collection
5
+ attr_reader :collection, :options
6
6
 
7
- def initialize(collection = [])
8
- @collection = collection
7
+ def initialize(*collection, **options)
8
+ @collection = collection.flatten
9
+ @options = options
9
10
  end
10
11
 
11
12
  # Implements the interface of
12
13
  # https://github.com/sunspot/sunspot/blob/master/sunspot_rails/lib/sunspot/rails/stub_session_proxy.rb
13
14
  class PaginatedNullArray < Array
15
+ attr_reader :current_page, :per_page
14
16
 
15
- alias total_count size
16
-
17
- def current_page
18
- 1
17
+ def initialize(collection, current_page: 1, per_page: 1)
18
+ super(collection)
19
+ @current_page = current_page
20
+ @per_page = per_page
19
21
  end
20
22
 
23
+ alias total_count size
24
+ alias limit_value per_page
25
+
21
26
  def total_pages
22
- 1
27
+ [(size/per_page.to_f).ceil, 1].max
23
28
  end
24
29
  alias num_pages total_pages
25
30
 
26
- def per_page
27
- 1
28
- end
29
- alias limit_value per_page
30
31
 
31
32
  def previous_page
33
+ (current_page-1) if current_page > 1
32
34
  end
33
35
 
34
36
  def next_page
37
+ (current_page+1) if total_pages > current_page
35
38
  end
36
39
 
37
40
  def first_page?
@@ -52,11 +55,11 @@ module Sunspot
52
55
  end
53
56
 
54
57
  def hits
55
- PaginatedNullArray.new(collection)
58
+ PaginatedNullArray.new(collection, options)
56
59
  end
57
60
 
58
61
  def results
59
- PaginatedNullArray.new(collection)
62
+ PaginatedNullArray.new(collection, options)
60
63
  end
61
64
 
62
65
  end
@@ -19,6 +19,8 @@ Gem::Specification.new do |spec|
19
19
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
20
  spec.require_paths = ["lib"]
21
21
 
22
+ spec.required_ruby_version = ">= 2.1.0"
23
+
22
24
  spec.add_development_dependency "bundler", "~> 1.10"
23
25
  spec.add_development_dependency "rake", "~> 10.0"
24
26
  spec.add_development_dependency "rspec"
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.1.0
4
+ version: 0.2.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-08-31 00:00:00.000000000 Z
11
+ date: 2015-09-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -85,7 +85,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - ">="
87
87
  - !ruby/object:Gem::Version
88
- version: '0'
88
+ version: 2.1.0
89
89
  required_rubygems_version: !ruby/object:Gem::Requirement
90
90
  requirements:
91
91
  - - ">="