Sha256: e14439ca8952e4b9ebe8444f07157eac3b33f15c637a6ae4f5841d1b282ad68c

Contents?: true

Size: 763 Bytes

Versions: 57

Compression:

Stored size: 763 Bytes

Contents

# frozen_string_literal: true

##
# Value object for calculating a custom field name.
class CustomFieldName
  delegate :readonly_field?, :configuration, :field_type, to: :custom_field
  attr_reader :custom_field

  def initialize(custom_field)
    @custom_field = custom_field
  end

  def to_s
    "#{field_slug}#{field_suffix}"
  end

  private

  def field_slug
    "#{field_prefix}#{configuration['label'].parameterize}"
  end

  def field_prefix
    if readonly_field?
      'readonly_'
    else
      ''
    end
  end

  def field_suffix
    (field_type && Spotlight::Engine.config.custom_field_types[field_type.to_sym][:suffix]) ||
      default_field_suffix
  end

  def default_field_suffix
    Spotlight::Engine.config.solr_fields.text_suffix
  end
end

Version data entries

57 entries across 57 versions & 1 rubygems

Version Path
blacklight-spotlight-3.4.2.1 app/values/custom_field_name.rb
blacklight-spotlight-3.4.2 app/values/custom_field_name.rb
blacklight-spotlight-3.4.1 app/values/custom_field_name.rb
blacklight-spotlight-3.4.0 app/values/custom_field_name.rb
blacklight-spotlight-3.3.0 app/values/custom_field_name.rb
blacklight-spotlight-3.2.0 app/values/custom_field_name.rb
blacklight-spotlight-3.1.0 app/values/custom_field_name.rb
blacklight-spotlight-3.0.3 app/values/custom_field_name.rb
blacklight-spotlight-3.0.2 app/values/custom_field_name.rb
blacklight-spotlight-3.0.1 app/values/custom_field_name.rb
blacklight-spotlight-3.0.0 app/values/custom_field_name.rb
blacklight-spotlight-3.0.0.rc6 app/values/custom_field_name.rb
blacklight-spotlight-3.0.0.rc5 app/values/custom_field_name.rb
blacklight-spotlight-3.0.0.rc4 app/values/custom_field_name.rb
blacklight-spotlight-3.0.0.rc3 app/values/custom_field_name.rb
blacklight-spotlight-3.0.0.rc2 app/values/custom_field_name.rb
blacklight-spotlight-3.0.0.rc1 app/values/custom_field_name.rb