34 lines
633 B
Ruby
34 lines
633 B
Ruby
![]() |
# frozen_string_literal: true
|
||
|
|
||
|
# Almacena el UUID de otro Post
|
||
|
class MetadataBelongsTo < MetadataRelatedPosts
|
||
|
# TODO: Convertir algunos tipos de valores en módulos para poder
|
||
|
# implementar varios tipos de campo sin repetir código
|
||
|
#
|
||
|
# @include MetadataString
|
||
|
#
|
||
|
# Una string vacía
|
||
|
def default_value
|
||
|
''
|
||
|
end
|
||
|
|
||
|
# @see MetadataTemplate
|
||
|
def to_param
|
||
|
name
|
||
|
end
|
||
|
|
||
|
def validate
|
||
|
super
|
||
|
|
||
|
errors << I18n.t('metadata.belongs_to.missing_post') unless !value.blank? && posts.find(sanitize(value), uuid: true)
|
||
|
|
||
|
errors.empty?
|
||
|
end
|
||
|
|
||
|
private
|
||
|
|
||
|
def sanitize(uuid)
|
||
|
uuid.gsub(/[^a-f0-9\-]/, '')
|
||
|
end
|
||
|
end
|