Class: RailsAiBridge::Tools::ModelDetails::StandardFormatter
- Inherits:
-
Object
- Object
- RailsAiBridge::Tools::ModelDetails::StandardFormatter
- Defined in:
- lib/rails_ai_bridge/tools/model_details/standard_formatter.rb
Overview
Renders ActiveRecord model names with association and validation counts (and optional tier).
Instance Method Summary collapse
-
#call ⇒ String
Builds Markdown with header
# Models (N)and one line per non-errored model, plus optional POJO appendix. -
#initialize(models:, non_ar_models: nil) ⇒ StandardFormatter
constructor
A new instance of StandardFormatter.
Constructor Details
#initialize(models:, non_ar_models: nil) ⇒ StandardFormatter
Returns a new instance of StandardFormatter.
10 11 12 13 |
# File 'lib/rails_ai_bridge/tools/model_details/standard_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 # Models (N) and one line per non-errored model, plus optional POJO appendix.
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/rails_ai_bridge/tools/model_details/standard_formatter.rb', line 18 def call lines = ["# Models (#{@models.size})", ''] @models.keys.sort.each do |name| data = @models[name] next if data[:error] assoc_count = (data[:associations] || []).size val_count = (data[:validations] || []).size line = "- **#{name}**" line += " — tier: #{data[:semantic_tier]}" if data[:semantic_tier].present? line += " — #{assoc_count} associations, #{val_count} validations" if assoc_count.positive? || val_count.positive? lines << line end lines << '' << '_Use `model:"Name"` for full detail, or `detail:"full"` for association lists._' lines.join("\n") + NonArModelsAppendix.append_markdown(@non_ar_models) end |