mirror of
https://0xacab.org/sutty/sutty
synced 2024-11-24 10:36:22 +00:00
traer valores por defecto (excepto para boolean)
This commit is contained in:
parent
1878749910
commit
824226aa84
14 changed files with 19 additions and 22 deletions
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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?
|
||||||
|
|
|
@ -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?
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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 || {}
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue