blacklight_advanced_search 6.0.2 → 6.1.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.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/.rspec +2 -0
  3. data/.rubocop.yml +15 -0
  4. data/.rubocop_todo.yml +351 -0
  5. data/.solr_wrapper.yml +5 -0
  6. data/.travis.yml +4 -7
  7. data/Gemfile +18 -11
  8. data/Rakefile +24 -34
  9. data/VERSION +1 -1
  10. data/app/controllers/advanced_controller.rb +5 -7
  11. data/app/controllers/blacklight_advanced_search/advanced_controller.rb +5 -8
  12. data/app/helpers/advanced_helper.rb +4 -6
  13. data/blacklight_advanced_search.gemspec +11 -8
  14. data/lib/blacklight_advanced_search.rb +29 -34
  15. data/lib/blacklight_advanced_search/advanced_query_parser.rb +12 -13
  16. data/lib/blacklight_advanced_search/advanced_search_builder.rb +28 -32
  17. data/lib/blacklight_advanced_search/catalog_helper_override.rb +11 -34
  18. data/lib/blacklight_advanced_search/controller.rb +1 -1
  19. data/lib/blacklight_advanced_search/filter_parser.rb +7 -9
  20. data/lib/blacklight_advanced_search/parsing_nesting_parser.rb +5 -8
  21. data/lib/blacklight_advanced_search/redirect_legacy_params_filter.rb +23 -25
  22. data/lib/blacklight_advanced_search/render_constraints_override.rb +46 -33
  23. data/lib/blacklight_advanced_search/version.rb +0 -1
  24. data/lib/generators/blacklight_advanced_search/assets_generator.rb +4 -8
  25. data/lib/generators/blacklight_advanced_search/blacklight_advanced_search_generator.rb +0 -2
  26. data/lib/generators/blacklight_advanced_search/install_generator.rb +9 -5
  27. data/lib/generators/blacklight_advanced_search/templates/advanced_controller.rb +0 -2
  28. data/lib/parsing_nesting/grammar.rb +22 -25
  29. data/lib/parsing_nesting/tree.rb +156 -168
  30. data/solr/conf/_rest_managed.json +3 -0
  31. data/solr/conf/admin-extra.html +31 -0
  32. data/solr/conf/elevate.xml +36 -0
  33. data/solr/conf/mapping-ISOLatin1Accent.txt +246 -0
  34. data/solr/conf/protwords.txt +21 -0
  35. data/solr/conf/schema.xml +635 -0
  36. data/solr/conf/scripts.conf +24 -0
  37. data/solr/conf/solrconfig.xml +411 -0
  38. data/solr/conf/spellings.txt +2 -0
  39. data/solr/conf/stopwords.txt +58 -0
  40. data/solr/conf/stopwords_en.txt +58 -0
  41. data/solr/conf/synonyms.txt +31 -0
  42. data/solr/conf/xslt/example.xsl +132 -0
  43. data/solr/conf/xslt/example_atom.xsl +67 -0
  44. data/solr/conf/xslt/example_rss.xsl +66 -0
  45. data/solr/conf/xslt/luke.xsl +337 -0
  46. data/solr/sample_solr_documents.yml +2692 -0
  47. data/spec/features/blacklight_advanced_search_form_spec.rb +0 -2
  48. data/spec/helpers/advanced_helper_spec.rb +0 -2
  49. data/spec/integration/blacklight_stub_spec.rb +0 -2
  50. data/spec/lib/advanced_search_builder_spec.rb +7 -14
  51. data/spec/lib/blacklight_advanced_search/render_constraints_override_spec.rb +39 -0
  52. data/spec/lib/deep_merge_spec.rb +109 -34
  53. data/spec/lib/filter_parser_spec.rb +8 -14
  54. data/spec/parsing_nesting/build_tree_spec.rb +73 -81
  55. data/spec/parsing_nesting/consuming_spec.rb +2 -12
  56. data/spec/parsing_nesting/to_solr_spec.rb +93 -130
  57. data/spec/spec_helper.rb +0 -3
  58. data/spec/test_app_templates/app/controllers/catalog_controller.rb +3 -3
  59. data/spec/test_app_templates/lib/generators/test_app_generator.rb +3 -3
  60. metadata +63 -13
  61. data/spec/spec.opts +0 -4
data/Rakefile CHANGED
@@ -1,51 +1,41 @@
1
- require 'rake'
2
- require 'rake/testtask'
3
- require 'rdoc/task'
4
-
5
1
  require 'bundler/setup'
6
2
  Bundler::GemHelper.install_tasks
7
3
 
8
- ZIP_URL = "https://github.com/projectblacklight/blacklight-jetty/archive/v4.10.3.zip"
9
- APP_ROOT = File.dirname(__FILE__)
10
-
4
+ require 'rdoc/task'
5
+ require 'rubocop/rake_task'
11
6
  require 'rspec/core/rake_task'
12
7
  require 'engine_cart/rake_task'
13
8
 
14
9
  EngineCart.fingerprint_proc = EngineCart.rails_fingerprint_proc
15
10
 
16
- require 'jettywrapper'
17
-
18
11
  task :default => :ci
19
12
 
20
13
  desc "Run specs"
21
- RSpec::Core::RakeTask.new do |t|
22
-
14
+ RSpec::Core::RakeTask.new(:spec)
15
+
16
+ desc "Load fixtures"
17
+ task :fixtures => ['engine_cart:generate'] do
18
+ within_test_app do
19
+ ENV['RAILS_ENV'] ||= 'test'
20
+ system "rake blacklight:index:seed"
21
+ abort "Error running fixtures" unless $?.success?
22
+ end
23
23
  end
24
24
 
25
- desc "Load fixtures"
26
- task :fixtures => ['engine_cart:generate'] do
27
- within_test_app do
28
- ENV['RAILS_ENV'] ||= 'test'
29
- system "rake blacklight:index:seed"
30
- abort "Error running fixtures" unless $?.success?
25
+ desc "Execute Continuous Integration build"
26
+ task :ci => ['rubocop', 'engine_cart:generate'] do
27
+ require 'solr_wrapper'
28
+
29
+ SolrWrapper.wrap(port: '8983') do |solr|
30
+ solr.with_collection(name: 'blacklight-core', dir: File.join(File.expand_path(File.dirname(__FILE__)), "solr", "conf")) do
31
+ Rake::Task['fixtures'].invoke
32
+ Rake::Task['spec'].invoke
31
33
  end
32
34
  end
35
+ end
33
36
 
34
- desc "Execute Continuous Integration build"
35
- task :ci => ['jetty:clean', 'engine_cart:generate'] do
36
-
37
- require 'jettywrapper'
38
- jetty_params = {
39
- :jetty_home => File.expand_path(File.dirname(__FILE__) + '/jetty'),
40
- :quiet => false,
41
- :jetty_port => 8888,
42
- :solr_home => File.expand_path(File.dirname(__FILE__) + '/jetty/solr'),
43
- :startup_wait => 30
44
- }
45
-
46
- error = Jettywrapper.wrap(jetty_params) do
47
- Rake::Task['fixtures'].invoke
48
- Rake::Task['spec'].invoke
49
- end
50
- raise "test failures: #{error}" if error
37
+ desc 'Run style checker'
38
+ RuboCop::RakeTask.new(:rubocop) do |task|
39
+ task.requires << 'rubocop-rspec'
40
+ task.fail_on_error = true
51
41
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 6.0.2
1
+ 6.1.0
@@ -5,23 +5,21 @@
5
5
  # Note that this NEEDS to sub-class CatalogController, so it gets any
6
6
  # custom searching behavior you've added, and uses when fetching facets
7
7
  # etc. It does that right now because BlacklightAdvancedSearch::AdvancedController
8
- # is hard-coded to subclass CatalogController.
8
+ # is hard-coded to subclass CatalogController.
9
9
  #
10
- # TODO:
10
+ # TODO:
11
11
  # This seperate controller may not need to exist at all -- it just exists
12
12
  # to provide the advanced search form (and fetching of facets to display
13
13
  # on that form). Instead, mix-in a new "advanced" action to CatalogController?
14
- # (Make a backwards compat route though).
14
+ # (Make a backwards compat route though).
15
15
  #
16
- # Alternately, if this does exist as a seperate controller, it should
16
+ # Alternately, if this does exist as a seperate controller, it should
17
17
  # _directly_ < CatalogController, and BlacklightAdvancedSearch::AdvancedController
18
18
  # should be a mix-in that does not assume parent controller. Then, if you have
19
19
  # multi-controllers, you just need to create new `AdvancedControllerForX < XController`
20
20
  # which still mixes in BlacklightAdvancedSearch::AdvancedController. There
21
21
  # are probably some other edges that need to be smoothed for that approach, but
22
- # that'd be the direction.
22
+ # that'd be the direction.
23
23
  class AdvancedController < BlacklightAdvancedSearch::AdvancedController
24
-
25
24
  copy_blacklight_config_from(CatalogController)
26
-
27
25
  end
@@ -1,17 +1,14 @@
1
1
  # Need to sub-class CatalogController so we get all other plugins behavior
2
- # for our own "inside a search context" lookup of facets.
2
+ # for our own "inside a search context" lookup of facets.
3
3
  class BlacklightAdvancedSearch::AdvancedController < CatalogController
4
-
5
4
  def index
6
- unless request.method==:post
7
- @response = get_advanced_search_facets
8
- end
5
+ @response = get_advanced_search_facets unless request.method == :post
9
6
  end
10
7
 
11
8
  protected
12
9
 
13
10
  # Override to use the engine routes
14
- def search_action_url options = {}
11
+ def search_action_url(options = {})
15
12
  blacklight_advanced_search_engine.url_for(options.merge(action: 'index'))
16
13
  end
17
14
 
@@ -20,9 +17,9 @@ class BlacklightAdvancedSearch::AdvancedController < CatalogController
20
17
  # * IGNORING current query (add in facets_for_advanced_search_form filter)
21
18
  # * IGNORING current advanced search facets (remove add_advanced_search_to_solr filter)
22
19
  response, _ = search_results(params) do |search_builder|
23
- search_builder.except(:add_advanced_search_to_solr).append(:facets_for_advanced_search_form)
20
+ search_builder.except(:add_advanced_search_to_solr).append(:facets_for_advanced_search_form)
24
21
  end
25
22
 
26
- return response
23
+ response
27
24
  end
28
25
  end
@@ -1,12 +1,11 @@
1
1
  # Helper methods for the advanced search form
2
2
  module AdvancedHelper
3
-
4
3
  # Fill in default from existing search, if present
5
4
  # -- if you are using same search fields for basic
6
5
  # search and advanced, will even fill in properly if existing
7
6
  # search used basic search on same field present in advanced.
8
7
  def label_tag_default_for(key)
9
- if (! params[key].blank?)
8
+ if !params[key].blank?
10
9
  return params[key]
11
10
  elsif params["search_field"] == key
12
11
  return params["q"]
@@ -26,7 +25,7 @@ module AdvancedHelper
26
25
  t('blacklight_advanced_search.any') => 'OR'
27
26
  }.sort
28
27
 
29
- return select_tag(:op, options_for_select(options,params[:op]), :class => 'input-small')
28
+ select_tag(:op, options_for_select(options, params[:op]), :class => 'input-small')
30
29
  end
31
30
 
32
31
  # Current params without fields that will be over-written by adv. search,
@@ -34,12 +33,12 @@ module AdvancedHelper
34
33
  def advanced_search_context
35
34
  my_params = params.except :page, :commit, :f_inclusive, :q, :search_field, :op, :action, :index, :sort, :controller, :utf8
36
35
 
37
- my_params.except! *search_fields_for_advanced_search.map { |key, field_def| field_def[:key] }
36
+ my_params.except! *search_fields_for_advanced_search.map { |_key, field_def| field_def[:key] }
38
37
  end
39
38
 
40
39
  def search_fields_for_advanced_search
41
40
  @search_fields_for_advanced_search ||= begin
42
- blacklight_config.search_fields.select { |k,v| v.include_in_advanced_search or v.include_in_advanced_search.nil? }
41
+ blacklight_config.search_fields.select { |_k, v| v.include_in_advanced_search || v.include_in_advanced_search.nil? }
43
42
  end
44
43
  end
45
44
 
@@ -47,5 +46,4 @@ module AdvancedHelper
47
46
  def advanced_search_facet_partial_name(display_facet)
48
47
  facet_configuration_for_field(display_facet.name).try(:partial) || "catalog/facet_limit"
49
48
  end
50
-
51
49
  end
@@ -2,13 +2,14 @@
2
2
  require File.join(File.dirname(__FILE__), "lib/blacklight_advanced_search/version")
3
3
 
4
4
  Gem::Specification.new do |s|
5
- s.name = "blacklight_advanced_search"
6
- s.version = BlacklightAdvancedSearch::VERSION
5
+ s.name = "blacklight_advanced_search"
6
+ s.version = BlacklightAdvancedSearch::VERSION
7
7
  s.platform = Gem::Platform::RUBY
8
- s.authors = ["Jonathan Rochkind", "Chris Beer"]
9
- s.email = ["blacklight-development@googlegroups.com"]
10
- s.homepage = "http://projectblacklight.org/"
11
- s.summary = "Blacklight Advanced Search plugin"
8
+ s.authors = ["Jonathan Rochkind", "Chris Beer"]
9
+ s.email = ["blacklight-development@googlegroups.com"]
10
+ s.homepage = "http://projectblacklight.org/"
11
+ s.summary = "Blacklight Advanced Search plugin"
12
+ s.license = "Apache 2.0"
12
13
 
13
14
  s.rubyforge_project = "blacklight"
14
15
 
@@ -23,6 +24,8 @@ Gem::Specification.new do |s|
23
24
  s.add_development_dependency "rails"
24
25
  s.add_development_dependency "rspec-rails", "~> 3.0"
25
26
  s.add_development_dependency "capybara"
26
- s.add_development_dependency 'jettywrapper', ">= 1.4.2"
27
- s.add_development_dependency 'engine_cart', "~> 0.8"
27
+ s.add_development_dependency 'solr_wrapper', "~> 0.14"
28
+ s.add_development_dependency 'engine_cart', "~> 0.10"
29
+ s.add_development_dependency 'rubocop'
30
+ s.add_development_dependency 'rubocop-rspec'
28
31
  end
@@ -10,40 +10,35 @@ module BlacklightAdvancedSearch
10
10
 
11
11
  require 'blacklight_advanced_search/version'
12
12
  require 'blacklight_advanced_search/engine'
13
-
14
- # Utility method used in our solr search logic.
15
- # Merges new_hash into source_hash, but will recursively
16
- # merge nested arrays and hashes too; also will NOT merge nil
17
- # or blank values from new_hash into source_hash, nil or blank values
18
- # in new_hash will not overwrite values in source_hash.
19
- def self.deep_merge!(source_hash, new_hash)
20
- # We used to use built-in source_hash.merge() with a block arg
21
- # to customize merge behavior, but that was breaking in some
22
- # versions of BL/Rails where source_hash was a kind of HashWithIndifferentAccess,
23
- # and hwia is unreliable in some versions of Rails. Oh well.
24
- # https://github.com/projectblacklight/blacklight/issues/827
25
13
 
26
- new_hash.each_pair do |key, new_value|
27
- old = source_hash.fetch(key, nil)
14
+ # Utility method used in our solr search logic.
15
+ # Like Rails Hash#deep_merge, merges 2 hashes recursively, including nested Arrays and Hashes.
16
+ # Unlike Rails Hash#deep_merge:
17
+ # - will NOT merge nil values over existing ones
18
+ # - will NOT merge (non-FalseClass) blank values
19
+ # - WILL deduplicate values from arrays after merging them
20
+ #
21
+ # @param [Hash|HashWithIndifferentAccess] source_hash
22
+ # @param [Hash|HashWithIndifferentAccess] new_hash
23
+ # @return [Hash] the deeply merged hash
24
+ # @see Rails #deep_merge http://apidock.com/rails/v4.2.1/Hash/deep_merge
25
+ # @example new_hash = BlacklightAdvancedSearch.deep_merge(h1, h2)
26
+ def self.deep_merge(source_hash, new_hash)
27
+ source_hash.deep_merge(new_hash, &method(:merge_conflict_resolution))
28
+ end
29
+
30
+ # this one side-effects the first param
31
+ # @see #deep_merge
32
+ # @deprecated use `new_hash = BlacklightAdvancedSearch.deep_merge(h1, h2)` instead
33
+ def self.deep_merge!(source_hash, new_hash)
34
+ source_hash.deep_merge!(new_hash, &method(:merge_conflict_resolution))
35
+ end
28
36
 
29
- source_hash[key] =
30
- if new_value.respond_to?(:blank) && new.blank?
31
- old
32
- elsif (old.kind_of?(Hash) and new_value.kind_of?(Hash))
33
- deep_merge!(old, new_value)
34
- old
35
- elsif (old.kind_of?(Array) and new_value.kind_of?(Array))
36
- old.concat(new_value).uniq
37
- elsif new_value.nil?
38
- # Allowing nil values to over-write on merge messes things up.
39
- # don't set a nil value if you really want to force blank, set
40
- # empty string.
41
- old
42
- else
43
- new_value
44
- end
45
- end
46
- source_hash
47
- end
48
-
37
+ # the arguments are set by what the Rails Hash.deep_merge supplies the block
38
+ def self.merge_conflict_resolution(_key, old, new_value)
39
+ return old if new_value.nil?
40
+ return old if new_value.respond_to?(:blank?) && new_value.blank? && !new_value.is_a?(FalseClass)
41
+ return old | new_value if old.is_a?(Array) && new_value.is_a?(Array)
42
+ new_value
43
+ end
49
44
  end
@@ -9,16 +9,16 @@ module BlacklightAdvancedSearch
9
9
  include FilterParser
10
10
  attr_reader :config, :params
11
11
 
12
- def initialize(params,config)
13
- @params = HashWithIndifferentAccess.new(params)
12
+ def initialize(params, config)
13
+ @params = Blacklight::SearchState.new(params, config).to_h
14
14
  @config = config
15
15
  end
16
16
 
17
17
  def to_solr
18
18
  @to_solr ||= begin
19
19
  {
20
- :q => process_query(params,config),
21
- :fq => generate_solr_fq()
20
+ :q => process_query(params, config),
21
+ :fq => generate_solr_fq
22
22
  }
23
23
  end
24
24
  end
@@ -32,40 +32,39 @@ module BlacklightAdvancedSearch
32
32
  # returns as a kash of field => query.
33
33
  # see also keyword_op
34
34
  def keyword_queries
35
- unless(@keyword_queries)
35
+ unless @keyword_queries
36
36
  @keyword_queries = {}
37
37
 
38
38
  return @keyword_queries unless @params[:search_field] == ::AdvancedController.blacklight_config.advanced_search[:url_key]
39
39
 
40
- config.search_fields.each do | key, field_def |
41
- if ! @params[ key.to_sym ].blank?
42
- @keyword_queries[ key ] = @params[ key.to_sym ]
40
+ config.search_fields.each do |key, _field_def|
41
+ unless @params[key.to_sym].blank?
42
+ @keyword_queries[key] = @params[key.to_sym]
43
43
  end
44
44
  end
45
45
  end
46
- return @keyword_queries
46
+ @keyword_queries
47
47
  end
48
48
 
49
49
  # extracts advanced-type filters from query params,
50
50
  # returned as a hash of field => [array of values]
51
51
  def filters
52
- unless (@filters)
52
+ unless @filters
53
53
  @filters = {}
54
54
  return @filters unless @params[:f_inclusive] && @params[:f_inclusive].respond_to?(:each_pair)
55
55
  @params[:f_inclusive].each_pair do |field, value_array|
56
56
  @filters[field] ||= value_array.dup
57
57
  end
58
58
  end
59
- return @filters
59
+ @filters
60
60
  end
61
61
 
62
62
  def filters_include_value?(field, value)
63
- filters[field.to_s].try {|array| array.include? value}
63
+ filters[field.to_s].try { |array| array.include? value }
64
64
  end
65
65
 
66
66
  def empty?
67
67
  filters.empty? && keyword_queries.empty?
68
68
  end
69
-
70
69
  end
71
70
  end
@@ -2,7 +2,6 @@ require 'parslet'
2
2
  require 'parsing_nesting/tree'
3
3
  module BlacklightAdvancedSearch
4
4
  module AdvancedSearchBuilder
5
-
6
5
  include Blacklight::SearchFields
7
6
 
8
7
  def is_advanced_search?
@@ -12,66 +11,64 @@ module BlacklightAdvancedSearch
12
11
  # this method should get added into the processor chain
13
12
  # in a position AFTER normal query handling (:add_query_to_solr),
14
13
  # so it'll overwrite that if and only if it's an advanced search.
15
- # adds a 'q' and 'fq's based on advanced search form input.
14
+ # adds a 'q' and 'fq's based on advanced search form input.
16
15
  def add_advanced_search_to_solr(solr_parameters)
17
16
  # If we've got the hint that we're doing an 'advanced' search, then
18
17
  # map that to solr #q, over-riding whatever some other logic may have set, yeah.
19
18
  # the hint right now is :search_field request param is set to a magic
20
- # key. OR of :f_inclusive is set for advanced params, we need processing too.
19
+ # key. OR of :f_inclusive is set for advanced params, we need processing too.
21
20
  if is_advanced_search?
22
21
  # Set this as a controller instance variable, not sure if some views/helpers depend on it. Better to leave it as a local variable
23
- # if not, more investigation later.
24
- advanced_query = BlacklightAdvancedSearch::QueryParser.new(blacklight_params, self.blacklight_config )
25
- BlacklightAdvancedSearch.deep_merge!(solr_parameters, advanced_query.to_solr )
26
- if advanced_query.keyword_queries.length > 0
22
+ # if not, more investigation later.
23
+ advanced_query = BlacklightAdvancedSearch::QueryParser.new(blacklight_params, self.blacklight_config)
24
+ BlacklightAdvancedSearch.deep_merge!(solr_parameters, advanced_query.to_solr)
25
+ unless advanced_query.keyword_queries.empty?
27
26
  # force :qt if set, fine if it's nil, we'll use whatever CatalogController
28
- # ordinarily uses.
27
+ # ordinarily uses.
29
28
  solr_parameters[:qt] = self.blacklight_config.advanced_search[:qt]
30
- solr_parameters[:defType] = "lucene"
29
+ solr_parameters[:defType] = "lucene"
31
30
  end
32
-
31
+
33
32
  end
34
33
  end
35
34
 
36
35
  # Different versions of Parslet raise different exception classes,
37
36
  # need to figure out which one exists to rescue
38
- @@parslet_failed_exceptions = if defined? Parslet::UnconsumedInput
39
- [Parslet::UnconsumedInput]
40
- else
41
- [Parslet::ParseFailed]
37
+ PARSLET_FAILED_EXCEPTIONS = if defined? Parslet::UnconsumedInput
38
+ [Parslet::UnconsumedInput].freeze
39
+ else
40
+ [Parslet::ParseFailed].freeze
42
41
  end
43
-
44
-
42
+
45
43
  # This method can be included in the SearchBuilder to have us
46
44
  # parse an ordinary entered :q for AND/OR/NOT and produce appropriate
47
45
  # Solr query.
48
46
  #
49
47
  # Note: For syntactically invalid input, we'll just skip the adv
50
48
  # parse and send it straight to solr same as if advanced_parse_q
51
- # were not being used.
49
+ # were not being used.
52
50
  def add_advanced_parse_q_to_solr(solr_parameters)
53
51
  unless scope.params[:q].blank?
54
- field_def = search_field_def_for_key( scope.params[:search_field]) ||
52
+ field_def = search_field_def_for_key(scope.params[:search_field]) ||
55
53
  default_search_field
56
-
57
-
54
+
58
55
  # If the individual field has advanced_parse_q suppressed, punt
59
- return if field_def[:advanced_parse] == false
60
-
56
+ return if field_def[:advanced_parse] == false
57
+
61
58
  solr_direct_params = field_def[:solr_parameters] || {}
62
59
  solr_local_params = field_def[:solr_local_parameters] || {}
63
-
60
+
64
61
  # See if we can parse it, if we can't, we're going to give up
65
62
  # and just allow basic search, perhaps with a warning.
66
63
  begin
67
- adv_search_params = ParsingNesting::Tree.parse(scope.params[:q], blacklight_config.advanced_search[:query_parser]).to_single_query_params( solr_local_params )
64
+ adv_search_params = ParsingNesting::Tree.parse(scope.params[:q], blacklight_config.advanced_search[:query_parser]).to_single_query_params(solr_local_params)
68
65
 
69
66
  BlacklightAdvancedSearch.deep_merge!(solr_parameters, solr_direct_params)
70
- BlacklightAdvancedSearch.deep_merge!(solr_parameters, adv_search_params)
71
- rescue *@@parslet_failed_exceptions => e
67
+ BlacklightAdvancedSearch.deep_merge!(solr_parameters, adv_search_params)
68
+ rescue PARSLET_FAILED_EXCEPTIONS => e
72
69
  # do nothing, don't merge our input in, keep basic search
73
- # optional TODO, display error message in flash here, but hard to
74
- # display a good one.
70
+ # optional TODO, display error message in flash here, but hard to
71
+ # display a good one.
75
72
  return
76
73
  end
77
74
  end
@@ -80,21 +77,20 @@ module BlacklightAdvancedSearch
80
77
  # A Solr param filter that is NOT included by default in the chain,
81
78
  # but is appended by AdvancedController#index, to do a search
82
79
  # for facets _ignoring_ the current query, we want the facets
83
- # as if the current query weren't there.
80
+ # as if the current query weren't there.
84
81
  #
85
82
  # Also adds any solr params set in blacklight_config.advanced_search[:form_solr_parameters]
86
83
  def facets_for_advanced_search_form(solr_p)
87
84
  # ensure empty query is all records, to fetch available facets on entire corpus
88
85
  solr_p["q"] = '{!lucene}*:*'
89
86
 
90
- # We only care about facets, we don't need any rows.
87
+ # We only care about facets, we don't need any rows.
91
88
  solr_p["rows"] = "0"
92
89
 
93
90
  # Anything set in config as a literal
94
91
  if blacklight_config.advanced_search[:form_solr_parameters]
95
- solr_p.merge!( blacklight_config.advanced_search[:form_solr_parameters] )
92
+ solr_p.merge!(blacklight_config.advanced_search[:form_solr_parameters])
96
93
  end
97
-
98
94
  end
99
95
  end
100
96
  end