5
0
Fork 0
mirror of https://0xacab.org/sutty/sutty synced 2024-11-24 12:06:22 +00:00
panel/app/models/metadata_array.rb
f 8a668e6254
fix: testear arrays
las arrays se usan para campos estilo categorías, etiquetas, autorxs
2023-10-06 11:43:09 -03:00

45 lines
882 B
Ruby

# frozen_string_literal: true
# Una lista de valores
class MetadataArray < MetadataTemplate
include Metadata::IndexableConcern
include Metadata::AlwaysPublicConcern
# El valor por defecto es una array vacía
#
# @return [Array]
def default_value
super || []
end
# @return [String]
def to_s
value.join(', ')
end
# Obtiene el valor desde el documento, convirtiéndolo a Array si no lo
# era ya, por retrocompabilidad.
#
# @return [Array]
def document_value
[super].flatten(1).compact
end
private
# Eliminar valores vacíos
#
# XXX: Por qué eliminábamos el punto del final?
#
# @todo Sanitizar otros valores
# @param :values [Array]
# @return [Array]
def sanitize(values)
values.map do |v|
case v
when String then super(v).sub(/\.\z/, '')
else v
end
end.select(&:present?)
end
end