module Blacklight::Configuration::Fields::ClassMethods

Public Instance Methods

define_field_access(key, options = {}) click to toggle source

Add a configuration block for a collection of solr fields

# File lib/blacklight/configuration/fields.rb, line 13
        def define_field_access(key, options = {})
          key = key.to_s if respond_to? :to_s

          default_values[key.pluralize.to_sym] = ActiveSupport::OrderedHash.new

          base_class_name = options.fetch(:class, Field)

          unless const_defined? key.camelcase
            class_eval <<-END_EVAL, __FILE__, __LINE__ + 1
              class #{key.camelcase} < #{base_class_name}; end
            END_EVAL
          end

          class_eval <<-END_EVAL, __FILE__, __LINE__ + 1
            def add_#{key}(*args, &block)
              add_blacklight_field("#{key}", *args, &block)
            end
          END_EVAL
        end