Module: LinkedRails::Model::Serialization::ClassMethods
- Defined in:
- lib/linked_rails/model/serialization.rb
Instance Method Summary collapse
- #attributes_from_filters(filters) ⇒ Object
- #include_in_collection? ⇒ Boolean
-
#includes_for_serializer ⇒ Object
The associations to preload when serializing multiple records.
- #input_select_property ⇒ Object
- #predicate_for_key(key) ⇒ Object
- #predicate_mapping ⇒ Object
-
#preview_includes ⇒ Object
The associations to include when serializing multiple records.
-
#show_includes ⇒ Object
The associations to include when serializing one record.
Instance Method Details
#attributes_from_filters(filters) ⇒ Object
19 20 21 22 23 24 25 26 |
# 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? ⇒ Boolean
28 29 30 |
# File 'lib/linked_rails/model/serialization.rb', line 28 def include_in_collection? false end |
#includes_for_serializer ⇒ Object
The associations to preload when serializing multiple records
37 38 39 |
# File 'lib/linked_rails/model/serialization.rb', line 37 def includes_for_serializer {} end |
#input_select_property ⇒ Object
32 33 34 |
# File 'lib/linked_rails/model/serialization.rb', line 32 def input_select_property Vocab.schema.name end |
#predicate_for_key(key) ⇒ Object
41 42 43 44 45 46 |
# 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 ⇒ Object
48 49 50 |
# File 'lib/linked_rails/model/serialization.rb', line 48 def predicate_mapping @predicate_mapping ||= Hash[attribute_mapping + reflection_mapping] end |
#preview_includes ⇒ Object
The associations to include when serializing multiple records
53 54 55 |
# File 'lib/linked_rails/model/serialization.rb', line 53 def preview_includes [] end |
#show_includes ⇒ Object
The associations to include when serializing one record
58 59 60 |
# File 'lib/linked_rails/model/serialization.rb', line 58 def show_includes preview_includes end |