Class: Lutaml::Rdf::Transform
Constant Summary
Model::Transform::MAX_CACHE_SIZE
Instance Attribute Summary
#context, #lutaml_register
Instance Method Summary
collapse
#attributes, cache_size, cached_transform, clear_cache!, data_to_model, #data_to_model, #initialize, invalidate_for, #model_class, model_to_data, #model_to_data
Instance Method Details
#each_member(instance, member_rule) ⇒ Object
20
21
22
23
|
# File 'lib/lutaml/rdf/transform.rb', line 20
def each_member(instance, member_rule, &)
collection = Array(instance.public_send(member_rule.attr_name))
collection.each(&)
end
|
29
30
31
|
# File 'lib/lutaml/rdf/transform.rb', line 29
def (value)
value.language_tag if value.is_a?(Lutaml::Rdf::LanguageTagged)
end
|
#member_mapping_for(member, format) ⇒ Object
25
26
27
|
# File 'lib/lutaml/rdf/transform.rb', line 25
def member_mapping_for(member, format)
member.class.mappings[format]
end
|
#resolve_single_type_uri(mapping, type_value) ⇒ Object
10
11
12
|
# File 'lib/lutaml/rdf/transform.rb', line 10
def resolve_single_type_uri(mapping, type_value)
mapping.namespace_set.resolve_compact_iri(type_value)
end
|
#resolve_subject_uri(mapping, instance) ⇒ Object
6
7
8
|
# File 'lib/lutaml/rdf/transform.rb', line 6
def resolve_subject_uri(mapping, instance)
mapping.rdf_subject&.call(instance)
end
|
#resolve_type_uris(mapping) ⇒ Object
14
15
16
17
18
|
# File 'lib/lutaml/rdf/transform.rb', line 14
def resolve_type_uris(mapping)
return [] unless mapping.rdf_type.any?
mapping.rdf_type.map { |t| resolve_single_type_uri(mapping, t) }
end
|