mirror of
https://0xacab.org/sutty/sutty
synced 2024-11-26 11:16:21 +00:00
no tener que definir to_param en cada Metadata
This commit is contained in:
parent
2f2cc0e3c3
commit
0d703d0d43
9 changed files with 14 additions and 28 deletions
|
@ -7,10 +7,6 @@ class MetadataArray < MetadataTemplate
|
||||||
[]
|
[]
|
||||||
end
|
end
|
||||||
|
|
||||||
def to_param
|
|
||||||
{ name => [] }
|
|
||||||
end
|
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def sanitize(values)
|
def sanitize(values)
|
||||||
|
|
|
@ -13,11 +13,6 @@ class MetadataBelongsTo < MetadataRelatedPosts
|
||||||
''
|
''
|
||||||
end
|
end
|
||||||
|
|
||||||
# @see MetadataTemplate
|
|
||||||
def to_param
|
|
||||||
name
|
|
||||||
end
|
|
||||||
|
|
||||||
def validate
|
def validate
|
||||||
super
|
super
|
||||||
|
|
||||||
|
|
|
@ -10,11 +10,9 @@ class MetadataDocumentDate < MetadataTemplate
|
||||||
# El valor puede ser un Date, Time o una String en el formato
|
# El valor puede ser un Date, Time o una String en el formato
|
||||||
# "yyyy-mm-dd"
|
# "yyyy-mm-dd"
|
||||||
def value
|
def value
|
||||||
return self[:value] = document.date || default_value if self[:value].nil?
|
return (self[:value] = document.date || default_value) if self[:value].nil?
|
||||||
|
|
||||||
if self[:value].is_a? String
|
self[:value] = Date.iso8601(self[:value]).to_time if self[:value].is_a? String
|
||||||
self[:value] = Date.iso8601(self[:value]).to_time
|
|
||||||
end
|
|
||||||
|
|
||||||
self[:value]
|
self[:value]
|
||||||
end
|
end
|
||||||
|
|
|
@ -50,10 +50,6 @@ class MetadataFile < MetadataTemplate
|
||||||
true
|
true
|
||||||
end
|
end
|
||||||
|
|
||||||
def to_param
|
|
||||||
{ name => %i[description path] }
|
|
||||||
end
|
|
||||||
|
|
||||||
# Almacena el archivo en el sitio y lo devuelve
|
# Almacena el archivo en el sitio y lo devuelve
|
||||||
#
|
#
|
||||||
# @return ActiveStorage::Attachment
|
# @return ActiveStorage::Attachment
|
||||||
|
|
|
@ -10,10 +10,6 @@ class MetadataGeo < MetadataTemplate
|
||||||
value == default_value
|
value == default_value
|
||||||
end
|
end
|
||||||
|
|
||||||
def to_param
|
|
||||||
{ name => %i[lat lng] }
|
|
||||||
end
|
|
||||||
|
|
||||||
def save
|
def save
|
||||||
return true if empty?
|
return true if empty?
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ class MetadataLang < MetadataTemplate
|
||||||
end
|
end
|
||||||
|
|
||||||
def value
|
def value
|
||||||
self[:value] || document.collection.label || default_value
|
self[:value] ||= document.collection.label || default_value
|
||||||
end
|
end
|
||||||
|
|
||||||
def values
|
def values
|
||||||
|
|
|
@ -9,6 +9,7 @@ class MetadataLocales < MetadataTemplate
|
||||||
# Todos los valores posibles para cada idioma disponible
|
# Todos los valores posibles para cada idioma disponible
|
||||||
#
|
#
|
||||||
# TODO: Optimizar?
|
# TODO: Optimizar?
|
||||||
|
# TODO: Mantener sincronizados
|
||||||
#
|
#
|
||||||
# @return { lang: { title: uuid } }
|
# @return { lang: { title: uuid } }
|
||||||
def values
|
def values
|
||||||
|
@ -20,8 +21,4 @@ class MetadataLocales < MetadataTemplate
|
||||||
}
|
}
|
||||||
end.inject(:merge)
|
end.inject(:merge)
|
||||||
end
|
end
|
||||||
|
|
||||||
def to_param
|
|
||||||
{ name => [] }
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -33,7 +33,7 @@ class MetadataSlug < MetadataTemplate
|
||||||
end
|
end
|
||||||
|
|
||||||
def value
|
def value
|
||||||
self[:value] || document.data.fetch('slug', default_value)
|
self[:value] ||= document.data.fetch('slug', default_value)
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
|
@ -53,8 +53,16 @@ MetadataTemplate = Struct.new(:site, :document, :name, :label, :type,
|
||||||
errors.empty?
|
errors.empty?
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Usa el valor por defecto para generar el formato de StrongParam
|
||||||
|
# necesario.
|
||||||
|
#
|
||||||
|
# @return [Symbol,Hash]
|
||||||
def to_param
|
def to_param
|
||||||
name
|
case default_value
|
||||||
|
when Hash then { name => default_value.keys.map(&:to_sym) }
|
||||||
|
when Array then { name => [] }
|
||||||
|
else name
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def to_s
|
def to_s
|
||||||
|
|
Loading…
Reference in a new issue