mirror of
https://0xacab.org/sutty/sutty
synced 2024-11-23 01:56:21 +00:00
28 lines
848 B
Ruby
28 lines
848 B
Ruby
|
# frozen_string_literal: true
|
||
|
|
||
|
module Metadata
|
||
|
# Hasta ahora veníamos habilitando la opción de romper
|
||
|
# retroactivamente relaciones, sin informar que estaba sucediendo.
|
||
|
# Con este módulo, todas las relaciones que ya tienen una relación
|
||
|
# inversa son ignoradas.
|
||
|
module UnusedValuesConcern
|
||
|
extend ActiveSupport::Concern
|
||
|
|
||
|
included do
|
||
|
# Genera un Hash de { title | slug => uuid }, excluyendo el Post
|
||
|
# actual y todos los que ya tengan una relación inversa, para no
|
||
|
# romperla.
|
||
|
#
|
||
|
# @return [Hash]
|
||
|
def values
|
||
|
@values ||= posts.map do |p|
|
||
|
next if p.uuid.value == post.uuid.value
|
||
|
next unless inverse? && (p[inverse].empty? || [p[inverse].value].flatten.include?(post.uuid.value))
|
||
|
|
||
|
[title(p), p.uuid.value]
|
||
|
end.compact.to_h
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|