refactorizacion

This commit is contained in:
f 2021-02-24 13:05:51 -03:00
parent 3a38cae0bc
commit 1b6599dd40

View file

@ -306,10 +306,8 @@ class Post
def valid?
@errors = {}
layout.metadata.keys.map(&:to_sym).each do |metadata|
template = send(metadata)
errors[metadata] = template.errors unless template.valid?
attributes.each do |attr|
errors[attr] = self[attr].errors unless self[attr].valid?
end
errors.blank?
@ -337,8 +335,8 @@ class Post
end
def update_attributes(hashable)
hashable.to_hash.each do |name, value|
self[name].value = value
hashable.to_hash.each do |attr, value|
self[attr].value = value
end
save
@ -350,11 +348,7 @@ class Post
# por su id y convertimos a Array para poder agregar o quitar luego
# sin pasar por ActiveRecord.
def usuaries
@usuaries ||= if (d = document_usuaries).empty?
[]
else
Usuarie.where(id: d).to_a
end
@usuaries ||= document_usuaries.empty? ? [] : Usuarie.where(id: document_usuaries).to_a
end
private
@ -367,14 +361,13 @@ class Post
end
def document_usuaries
document.data.fetch('usuaries', [])
@document_usuaries ||= document.data.fetch('usuaries', [])
end
# Ejecuta la acción de guardado en cada atributo
# TODO: Solo guardar los que se modificaron
# Ejecuta la acción de guardado en cada atributo.
def save_attributes!
attributes.map do |attr|
public_send(attr).save
self[attr].save
end.all?
end
end