20 lines
436 B
Ruby
20 lines
436 B
Ruby
module HasIndexedPost
|
|
extend ActiveSupport::Concern
|
|
|
|
included do
|
|
has_one :indexed_post,
|
|
as: :postable,
|
|
dependent: :destroy,
|
|
inverse_of: :postable,
|
|
validate: false,
|
|
autosave: true
|
|
|
|
after_initialize :ensure_indexed_post!
|
|
|
|
def ensure_indexed_post!
|
|
self.indexed_post ||=
|
|
IndexedPost.new(created_at: self.created_at, postable: self)
|
|
end
|
|
end
|
|
end
|