5
0
Fork 0
mirror of https://0xacab.org/sutty/sutty synced 2025-02-22 21:41:47 +00:00
panel/app/models/concerns/metadata/unused_values_concern.rb

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