Class: Valkyrie::Persistence::Fedora::Persister::OrmConverter::GraphToAttributes::DateTimeValue

Inherits:
ValueMapper
  • Object
show all
Defined in:
lib/valkyrie/persistence/fedora/persister/orm_converter.rb

Overview

Class for mapping RDF datetime literals into Valkyrie Resource attribute values

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 statement is an RDF literal typed for datetime values

Parameters:

Returns:

  • (Boolean)


313
314
315
# File 'lib/valkyrie/persistence/fedora/persister/orm_converter.rb', line 313

def self.handles?(value)
  value.statement.object.is_a?(RDF::Literal) && value.statement.object.language.blank? && value.statement.object.datatype == PermissiveSchema.valkyrie_datetime
end

Instance Method Details

#resultApplicator

Casts the value of the RDF literal into an Applicator for DateTime values

Returns:



319
320
321
322
# File 'lib/valkyrie/persistence/fedora/persister/orm_converter.rb', line 319

def result
  value.statement.object = ::DateTime.iso8601(value.statement.object.to_s).new_offset(0)
  calling_mapper.for(Property.new(statement: value.statement, scope: value.scope, adapter: value.adapter)).result
end