Sha256: bd0347c9263d9bf97d3fcee6290eb63724b35a58028f2c0b85cb13a0d6ce0eba
Contents?: true
Size: 772 Bytes
Versions: 6
Compression:
Stored size: 772 Bytes
Contents
# frozen_string_literal: true ## # A factory to return blacklight field configurations given a field key # that represents a field group (e.g. summary_fields, access_fields, etc) class BlacklightFieldConfigurationFactory def self.for(config:, field:, field_group:) new(config: config, field: field, field_group: field_group).field_config end def initialize(config:, field:, field_group:) @config = config @field = field @field_group = field_group end def field_config return null_field unless config.respond_to?(:"#{field_group}s") config.send(:"#{field_group}s").fetch(field) { null_field } end private attr_reader :config, :field, :field_group def null_field Blacklight::Configuration::NullField.new(field) end end
Version data entries
6 entries across 6 versions & 1 rubygems