5
0
Fork 0
mirror of https://0xacab.org/sutty/sutty synced 2024-11-24 14:56:22 +00:00
panel/app/models/metadata_array.rb

46 lines
882 B
Ruby
Raw Permalink Normal View History

2019-08-06 17:54:17 +00:00
# frozen_string_literal: true
# Una lista de valores
class MetadataArray < MetadataTemplate
2023-10-06 13:53:19 +00:00
include Metadata::IndexableConcern
include Metadata::AlwaysPublicConcern
2019-08-06 17:54:17 +00:00
# El valor por defecto es una array vacía
2023-10-06 13:53:19 +00:00
#
# @return [Array]
2019-08-06 17:54:17 +00:00
def default_value
super || []
2019-08-06 17:54:17 +00:00
end
2019-08-13 23:33:57 +00:00
2023-10-06 13:53:19 +00:00
# @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
2021-06-26 23:34:13 +00:00
[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|
2021-02-11 19:16:25 +00:00
case v
when String then super(v).sub(/\.\z/, '')
else v
end
2021-02-11 15:13:18 +00:00
end.select(&:present?)
end
2019-08-06 17:54:17 +00:00
end