Class: RailsAiBridge::Tools::ModelDetails::SummaryFormatter
- Inherits:
-
Object
- Object
- RailsAiBridge::Tools::ModelDetails::SummaryFormatter
- Defined in:
- lib/rails_ai_bridge/tools/model_details/summary_formatter.rb
Overview
Renders a bare list of ActiveRecord model names with optional semantic-tier annotations.
Instance Method Summary collapse
-
#call ⇒ String
Builds Markdown with header
# Available models (N), sorted ActiveRecord bullets, footer, and optional POJO appendix. -
#initialize(models:, non_ar_models: nil) ⇒ SummaryFormatter
constructor
A new instance of SummaryFormatter.
Constructor Details
#initialize(models:, non_ar_models: nil) ⇒ SummaryFormatter
Returns a new instance of SummaryFormatter.
10 11 12 13 |
# File 'lib/rails_ai_bridge/tools/model_details/summary_formatter.rb', line 10 def initialize(models:, non_ar_models: nil) @models = models @non_ar_models = non_ar_models end |
Instance Method Details
#call ⇒ String
Builds Markdown with header # Available models (N), sorted ActiveRecord bullets, footer, and optional POJO appendix.
18 19 20 21 22 23 24 25 26 27 |
# File 'lib/rails_ai_bridge/tools/model_details/summary_formatter.rb', line 18 def call model_list = @models.keys.sort.map do |m| data = @models[m] tier = data.is_a?(Hash) ? data[:semantic_tier] : nil suffix = tier.present? ? " (#{tier})" : '' "- #{m}#{suffix}" end.join("\n") base = "# Available models (#{@models.size})\n\n#{model_list}\n\n_Use `model:\"Name\"` for full detail._" base + NonArModelsAppendix.append_markdown(@non_ar_models) end |