Class: Valkyrie::Persistence::Solr::ModelConverter::DateTimePropertyValue

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

Overview

Casts DateTime values into a recognizable string in Solr.

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

Determines whether or not a Property value is a DateTime or Time

Parameters:

  • value (Object)

Returns:

  • (Boolean)


364
365
366
# File 'lib/valkyrie/persistence/solr/model_converter.rb', line 364

def self.handles?(value)
  value.is_a?(Property) && (value.value.is_a?(Time) || value.value.is_a?(DateTime))
end

Instance Method Details

#resultSolrRow

Note:

this prepends the string “datetime-” to the value indexed in Solr

Constructs a SolrRow object for a datestamp derived from the value

Returns:



371
372
373
# File 'lib/valkyrie/persistence/solr/model_converter.rb', line 371

def result
  calling_mapper.for(Property.new(value.key, "datetime-#{JSON.parse(to_datetime(value.value).to_json)}")).result
end