# 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