blacklight 5.16.3 → 5.16.4

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: a874878adf1760be4d1354e774d8201f20ee9910
4
- data.tar.gz: 2102617b793e2992f4f065374ca62b33f3fd39df
3
+ metadata.gz: e56b20bdd2b2230a8c427bd8a71188499ecadefd
4
+ data.tar.gz: f7b4394bde76c526e48d7305f1b0f40c094d2ea4
5
5
  SHA512:
6
- metadata.gz: cbeb8e733a663339b5b4d98c5288d8c2355b10e1fb50694d20e3edc790d3c3facd623ae11fbba0990cb1885513d5bcdb164c6997dcd179f82048dec152a8c6be
7
- data.tar.gz: 57b56668777afe6093bc5b0dec60a40f6c6da9aa7c7e0e9bdb6265ebd6d67084a96d1381a7c7fc2dba1b9b9b5d91463ed99da0d12c86b9816d9101a38fc6f513
6
+ metadata.gz: 1cee2f321d52e3b5733cbfcecf0c2fcf74f584e6a86e482ae5a67b0aad858b07e9d926b8b8778ca9aa5ce2147b0f98c6c5766fb5c3a6ea8e48a1d142653de09e
7
+ data.tar.gz: 9d6aeb7047e02b917ab07c08847b646a5e952c46c74e56cef99524a94ed4d444b474fda2b57914b7c588a46cb8a313381a885d0a97ef19da8b5d2b955b45abf7
data/Gemfile CHANGED
@@ -4,7 +4,7 @@ source 'https://rubygems.org'
4
4
  gemspec path: File.expand_path('..', __FILE__)
5
5
 
6
6
  gem 'simplecov', '~> 0.10', require: false
7
- gem 'coveralls', require: false
7
+ gem 'coveralls', '~> 0.8.6', require: false
8
8
 
9
9
  group :test do
10
10
  gem "blacklight-marc", "~> 5.0", github: "projectblacklight/blacklight_marc"
data/VERSION CHANGED
@@ -1 +1 @@
1
- 5.16.3
1
+ 5.16.4
@@ -54,7 +54,7 @@ module Blacklight::SearchHelper
54
54
  ##
55
55
  # Execute a solr query
56
56
  # @see [Blacklight::SolrRepository#send_and_receive]
57
- # @return [Blacklight::SolrResponse] the solr response object
57
+ # @return [Blacklight::Solr::Response] the solr response object
58
58
  def find *args
59
59
  request_params = args.extract_options!
60
60
  path = args.first || blacklight_config.solr_path
@@ -121,7 +121,7 @@ module Blacklight::SearchHelper
121
121
  # a solr query method
122
122
  # @param [Hash,HashWithIndifferentAccess] user_params ({}) the user provided parameters (e.g. query, facets, sort, etc)
123
123
  # @param [Hash,HashWithIndifferentAccess] extra_controller_params ({}) extra parameters to add to the search
124
- # @return [Blacklight::SolrResponse] the solr response object
124
+ # @return [Blacklight::Solr::Response] the solr response object
125
125
  def query_solr(user_params = params || {}, extra_controller_params = {})
126
126
  query = search_builder.with(user_params).merge(extra_controller_params)
127
127
  repository.search(query)
@@ -146,7 +146,7 @@ module Blacklight::SearchHelper
146
146
  deprecation_deprecate get_solr_response_for_doc_id: "use fetch(id) instead"
147
147
 
148
148
  # given a field name and array of values, get the matching SOLR documents
149
- # @return [Blacklight::SolrResponse, Array<Blacklight::SolrDocument>] the solr response object and a list of solr documents
149
+ # @return [Blacklight::Solr::Response, Array<Blacklight::SolrDocument>] the solr response object and a list of solr documents
150
150
  def get_solr_response_for_field_values(field, values, extra_controller_params = {})
151
151
  query = Deprecation.silence(Blacklight::RequestBuilders) do
152
152
  search_builder.with(params).merge(extra_controller_params).merge(solr_documents_by_field_values_params(field, values))
@@ -181,7 +181,9 @@ module Blacklight::CatalogHelperBehavior
181
181
  value = if blacklight_config.view_config(document_index_view_type).thumbnail_method
182
182
  send(blacklight_config.view_config(document_index_view_type).thumbnail_method, document, image_options)
183
183
  elsif blacklight_config.view_config(document_index_view_type).thumbnail_field
184
- image_tag thumbnail_url(document), image_options
184
+ url = thumbnail_url(document)
185
+
186
+ image_tag url, image_options if url.present?
185
187
  end
186
188
 
187
189
  if value
@@ -30,5 +30,13 @@ module Blacklight
30
30
  def sidebar_classes
31
31
  'col-md-3 col-sm-4'
32
32
  end
33
+
34
+ ##
35
+ # Class used for specifying main layout container classes. Can be
36
+ # overwritten to return 'container-fluid' for Bootstrap full-width layout
37
+ # @return [String]
38
+ def container_classes
39
+ 'container'
40
+ end
33
41
  end
34
42
  end
@@ -192,7 +192,7 @@ module Blacklight
192
192
  # rendering values
193
193
  case
194
194
  when (field_config and field_config.helper_method)
195
- @controller.send(field_config.helper_method, options.merge(:document => @document, :field => field, :value => value))
195
+ @controller.send(field_config.helper_method, options.merge(document: @document, field: field, config: field_config, value: value))
196
196
  when (field_config and field_config.link_to_search)
197
197
  link_field = if field_config.link_to_search === true
198
198
  field_config.key
@@ -35,7 +35,7 @@
35
35
 
36
36
  <%= render partial: 'shared/ajax_modal' %>
37
37
 
38
- <div id="main-container" class="container">
38
+ <div id="main-container" class="<%= container_classes %>">
39
39
  <%= content_tag :h1, application_name, class: 'sr-only application-heading' %>
40
40
 
41
41
  <%= render :partial=>'/flash_msg', layout: 'shared/flash_messages' %>
@@ -1,5 +1,5 @@
1
1
  <div id="header-navbar" class="navbar navbar-inverse navbar-static-top" role="navigation">
2
- <div class="container">
2
+ <div class="<%= container_classes %>">
3
3
  <div class="navbar-header">
4
4
  <button type="button" class="navbar-toggle btn collapsed" data-toggle="collapse" data-target="#user-util-collapse">
5
5
  <span class="sr-only">Toggle navigation</span>
@@ -17,7 +17,7 @@
17
17
  </div>
18
18
 
19
19
  <div id="search-navbar" class="navbar navbar-default navbar-static-top" role="navigation">
20
- <div class="container">
20
+ <div class="<%= container_classes %>">
21
21
  <%= render_search_bar %>
22
22
  </div>
23
23
  </div>
@@ -8,8 +8,6 @@ module Blacklight
8
8
  autoload :Routes, 'blacklight/routes'
9
9
  autoload :Solr, 'blacklight/solr'
10
10
 
11
- SolrRepository = ActiveSupport::Deprecation::DeprecatedConstantProxy.new('Blacklight::SolrRepository', 'Blacklight::Solr::Repository')
12
- SolrResponse = ActiveSupport::Deprecation::DeprecatedConstantProxy.new('Blacklight::SolrResponse', 'Blacklight::Solr::Response')
13
11
  autoload :SolrHelper, 'blacklight/solr_helper'
14
12
 
15
13
  autoload :AbstractRepository, 'blacklight/abstract_repository'
@@ -25,6 +23,22 @@ module Blacklight
25
23
  attr_accessor :solr, :solr_config
26
24
  end
27
25
 
26
+ class SolrRepository < Solr::Repository
27
+ extend Deprecation
28
+ def initialize blacklight_config
29
+ Deprecation.warn(self, 'Blacklight::SolrRepository is deprecated; use Blacklight::Solr::Repository instead')
30
+ super
31
+ end
32
+ end
33
+
34
+ class SolrResponse < Solr::Response
35
+ extend Deprecation
36
+ def initialize(data, request_params, options = {})
37
+ Deprecation.warn(self, 'Blacklight::SolrResponse is deprecated; use Blacklight::Solr::Response instead')
38
+ super
39
+ end
40
+ end
41
+
28
42
  # Secret key used to share session information with
29
43
  # other services (e.g. refworks callback urls)
30
44
  mattr_accessor :secret_key
@@ -239,13 +239,13 @@ describe BlacklightHelper do
239
239
 
240
240
  describe "render_grouped_response?" do
241
241
  it "should check if the response ivar contains grouped data" do
242
- assign(:response, double("SolrResponse", :grouped? => true))
242
+ assign(:response, double("Solr::Response", :grouped? => true))
243
243
  expect(helper.render_grouped_response?).to be true
244
244
  end
245
245
 
246
246
 
247
247
  it "should check if the response param contains grouped data" do
248
- response = double("SolrResponse", :grouped? => true)
248
+ response = double("Solr::Response", :grouped? => true)
249
249
  expect(helper.render_grouped_response?(response)).to be true
250
250
  end
251
251
  end
@@ -417,7 +417,7 @@ describe BlacklightHelper do
417
417
 
418
418
  before do
419
419
  allow(helper).to receive(:blacklight_config).and_return(CatalogController.blacklight_config)
420
- assign(:response, double("SolrResponse", grouped?: false, start: 0))
420
+ assign(:response, double("Solr::Response", grouped?: false, start: 0))
421
421
  allow(helper).to receive(:link_to_document).and_return('<a/>')
422
422
  allow(helper).to receive(:render_index_doc_actions).and_return('<div/>')
423
423
  end
@@ -226,6 +226,14 @@ describe CatalogHelper do
226
226
 
227
227
  expect(helper.render_thumbnail_tag document).to be_nil
228
228
  end
229
+
230
+ it "should return nil if no thumbnail is in the document" do
231
+ allow(helper).to receive_messages(:blacklight_config => Blacklight::Configuration.new(:index => Blacklight::OpenStructWithHashAccess.new(:thumbnail_field => :xyz) ))
232
+
233
+ allow(document).to receive(:has?).with(:xyz).and_return(false)
234
+
235
+ expect(helper.render_thumbnail_tag document).to be_nil
236
+ end
229
237
  end
230
238
 
231
239
  describe "thumbnail_url" do
@@ -28,4 +28,11 @@ describe LayoutHelper do
28
28
  expect(helper.sidebar_classes).to eq 'col-md-3 col-sm-4'
29
29
  end
30
30
  end
31
+
32
+ describe '#container_classes' do
33
+ it 'returns a string of classe(s)' do
34
+ expect(helper.container_classes).to be_an String
35
+ expect(helper.container_classes).to eq 'container'
36
+ end
37
+ end
31
38
  end
@@ -334,4 +334,32 @@ describe Blacklight::DocumentPresenter do
334
334
  expect(subject.document_show_html_title).to eq "value"
335
335
  end
336
336
  end
337
+
338
+ describe '#get_field_values' do
339
+ context 'for a field with the helper_method option' do
340
+ let(:field_name) { 'field_with_helper' }
341
+ let(:field_config) { config.add_facet_field 'field_with_helper', helper_method: 'render_field_with_helper' }
342
+
343
+ before do
344
+ document['field_with_helper'] = 'value'
345
+ end
346
+
347
+ it "should check call the helper method with arguments" do
348
+ allow(request_context).to receive(:render_field_with_helper) do |*args|
349
+ args.first
350
+ end
351
+
352
+ render_options = { a: 1 }
353
+
354
+ options = subject.get_field_values field_name, field_config, a: 1
355
+
356
+ expect(options).to include :document, :field, :value, :config, :a
357
+ expect(options[:document]).to eq document
358
+ expect(options[:field]).to eq 'field_with_helper'
359
+ expect(options[:value]).to eq 'value'
360
+ expect(options[:config]).to eq field_config
361
+ expect(options[:a]).to eq 1
362
+ end
363
+ end
364
+ end
337
365
  end
@@ -14,7 +14,7 @@ describe "catalog/_sort_and_per_page" do
14
14
  end
15
15
 
16
16
  it "should render the pagination, sort, per page and view type controls" do
17
- assign(:response, double("SolrResponse", limit_value: 1))
17
+ assign(:response, double("Solr::Response", limit_value: 1))
18
18
  stub_template "catalog/_paginate_compact.html.erb" => "paginate_compact"
19
19
  stub_template "catalog/_sort_widget.html.erb" => "sort_widget"
20
20
  stub_template "catalog/_per_page_widget.html.erb" => "per_page_widget"
@@ -27,7 +27,7 @@ describe "catalog/_sort_and_per_page" do
27
27
  end
28
28
 
29
29
  it "should not render the pagination controls with bad limit values" do
30
- assign(:response, double("SolrResponse", limit_value: 0))
30
+ assign(:response, double("Solr::Response", limit_value: 0))
31
31
  stub_template "catalog/_paginate_compact.html.erb" => "paginate_compact"
32
32
  stub_template "catalog/_sort_widget.html.erb" => "sort_widget"
33
33
  stub_template "catalog/_per_page_widget.html.erb" => "per_page_widget"
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.16.3
4
+ version: 5.16.4
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-11-07 00:00:00.000000000 Z
20
+ date: 2015-11-17 00:00:00.000000000 Z
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
23
23
  name: rails