module LinkedRails::Model::Serialization::ClassMethods
Public Instance Methods
attributes_from_filters(filters)
click to toggle source
# File lib/linked_rails/model/serialization.rb, line 19 def attributes_from_filters(filters) filters.each_with_object({}) do |(key, value), hash| next unless value.count == 1 attribute = predicate_mapping[key]&.key hash[attribute] = value.first if attribute end end
include_in_collection?()
click to toggle source
# File lib/linked_rails/model/serialization.rb, line 28 def include_in_collection? false end
includes_for_serializer()
click to toggle source
The associations to preload when serializing multiple records
# File lib/linked_rails/model/serialization.rb, line 37 def includes_for_serializer {} end
input_select_property()
click to toggle source
# File lib/linked_rails/model/serialization.rb, line 32 def input_select_property Vocab.schema.name end
predicate_for_key(key)
click to toggle source
# File lib/linked_rails/model/serialization.rb, line 41 def predicate_for_key(key) return if key.blank? predicate_mapping.detect { |_key, value| value.key.to_sym == key.to_sym }&.first || predicate_for_key(try(:attribute_aliases)&.key(key.to_s)) end
predicate_mapping()
click to toggle source
# File lib/linked_rails/model/serialization.rb, line 48 def predicate_mapping @predicate_mapping ||= Hash[attribute_mapping + reflection_mapping] end
preview_includes()
click to toggle source
The associations to include when serializing multiple records
# File lib/linked_rails/model/serialization.rb, line 53 def preview_includes [] end
show_includes()
click to toggle source
The associations to include when serializing one record
# File lib/linked_rails/model/serialization.rb, line 58 def show_includes preview_includes end
Private Instance Methods
attribute_mapping()
click to toggle source
# File lib/linked_rails/model/serialization.rb, line 64 def attribute_mapping serializer = RDF::Serializers.serializer_for(self) return [] if serializer.try(:attributes_to_serialize).blank? serializer .attributes_to_serialize .values .select { |attr| attr.predicate.present? } .map { |attr| [attr.predicate, attr] } end
reflection_mapping()
click to toggle source
# File lib/linked_rails/model/serialization.rb, line 75 def reflection_mapping serializer = RDF::Serializers.serializer_for(self) return [] if serializer.try(:relationships_to_serialize).blank? serializer .relationships_to_serialize .values .select { |value| value.predicate.present? } .map { |value| [value.predicate, value] } end