lib/blacklight_cql.rb in blacklight_cql-2.0.1 vs lib/blacklight_cql.rb in blacklight_cql-3.0.0

- old
+ new

@@ -1,12 +1,19 @@ # Blacklight-cql -require 'blacklight_cql/blacklight_to_solr' - require 'blacklight_cql/version' require 'blacklight_cql/engine' +require 'rails' +require 'blacklight' + +require 'blacklight_cql/blacklight_to_solr' +require 'blacklight_cql/search_builder_extension' +require 'blacklight_cql/controller_extension' +require 'blacklight_cql/explain_behavior' + + module BlacklightCql mattr_accessor :cql_search_field_key self.cql_search_field_key = "cql" # Escape single or double quote marks with backslash @@ -21,8 +28,32 @@ def self.solr_param_quote(val) unless val =~ /^[a-zA-Z$_\-\^]+$/ val = "'" + escape_quotes(val) + "'" end return val + end + + # Called by app using this gem in it's SearchBuilder class definition + # + # BlacklightCql.configure_search_builder(self) + # + # to configure for BlacklightCql + def self.configure_search_builder(search_builder_class) + search_builder_class.send(:include, BlacklightCql::SolrHelperExtension) + end + + # Called by app using this gem in it's (eg) CatalogController class + # definition + # + # BlacklightCql.configure_controller(self) + # + # to configure for BlacklightCql + def self.configure_controller(bl_controller_class) + bl_controller_class.blacklight_config.configure do |config| + hash = BlacklightCql::SolrHelperExtension.pseudo_search_field + config.add_search_field hash[:key], hash + end + + bl_controller_class.send(:helper, BlacklightCql::TemplateHelperExtension) end end