Module: LinkedRails::Controller::Delta
- Includes:
- Helpers::DeltaHelper
- Defined in:
- lib/linked_rails/controller/delta.rb
Instance Method Summary collapse
-
#changed_relations_triples(resource, inverted = nil) ⇒ Object
rubocop:disable Metrics/AbcSize.
- #changes_triples(resource) ⇒ Object
Methods included from Helpers::DeltaHelper
#delta_iri, #invalidate_collection_delta, #invalidate_parent_collections_delta, #invalidate_resource_delta, #resource_added_delta, #resource_removed_delta, #same_as_statement, #singular_added_delta, #singular_removed_delta
Instance Method Details
#changed_relations_triples(resource, inverted = nil) ⇒ Object
rubocop:disable Metrics/AbcSize
12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/linked_rails/controller/delta.rb', line 12 def changed_relations_triples(resource, inverted = nil) # rubocop:disable Metrics/AbcSize resource.previously_changed_relations.flat_map do |key, value| if key.to_s.ends_with?('_collection') changed_collection_triples(resource, key) else destructed = resource.send(:association_has_destructed?, key) records = value.relationship_type == :has_many ? resource.send(key) : [resource.send(key)] changed_relation_triples(value.predicate, destructed, records - [inverted], resource) end end end |
#changes_triples(resource) ⇒ Object
8 9 10 |
# File 'lib/linked_rails/controller/delta.rb', line 8 def changes_triples(resource) resource_serializer(resource)&.send(:repository).statements end |