sutty/app/models/post_relation.rb

26 lines
616 B
Ruby
Raw Normal View History

# frozen_string_literal: true
# La relación de un sitio con sus artículos, esto nos permite generar
# artículos como si estuviésemos usando ActiveRecord.
class PostRelation < Array
# No necesitamos cambiar el sitio
attr_reader :site
def initialize(site:)
@site = site
# Proseguimos la inicialización sin valores por defecto
super()
end
# Genera un artículo nuevo con los parámetros que le pasemos y lo suma
# al array
def build(**args)
self << Post.new(site: site, **args)
end
# Intenta guardar todos y devuelve true si pudo
def save_all
map(&:save).all?
end
end