blacklight 5.12.0 → 5.12.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1e42546dfea7f15e6d7fb7840dc8c565dc1a2f4d
4
- data.tar.gz: 4f80a2c7b454658bd1be662f9509224db5eeee47
3
+ metadata.gz: abad33ed78f1831cc8ae408d0d19071b667f74be
4
+ data.tar.gz: bd713d5fb66e2d1aa49b4fbcac88ff0724b0aedf
5
5
  SHA512:
6
- metadata.gz: c8fbed4b5264a3d96387cb0fafe1e39f7e18ad2c1b2847ab357f9c749ff6e63028876db67ed7906ae21f765bfbac900a9dfd891faa2df981a861c63fabb14790
7
- data.tar.gz: 99196a24351223263018890b8acd9d0d9c5a0adcc2d0793fe44f6f9310d4d803fead0e0930d3fc16e2ddc05d6a1459fb1c6578685d14a23f965f85f3cc2dc3c5
6
+ metadata.gz: c9478b659e45b4df5320395ddc301190390a7adb6d031a819761af390f07d5d59853f184381ff96fae5193c867e84b1a6bb19d86e56e9b2619c42639136697a2
7
+ data.tar.gz: 37f40ed46cca97a3f5fb1ddb49776e6ff4a41ca2318575d6cfb1f942c8a1e32ef7e2f29f73eac320f3b8d67ccc814aba6dc293e5482bf5062c82710cdd34cad1
data/VERSION CHANGED
@@ -1 +1 @@
1
- 5.12.0
1
+ 5.12.1
@@ -48,9 +48,12 @@ module Blacklight::CatalogHelperBehavior
48
48
  #
49
49
  # @param [Integer] document index
50
50
  # @return [Integer]
51
- def document_counter_with_offset idx
51
+ def document_counter_with_offset idx, offset = nil
52
+ offset ||= @response.start if @response
53
+ offset ||= 0
54
+
52
55
  unless render_grouped_response?
53
- idx + 1 + @response.params[:start].to_i
56
+ idx + 1 + offset
54
57
  end
55
58
  end
56
59
 
@@ -19,7 +19,7 @@ Gem::Specification.new do |s|
19
19
 
20
20
  s.add_dependency "rails", ">= 3.2.6", "< 5"
21
21
  s.add_dependency "nokogiri", "~>1.6" # XML Parser
22
- s.add_dependency "kaminari", "~> 0.15" # the pagination (page 1,2,3, etc..) of our search results
22
+ s.add_dependency "kaminari", ">= 0.15" # the pagination (page 1,2,3, etc..) of our search results
23
23
  s.add_dependency "rsolr", "~> 1.0.11" # Library for interacting with rSolr.
24
24
  s.add_dependency "bootstrap-sass", "~> 3.2"
25
25
  s.add_dependency "deprecation"
@@ -13,6 +13,7 @@
13
13
  # transformation formats.
14
14
  #
15
15
  module Blacklight::Document
16
+ autoload :ActiveModelShim, 'blacklight/document/active_model_shim'
16
17
  autoload :SchemaOrg, 'blacklight/document/schema_org'
17
18
  autoload :DublinCore, 'blacklight/document/dublin_core'
18
19
  autoload :Email, 'blacklight/document/email'
@@ -42,14 +43,6 @@ module Blacklight::Document
42
43
  apply_extensions
43
44
  end
44
45
 
45
- def to_model
46
- self
47
- end
48
-
49
- def persisted?
50
- true
51
- end
52
-
53
46
  # the wrapper method to the @_source object.
54
47
  # If a method is missing, it gets sent to @_source
55
48
  # with all of the original params and block
@@ -65,14 +58,6 @@ module Blacklight::Document
65
58
  _source_responds_to?(*args) || super
66
59
  end
67
60
 
68
- def [] *args
69
- _source.send :[], *args
70
- end
71
-
72
- def _read_attribute(attr)
73
- self[attr]
74
- end
75
-
76
61
  # Helper method to check if value/multi-values exist for a given key.
77
62
  # The value can be a string, or a RegExp
78
63
  # Multiple "values" can be given; only one needs to match.
@@ -138,30 +123,10 @@ module Blacklight::Document
138
123
  Array(self[key]).first
139
124
  end
140
125
 
141
- def id
142
- self[self.class.unique_key]
143
- end
144
-
145
- def to_param
146
- id.to_s
147
- end
148
-
149
- def as_json(options = nil)
150
- _source.as_json(options)
151
- end
152
-
153
126
  def to_partial_path
154
127
  'catalog/document'
155
128
  end
156
129
 
157
- def destroyed?
158
- false
159
- end
160
-
161
- def new_record?
162
- false
163
- end
164
-
165
130
  def has_highlight_field? k
166
131
  false
167
132
  end
@@ -186,13 +151,6 @@ module Blacklight::Document
186
151
  @unique_key ||= 'id'
187
152
  end
188
153
 
189
- def primary_key
190
- unique_key
191
- end
192
-
193
- def base_class
194
- self
195
- end
196
154
  end
197
155
 
198
156
  private
@@ -0,0 +1,62 @@
1
+ require 'active_model/conversion'
2
+
3
+ module Blacklight::Document
4
+ module ActiveModelShim
5
+ extend ActiveSupport::Concern
6
+
7
+ include ::ActiveModel::Conversion
8
+
9
+ module ClassMethods
10
+ def primary_key
11
+ unique_key
12
+ end
13
+
14
+ def base_class
15
+ self
16
+ end
17
+ end
18
+
19
+ ##
20
+ # Unique ID for the document
21
+ def id
22
+ self[self.class.unique_key]
23
+ end
24
+
25
+ ##
26
+ # accessors for reading attribute
27
+ def [] *args
28
+ _source.send :[], *args
29
+ end
30
+
31
+ def _read_attribute(attr)
32
+ self[attr]
33
+ end
34
+
35
+ def as_json(options = nil)
36
+ _source.as_json(options)
37
+ end
38
+
39
+ ##
40
+ # ActiveRecord::Persistence method stubs to get non-AR objects to
41
+ # play nice with e.g. Blacklight's bookmarks
42
+ def persisted?
43
+ true
44
+ end
45
+
46
+ def destroyed?
47
+ false
48
+ end
49
+
50
+ def new_record?
51
+ false
52
+ end
53
+
54
+ ##
55
+ # #to_partial_path is also defined in Blacklight::Document, but
56
+ # ActiveModel::Conversion (included above) will overwrite that..
57
+ def to_partial_path
58
+ 'catalog/document'
59
+ end
60
+
61
+ end
62
+ end
@@ -26,6 +26,7 @@ module Blacklight::Solr::Document
26
26
 
27
27
  extend ActiveSupport::Concern
28
28
  include Blacklight::Document
29
+ include Blacklight::Document::ActiveModelShim
29
30
  include Blacklight::Solr::Document::MoreLikeThis
30
31
 
31
32
  def has_highlight_field? k
@@ -34,6 +34,10 @@ class Blacklight::SolrResponse < HashWithIndifferentAccess
34
34
  header['params'] || request_params
35
35
  end
36
36
 
37
+ def start
38
+ params[:start].to_i
39
+ end
40
+
37
41
  def rows
38
42
  params[:rows].to_i
39
43
  end
@@ -462,7 +462,7 @@ describe BlacklightHelper do
462
462
 
463
463
  before do
464
464
  allow(helper).to receive(:blacklight_config).and_return(CatalogController.blacklight_config)
465
- assign(:response, double("SolrResponse", grouped?: false, params: {}))
465
+ assign(:response, double("SolrResponse", grouped?: false, start: 0))
466
466
  allow(helper).to receive(:link_to_document).and_return('<a/>')
467
467
  allow(helper).to receive(:render_index_doc_actions).and_return('<div/>')
468
468
  end
@@ -247,19 +247,19 @@ describe CatalogHelper do
247
247
 
248
248
  describe "document_counter_with_offset" do
249
249
  it "should render the document index with the appropriate offset" do
250
- assign(:response, double(:params => { :start => 0 }, :grouped? => false))
250
+ assign(:response, double(start: 0, grouped?: false))
251
251
  expect(helper.document_counter_with_offset(0)).to be(1)
252
252
  expect(helper.document_counter_with_offset(1)).to be(2)
253
253
  end
254
254
 
255
255
  it "should render the document index with the appropriate offset" do
256
- assign(:response, double(:params => { :start => 10 }, :grouped? => false))
256
+ assign(:response, double(start: 10, grouped?: false))
257
257
  expect(helper.document_counter_with_offset(0)).to be(11)
258
258
  expect(helper.document_counter_with_offset(1)).to be(12)
259
259
  end
260
260
 
261
261
  it "should not provide a counter for grouped responses" do
262
- assign(:response, double(:params => { :start => 10 }, :grouped? => true))
262
+ assign(:response, double(start: 10, grouped?: true))
263
263
  expect(helper.document_counter_with_offset(0)).to be_nil
264
264
  end
265
265
  end
@@ -10,7 +10,7 @@ describe "catalog/_index_header_default" do
10
10
  end
11
11
 
12
12
  before do
13
- assign :response, double(params: {})
13
+ assign :response, double(start: 0)
14
14
  allow(view).to receive(:render_grouped_response?).and_return false
15
15
  allow(view).to receive(:blacklight_config).and_return(blacklight_config)
16
16
  allow(view).to receive(:current_search_session).and_return nil
@@ -17,7 +17,7 @@ describe "catalog/_thumbnail_default" do
17
17
  end
18
18
 
19
19
  before do
20
- assign :response, double(:params => {})
20
+ assign :response, double(start: 0)
21
21
  allow(view).to receive(:render_grouped_response?).and_return false
22
22
  allow(view).to receive(:blacklight_config).and_return(blacklight_config)
23
23
  allow(view).to receive(:current_search_session).and_return nil
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blacklight
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.12.0
4
+ version: 5.12.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan Rochkind
@@ -17,7 +17,7 @@ authors:
17
17
  autorequire:
18
18
  bindir: bin
19
19
  cert_chain: []
20
- date: 2015-03-24 00:00:00.000000000 Z
20
+ date: 2015-03-25 00:00:00.000000000 Z
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
23
23
  name: rails
@@ -57,14 +57,14 @@ dependencies:
57
57
  name: kaminari
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - "~>"
60
+ - - ">="
61
61
  - !ruby/object:Gem::Version
62
62
  version: '0.15'
63
63
  type: :runtime
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - "~>"
67
+ - - ">="
68
68
  - !ruby/object:Gem::Version
69
69
  version: '0.15'
70
70
  - !ruby/object:Gem::Dependency
@@ -424,6 +424,7 @@ files:
424
424
  - lib/blacklight/configuration/view_config.rb
425
425
  - lib/blacklight/controller.rb
426
426
  - lib/blacklight/document.rb
427
+ - lib/blacklight/document/active_model_shim.rb
427
428
  - lib/blacklight/document/dublin_core.rb
428
429
  - lib/blacklight/document/email.rb
429
430
  - lib/blacklight/document/export.rb