Sha256: a403ae52a64af14c5790291e9fc0e02ed44eb3b7920d5f0a2e64022a4ea54aae

Contents?: true

Size: 1.08 KB

Versions: 10

Compression:

Stored size: 1.08 KB

Contents

module ActiveFedora::RDF
  # Transient class that represents a field that we send to solr.
  # It might be possible for two properties to share a single field map entry if they use the same solr key.
  # @attribute [Symbol] type the data type hint for Solrizer
  # @attribute [Array] behaviors the indexing hints such as :stored_searchable or :symbol
  # @attribute [Array] values the actual values that get sent to solr
  class FieldMapEntry

    attr_accessor :type, :behaviors, :values

    def initialize
      @behaviors = []
      @values = []
    end

    # Merges any existing values for solr fields with new, incoming values and ensures that resulting values are unique.
    # @param [Symbol] type the data type for the field such as :string, :date, :integer
    # @param [Array] behaviors Solrizer's behaviors for indexing such as :stored_searhable, :symbol
    # @param [Array] values existing values for the solr field
    def merge!(type, behaviors, values)
      self.type ||= type
      self.behaviors += behaviors
      self.behaviors.uniq!
      self.values += values
    end

  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
active-fedora-9.5.0 lib/active_fedora/rdf/field_map_entry.rb
active-fedora-9.4.3 lib/active_fedora/rdf/field_map_entry.rb
active-fedora-9.4.2 lib/active_fedora/rdf/field_map_entry.rb
active-fedora-9.4.1 lib/active_fedora/rdf/field_map_entry.rb
active-fedora-9.4.0 lib/active_fedora/rdf/field_map_entry.rb
active-fedora-9.3.0 lib/active_fedora/rdf/field_map_entry.rb
active-fedora-9.2.1 lib/active_fedora/rdf/field_map_entry.rb
active-fedora-9.2.0 lib/active_fedora/rdf/field_map_entry.rb
active-fedora-9.2.0.rc2 lib/active_fedora/rdf/field_map_entry.rb
active-fedora-9.2.0.rc1 lib/active_fedora/rdf/field_map_entry.rb