5
0
Fork 0
mirror of https://0xacab.org/sutty/sutty synced 2024-07-01 22:36:08 +00:00
panel/app/models/metadata_template.rb

23 lines
620 B
Ruby
Raw Normal View History

2019-08-06 17:54:17 +00:00
# frozen_string_literal: true
# Representa la plantilla de un campo en los metadatos del artículo
MetadataTemplate = Struct.new(:site, :document, :name, :label, :type,
:value, :help, :required,
keyword_init: true) do
# El valor por defecto
def default_value
raise NotImplementedError
end
# Valores posibles, busca todos los valores actuales en otros
# artículos del mismo sitio
def values
site.everything_of(name.to_s)
end
# Valor actual o por defecto
def value
super || document.data.dig(name.to_s, default_value)
end
end