mirror of
https://0xacab.org/sutty/sutty
synced 2025-02-22 21:41:47 +00:00
33 lines
954 B
Ruby
33 lines
954 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
|
|
# Excluye el Post actual y todos los que ya tengan una relación
|
|
# inversa, para no romperla.
|
|
#
|
|
# @return [Array]
|
|
def values
|
|
@values ||= posts.map do |p|
|
|
next if p.uuid.value == post.uuid.value
|
|
|
|
disabled = false
|
|
|
|
# El campo está deshabilitado si está completo y no incluye el
|
|
# post actual.
|
|
if inverse?
|
|
disabled = p[inverse].present? && ![p[inverse].value].flatten.include?(post.uuid.value)
|
|
end
|
|
|
|
[title(p), p.uuid.value, disabled]
|
|
end.compact
|
|
end
|
|
end
|
|
end
|
|
end
|