Class: RailsAiBridge::Serializers::Providers::Collaborators::RulesDocumentBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/rails_ai_bridge/serializers/providers/collaborators/rules_document_builder.rb

Overview

Assembles the full compact project rules document.

Constant Summary collapse

PROJECT_RULES_HEADER =

Format string for the project rules document heading.

'# %s — Project Rules'
VERSION_INFO_FORMAT =

Format string for Rails and Ruby version metadata.

'Rails %s | Ruby %s'

Instance Method Summary collapse

Constructor Details

#initialize(context:, config:) ⇒ RulesDocumentBuilder

Returns a new instance of RulesDocumentBuilder.

Parameters:



17
18
19
20
# File 'lib/rails_ai_bridge/serializers/providers/collaborators/rules_document_builder.rb', line 17

def initialize(context:, config:)
  @context = context
  @config = config
end

Instance Method Details

#callArray<String>

Returns rules document lines.

Returns:

  • (Array<String>)

    rules document lines



23
24
25
26
27
28
29
30
31
32
33
# File 'lib/rails_ai_bridge/serializers/providers/collaborators/rules_document_builder.rb', line 23

def call
  [
    header_lines,
    SharedAssistantGuidance.compact_engineering_rules_lines,
    main_section_lines,
    ['', *SharedAssistantGuidance.repo_specific_guidance_section_lines],
    model_section_lines,
    mcp_tool_reference_lines,
    SharedAssistantGuidance.compact_engineering_rules_footer_lines(@context)
  ].flatten
end