Class: RailsAiBridge::Tools::GetView::SummaryFormatter

Inherits:
BaseFormatter
  • Object
show all
Defined in:
lib/rails_ai_bridge/tools/get_view/summary_formatter.rb

Overview

Formats a summary of view-layer components.

Instance Method Summary collapse

Methods inherited from BaseFormatter

#initialize

Constructor Details

This class inherits a constructor from RailsAiBridge::Tools::GetView::BaseFormatter

Instance Method Details

#callString

Returns The formatted summary.

Returns:

  • (String)

    The formatted summary.



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/rails_ai_bridge/tools/get_view/summary_formatter.rb', line 9

def call
  filtered = filter_view_data
  return "View introspection failed: #{filtered[:error]}" if filtered[:error]

  lines = [heading, '']
  lines[0] = lines[0].sub('# Views', '# View Summary')
  lines << "- Layouts: #{filtered[:layouts].size}"
  lines << "- Template engines: #{filtered[:template_engines].join(', ')}" if filtered[:template_engines].any?
  lines << "- Shared partials: #{filtered[:shared_partials].size}"
  lines << ''

  unless @partial.present? && @controller.blank?
    filtered[:templates].keys.sort.each do |name|
      template_count = filtered[:templates][name].size
      partial_count = filtered[:controller_partials].fetch(name, []).size
      lines << "- **#{name}/** — #{template_count} templates, #{partial_count} partials"
    end
  end

  lines.join("\n")
end