Module: Maglev::ActiveRecordExtension

Extended by:
ActiveSupport::Concern
Defined in:
lib/maglev/active_record_extension.rb

Instance Method Summary collapse

Instance Method Details

#ask(question, limit: 10, user: nil) ⇒ Object



71
72
73
74
75
76
77
# File 'lib/maglev/active_record_extension.rb', line 71

def ask(question, limit: 10, user: nil)
  if user
    Answerer.new(self.class).ask(question, limit: limit, owner: self, user: user)
  else
    Answerer.new(self.class).ask(question, limit: limit, owner: self)
  end
end

#explain(limit: 10) ⇒ Object



79
80
81
# File 'lib/maglev/active_record_extension.rb', line 79

def explain(limit: 10)
  ask(Maglev.configuration.explain_question, limit: limit)
end

#maglev_context_preview(question: nil) ⇒ Object



83
84
85
86
87
88
# File 'lib/maglev/active_record_extension.rb', line 83

def maglev_context_preview(question: nil)
  ContextPreview.new(
    text: maglev_snapshot,
    metadata: {question: question, provider_calls: 0}
  )
end

#maglev_snapshotObject



67
68
69
# File 'lib/maglev/active_record_extension.rb', line 67

def maglev_snapshot
  SnapshotBuilder.new(self, self.class.maglev_config).build.to_s
end