Module: AsktiveRecord::Model::ClassMethods
- Defined in:
- lib/asktive_record/model.rb
Overview
Provides class-level methods for AsktiveRecord models, enabling natural language queries and configuration checks.
Instance Method Summary collapse
Instance Method Details
#ask(natural_language_query) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/asktive_record/model.rb', line 17 def ask(natural_language_query) ensure_api_key_configured! schema_content = load_schema raise ConfigurationError, "Schema content is empty." if schema_content.to_s.strip.empty? llm_service = AsktiveRecord::LlmService.new(AsktiveRecord.configuration) current_table_name = respond_to?(:table_name) ? table_name : name.downcase.pluralize raw_sql = llm_service.generate_sql(natural_language_query, schema_content, current_table_name) AsktiveRecord::Query.new(natural_language_query, raw_sql, self) end |
#asktive_record ⇒ Object
9 10 11 12 13 14 15 |
# File 'lib/asktive_record/model.rb', line 9 def asktive_record return if AsktiveRecord.configuration raise ConfigurationError, "AsktiveRecord is not configured. Please run the installer and " \ "ensure config/initializers/asktive_record.rb is set up." end |