25 lines
461 B
Ruby
25 lines
461 B
Ruby
|
# 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
|
||
|
docs.each do |post|
|
||
|
post.to_index.save
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|