5
0
Fork 0
mirror of https://0xacab.org/sutty/sutty synced 2024-11-15 06:41:42 +00:00

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