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

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

Overview

Class for mapping RDF XML 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 using XML data types



366
367
368
# File 'lib/valkyrie/persistence/fedora/persister/orm_converter.rb', line 366

def self.handles?(value)
  value.statement.object.is_a?(RDF::Literal) && value.statement.object.language.blank? && value.statement.object.datatype == RDF::URI("http://www.w3.org/2001/XMLSchema#string")
end

Instance Method Details

#resultApplicator

Casts the value of the RDF literal into an Applicator for XML datatype values

Returns:



372
373
374
375
# File 'lib/valkyrie/persistence/fedora/persister/orm_converter.rb', line 372

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