Class: Valkyrie::Persistence::Solr::ModelConverter::LiteralPropertyValue

Inherits:
ValueMapper
  • Object
show all
Defined in:
lib/valkyrie/persistence/solr/model_converter.rb

Overview

Handles casting language-typed RDF::Literals

Instance Attribute Summary

Attributes inherited from ValueMapper

#calling_mapper, #value

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from ValueMapper

for, #initialize, register

Constructor Details

This class inherits a constructor from Valkyrie::ValueMapper

Class Method Details

.handles?(value) ⇒ Boolean

Returns:

  • (Boolean)


283
284
285
# File 'lib/valkyrie/persistence/solr/model_converter.rb', line 283

def self.handles?(value)
  value.is_a?(Property) && value.value.is_a?(::RDF::Literal)
end

Instance Method Details

#resultObject



287
288
289
290
291
292
293
294
295
296
297
# File 'lib/valkyrie/persistence/solr/model_converter.rb', line 287

def result
  key = value.key
  val = value.value
  CompositeSolrRow.new(
    [
      calling_mapper.for(Property.new(key, val.to_s)).result,
      calling_mapper.for(Property.new("#{key}_lang", val.language.to_s)).result,
      calling_mapper.for(Property.new("#{key}_type", val.datatype.to_s)).result
    ]
  )
end