5
0
Fork 0
mirror of https://0xacab.org/sutty/sutty synced 2024-05-17 01:00:48 +00:00

traer valores por defecto (excepto para boolean)

This commit is contained in:
f 2020-11-11 15:29:12 -03:00
parent 1878749910
commit 824226aa84
14 changed files with 19 additions and 22 deletions

View file

@ -4,7 +4,7 @@
class MetadataArray < MetadataTemplate class MetadataArray < MetadataTemplate
# El valor por defecto es una array vacía # El valor por defecto es una array vacía
def default_value def default_value
[] super || []
end end
private private

View file

@ -4,7 +4,7 @@
# requieran texto largo. # requieran texto largo.
class MetadataContent < MetadataTemplate class MetadataContent < MetadataTemplate
def default_value def default_value
'' super || ''
end end
def value def value

View file

@ -18,7 +18,7 @@ class MetadataEvent < MetadataTemplate
# #
# @return [Hash] # @return [Hash]
def default_value def default_value
{} super || {}
end end
def to_param def to_param

View file

@ -6,7 +6,7 @@ require 'filemagic'
class MetadataFile < MetadataTemplate class MetadataFile < MetadataTemplate
# Una ruta vacía a la imagen con una descripción vacía # Una ruta vacía a la imagen con una descripción vacía
def default_value def default_value
{ 'path' => nil, 'description' => nil } super || { 'path' => nil, 'description' => nil }
end end
def empty? def empty?

View file

@ -3,7 +3,7 @@
# Define un campo de coordenadas geográficas # Define un campo de coordenadas geográficas
class MetadataGeo < MetadataTemplate class MetadataGeo < MetadataTemplate
def default_value def default_value
{ 'lat' => nil, 'lng' => nil } super || { 'lat' => nil, 'lng' => nil }
end end
def empty? def empty?

View file

@ -12,7 +12,7 @@
# diferencia entre has_many y belongs_to. # diferencia entre has_many y belongs_to.
class MetadataHasAndBelongsToMany < MetadataBelongsTo class MetadataHasAndBelongsToMany < MetadataBelongsTo
def default_value def default_value
[] super || []
end end
# Posts a los que pertenece. Memoizamos por value para obtener # Posts a los que pertenece. Memoizamos por value para obtener

View file

@ -3,7 +3,7 @@
# Un campo de idioma # Un campo de idioma
class MetadataLang < MetadataTemplate class MetadataLang < MetadataTemplate
def default_value def default_value
I18n.locale super || I18n.locale
end end
def value def value

View file

@ -3,7 +3,7 @@
# Los valores de este metadato son artículos en otros idiomas # Los valores de este metadato son artículos en otros idiomas
class MetadataLocales < MetadataTemplate class MetadataLocales < MetadataTemplate
def default_value def default_value
[] super || []
end end
# Todos los valores posibles para cada idioma disponible # Todos los valores posibles para cada idioma disponible

View file

@ -4,7 +4,7 @@
class MetadataNumber < MetadataTemplate class MetadataNumber < MetadataTemplate
# Nada # Nada
def default_value def default_value
nil super || nil
end end
def save def save

View file

@ -5,7 +5,7 @@ class MetadataOrder < MetadataTemplate
# El valor según la posición del post en la relación ordenada por # El valor según la posición del post en la relación ordenada por
# fecha, a fecha más alta, posición más alta # fecha, a fecha más alta, posición más alta
def default_value def default_value
site.posts(lang: post.lang.value).sort_by(:date).index(post) super || site.posts(lang: lang).sort_by(:date).index(post)
end end
def save def save

View file

@ -31,10 +31,6 @@ class MetadataPath < MetadataTemplate
document.data['ext'].blank? ? '.markdown' : document.data['ext'] document.data['ext'].blank? ? '.markdown' : document.data['ext']
end end
def lang
post.lang.value
end
def slug def slug
post.slug.value post.slug.value
end end

View file

@ -27,11 +27,6 @@ class MetadataRelatedPosts < MetadataArray
post&.title&.value || post&.slug&.value post&.title&.value || post&.slug&.value
end end
# TODO: Traer el idioma actual de otra forma
def lang
post&.lang&.value || I18n.locale
end
# Encuentra el filtro # Encuentra el filtro
def filter def filter
layout.metadata.dig(name, 'filter')&.to_h&.symbolize_keys || {} layout.metadata.dig(name, 'filter')&.to_h&.symbolize_keys || {}

View file

@ -4,7 +4,7 @@
class MetadataString < MetadataTemplate class MetadataString < MetadataTemplate
# Una string vacía # Una string vacía
def default_value def default_value
'' super || ''
end end
private private

View file

@ -21,15 +21,21 @@ MetadataTemplate = Struct.new(:site, :document, :name, :label, :type,
!value_was.nil? && value_was != value !value_was.nil? && value_was != value
end end
# Trae el idioma actual del sitio o del panel
# @return [String]
def lang
@lang ||= post&.lang&.value || I18n.locale.to_s
end
# El valor por defecto # El valor por defecto
def default_value def default_value
raise NotImplementedError layout.metadata.dig(name, 'default', lang)
end end
# Valores posibles, busca todos los valores actuales en otros # Valores posibles, busca todos los valores actuales en otros
# artículos del mismo sitio # artículos del mismo sitio
def values def values
site.everything_of(name, lang: post&.lang&.value) site.everything_of(name, lang: lang)
end end
# Valor actual o por defecto. Al memoizarlo podemos modificarlo # Valor actual o por defecto. Al memoizarlo podemos modificarlo