Class: Valkyrie::Persistence::Fedora::Persister::ModelConverter::EnumerableValue

Inherits:
MappedFedoraValue show all
Defined in:
lib/valkyrie/persistence/fedora/persister/model_converter.rb

Overview

Class mapping Property objects for value arrays

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 the value is a Property for Array values

Parameters:

  • value (Object)

Returns:

  • (Boolean)

529
530
531
# File 'lib/valkyrie/persistence/fedora/persister/model_converter.rb', line 529

def self.handles?(value)
  value.is_a?(Property) && value.value.is_a?(Array)
end

Instance Method Details

#resultCompositeProperty

Construct a CompositeProperty composed of the mapped Array elements

Returns:


535
536
537
538
539
540
# File 'lib/valkyrie/persistence/fedora/persister/model_converter.rb', line 535

def result
  new_values = value.value.map do |val|
    map_value(converted_value: val)
  end
  CompositeProperty.new(new_values)
end