Sha256: 61c091c052305251b47a3b12ee2f66ab9e373062870d707ed7c8e050bdd3841e
Contents?: true
Size: 1.31 KB
Versions: 15
Compression:
Stored size: 1.31 KB
Contents
module Kithe class IndexableSettings attr_accessor :solr_url, :writer_class_name, :writer_settings, :model_name_solr_field, :solr_id_value_attribute, :disable_callbacks, :batching_mode_batch_size def initialize(solr_url:, writer_class_name:, writer_settings:, model_name_solr_field:, solr_id_value_attribute:, disable_callbacks: false, batching_mode_batch_size: 100) @writer_class_name = writer_class_name @writer_settings = writer_settings @model_name_solr_field = model_name_solr_field @solr_id_value_attribute = solr_id_value_attribute || 'id' @batching_mode_batch_size = batching_mode_batch_size # use our local setter to set solr_url also in writer_settings solr_url = solr_url end # set solr_url also in writer_settings, cause it's expected there. def solr_url=(v) @solr_url = v writer_settings["solr.url"] = v if writer_settings end # Turn writer_class_name into an actual Class object. def writer_class writer_class_name.constantize end # Instantiate a new writer based on `writer_class_name` and `writer_settings` def writer_instance!(additional_settings = {}) writer_class.new(writer_settings.merge(additional_settings)) end end end
Version data entries
15 entries across 15 versions & 1 rubygems