Class: RagRuby::Loaders::ActiveRecord

Inherits:
Base
  • Object
show all
Defined in:
lib/rag_ruby/loaders/active_record.rb

Instance Method Summary collapse

Constructor Details

#initialize(column: :content, metadata_columns: []) ⇒ ActiveRecord

Returns a new instance of ActiveRecord.



6
7
8
9
# File 'lib/rag_ruby/loaders/active_record.rb', line 6

def initialize(column: :content, metadata_columns: [])
  @column = column
   = 
end

Instance Method Details

#load(scope) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/rag_ruby/loaders/active_record.rb', line 11

def load(scope)
  records = scope.respond_to?(:find_each) ? scope.to_a : [scope]

  records.map do |record|
    content = record.public_send(@column).to_s
     = (record)

    Document.new(
      content: content,
      metadata: ,
      source: "#{record.class.name}##{record.id}"
    )
  end
end