5
0
Fork 0
mirror of https://0xacab.org/sutty/sutty synced 2024-11-25 05:06:22 +00:00
panel/app/models/metadata_predefined_value.rb
f 780d26f79a
feat: title es un atributo obligatorio
si no existe en el esquema, generar un título en base a sus valores
2024-05-24 13:13:58 -03:00

28 lines
617 B
Ruby

# frozen_string_literal: true
# Un campo de texto seleccionado de una lista de valores posibles
class MetadataPredefinedValue < MetadataString
# Obtiene todos los valores desde el layout, en un formato compatible
# con options_for_select.
#
# @return [Hash]
def values
@values ||= layout.dig(:metadata, name, 'values', I18n.locale.to_s)&.invert || {}
end
def to_s
values.invert[value].to_s
end
private
# Solo permite almacenar los valores predefinidos.
#
# @return [String]
def sanitize(string)
v = super string
return '' unless values.values.include? v
v
end
end