# frozen_string_literal: true # Indexa todos los artículos de un sitio # # TODO: Hacer opcional class Site module Index extend ActiveSupport::Concern included do # TODO: Debería ser un Job? after_create :index_posts! has_many :indexed_posts, dependent: :destroy def index_posts! Site.transaction do jekyll.read jekyll.documents.each do |doc| doc.read! Post.new(document: doc, site: self, layout: layouts[doc['layout'].to_sym).index! end update(last_indexed_commit: repository.head_commit.oid) end end end end end