class ScoobySnacks::BlacklightConfiguration

Public Class Methods

add_all_fields(config) click to toggle source
# File lib/scooby_snacks/blacklight_configuration.rb, line 4
def self.add_all_fields(config)
  self.add_show_fields(config)
  self.add_search_fields(config)
  self.add_facet_fields(config)
  self.add_sort_fields(config)
  self.add_search_result_display_fields(config)
end
add_facet_fields(config) click to toggle source
# File lib/scooby_snacks/blacklight_configuration.rb, line 33
def self.add_facet_fields(config)
   self.schema.facet_fields.each do |field|
     config.add_facet_field field.solr_facet_name, {label: field.label, limit: field.facet_limit}
  end
end
add_search_fields(config) click to toggle source
# File lib/scooby_snacks/blacklight_configuration.rb, line 22
def self.add_search_fields(config)
  self.schema.searchable_fields.each do |field|
    config.add_search_field(field.name, label: field.label, include_in_advanced_search: true) do |new_field|
      new_field.solr_parameters = {
        qf: field.solr_search_name.to_s,
        pf: field.solr_search_name
      }
    end
  end
end
add_search_result_display_fields(config) click to toggle source
# File lib/scooby_snacks/blacklight_configuration.rb, line 45
def self.add_search_result_display_fields(config)
   self.schema.search_result_display_fields.each do |field|
     config.add_index_field(field.solr_name, self.get_index_options(field))
  end
end
add_show_fields(config) click to toggle source
# File lib/scooby_snacks/blacklight_configuration.rb, line 12
def self.add_show_fields(config)
   self.schema.display_fields.each do |field|
     begin
       config.add_show_field field.solr_name, label: field.label
     rescue 
       Rails.logger.error "error adding field: #{field.solr_name} for property #{field.label}. Redundant definition?"
     end
   end
end
add_sort_fields(config) click to toggle source
# File lib/scooby_snacks/blacklight_configuration.rb, line 39
def self.add_sort_fields(config)
   self.schema.sortable_fields.each do |field|
     config.add_sort_field field.solr_sort_name, label: field.label
  end
end
get_index_options(field) click to toggle source
# File lib/scooby_snacks/blacklight_configuration.rb, line 51
def self.get_index_options field
    options = {}
    options[:label] =  field.label || field.name
    options[:index_itemprop] = field.itemprop if field.itemprop
    options[:helper_method] = field.helper_method if field.helper_method
    options[:link_to_search] = field.solr_search_name if field.searchable?
    return options
end

Private Class Methods

schema() click to toggle source
# File lib/scooby_snacks/blacklight_configuration.rb, line 62
def self.schema
  ScoobySnacks::METADATA_SCHEMA
end