Class: RailsAiBridge::Serializers::Providers::Collaborators::LineEnforcer

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

Overview

Enforces maximum line limits for AI context documents. Trims content and adds MCP pointer when limits are exceeded.

Defined Under Namespace

Classes: EnforcedLines

Constant Summary collapse

TRIMMER_NOTICE =

Notice text for trimmed content

'_Context trimmed. Use MCP tools for full details._'

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ LineEnforcer

Returns a new instance of LineEnforcer.

Parameters:



14
15
16
# File 'lib/rails_ai_bridge/serializers/providers/collaborators/line_enforcer.rb', line 14

def initialize(config)
  @config = config
end

Instance Method Details

#enforce(lines) ⇒ Array<String>

Enforces claude_max_lines by trimming and adding MCP pointer.

Parameters:

  • lines (Array<String>)

    Full document lines

Returns:

  • (Array<String>)

    Trimmed lines or original if within limit



21
22
23
# File 'lib/rails_ai_bridge/serializers/providers/collaborators/line_enforcer.rb', line 21

def enforce(lines)
  EnforcedLines.new(lines, @config.claude_max_lines).to_a
end