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

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

Overview

Class for mapping RDF integer 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 Integer values

Parameters:

Returns:

  • (Boolean)

339
340
341
# File 'lib/valkyrie/persistence/fedora/persister/orm_converter.rb', line 339

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

Instance Method Details

#resultApplicator

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

Returns:


345
346
347
348
# File 'lib/valkyrie/persistence/fedora/persister/orm_converter.rb', line 345

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