Class: Valkyrie::Persistence::Fedora::Persister::OrmConverter::GraphToAttributes::NestedValue
- Inherits:
-
ValueMapper
- Object
- ValueMapper
- Valkyrie::Persistence::Fedora::Persister::OrmConverter::GraphToAttributes::NestedValue
show all
- Defined in:
- lib/valkyrie/persistence/fedora/persister/orm_converter.rb
Defined Under Namespace
Classes: GraphContainer
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
Class Method Details
.handles?(value) ⇒ Boolean
119
120
121
122
123
|
# File 'lib/valkyrie/persistence/fedora/persister/orm_converter.rb', line 119
def self.handles?(value)
value.statement.object.is_a?(RDF::URI) && value.statement.object.to_s.include?("#") &&
(value.statement.object.to_s.start_with?("#") ||
value.statement.object.to_s.start_with?(value.adapter.connection_prefix))
end
|
Instance Method Details
#container ⇒ Object
135
136
137
|
# File 'lib/valkyrie/persistence/fedora/persister/orm_converter.rb', line 135
def container
GraphContainer.new(graph, value.statement.object)
end
|
#graph ⇒ Object
151
152
153
|
# File 'lib/valkyrie/persistence/fedora/persister/orm_converter.rb', line 151
def graph
@graph ||= RDF::Graph.new
end
|
#new_subject(statement) ⇒ Object
143
144
145
146
147
148
149
|
# File 'lib/valkyrie/persistence/fedora/persister/orm_converter.rb', line 143
def new_subject(statement)
if statement.subject == value.statement.object
RDF::URI("")
else
statement.subject
end
end
|
#resource ⇒ Object
139
140
141
|
# File 'lib/valkyrie/persistence/fedora/persister/orm_converter.rb', line 139
def resource
OrmConverter.new(object: container, adapter: value.adapter).convert
end
|
#result ⇒ Object
125
126
127
128
129
130
131
132
133
|
# File 'lib/valkyrie/persistence/fedora/persister/orm_converter.rb', line 125
def result
value.scope.each do |statement|
next unless statement.subject.to_s.include?("#")
subject = new_subject(statement)
graph << RDF::Statement.new(subject, statement.predicate, statement.object)
end
value.statement.object = resource
Applicator.new(Property.new(statement: value.statement, scope: value.scope, adapter: value.adapter))
end
|