10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/rag_ruby/rails/indexable.rb', line 10
def rag_index(column, metadata: nil, chunk_strategy: :recursive_character, on: [:create, :update])
class_attribute :rag_column, default: column
class_attribute :rag_metadata_proc, default: metadata
class_attribute :rag_chunk_strategy, default: chunk_strategy
if on.include?(:create)
after_create :rag_index_record
end
if on.include?(:update)
after_update :rag_index_record, if: -> { saved_change_to_attribute?(column) }
end
if on.include?(:destroy) || on.include?(:delete)
after_destroy :rag_remove_record
end
end
|