class Solr::CoreConfiguration::CoreConfigBuilder
Attributes
default[R]
dynamic_fields[R]
fields_params[R]
name[R]
Public Class Methods
new(name:, default:)
click to toggle source
# File lib/solr/core_configuration/core_config_builder.rb, line 6 def initialize(name:, default:) @name = name @default = default @dynamic_fields = {} @fields_params = {} end
Public Instance Methods
build()
click to toggle source
# File lib/solr/core_configuration/core_config_builder.rb, line 21 def build Solr::CoreConfiguration::CoreConfig.new( name: name, fields: build_fields, default: default ) end
dynamic_field(field_name, solr_name:)
click to toggle source
# File lib/solr/core_configuration/core_config_builder.rb, line 13 def dynamic_field(field_name, solr_name:) dynamic_fields[field_name] = Solr::CoreConfiguration::DynamicField.new(name: field_name, solr_name: solr_name) end
field(field_name, params = {})
click to toggle source
# File lib/solr/core_configuration/core_config_builder.rb, line 17 def field(field_name, params = {}) fields_params[field_name] = params end
get_dynamic_field(field_name, dynamic_field_name)
click to toggle source
# File lib/solr/core_configuration/core_config_builder.rb, line 29 def get_dynamic_field(field_name, dynamic_field_name) dynamic_field = dynamic_fields[dynamic_field_name] if dynamic_field_name && !dynamic_field raise "Field '#{field_name}' is mapped to an undefined dynamic field '#{dynamic_field_name}'" end dynamic_field end
Private Instance Methods
build_fields()
click to toggle source
# File lib/solr/core_configuration/core_config_builder.rb, line 41 def build_fields fields_params.each_with_object({}) do |(name, params), fields| fields[name] = Solr::CoreConfiguration::Field.new(name: name, solr_name: params[:solr_name], dynamic_field: get_dynamic_field(name, params[:dynamic_field])) end end