Class: RailsAiBridge::Serializers::Providers::Collaborators::LineEnforcer::EnforcedLines
- Inherits:
-
Object
- Object
- RailsAiBridge::Serializers::Providers::Collaborators::LineEnforcer::EnforcedLines
- Defined in:
- lib/rails_ai_bridge/serializers/providers/collaborators/line_enforcer.rb
Overview
Applies a line budget while preserving room for the trim notice.
Instance Method Summary collapse
-
#initialize(lines, max_lines) ⇒ EnforcedLines
constructor
A new instance of EnforcedLines.
-
#to_a ⇒ Array<String>
Original lines, or trimmed lines with the MCP pointer.
Constructor Details
#initialize(lines, max_lines) ⇒ EnforcedLines
Returns a new instance of EnforcedLines.
29 30 31 32 |
# File 'lib/rails_ai_bridge/serializers/providers/collaborators/line_enforcer.rb', line 29 def initialize(lines, max_lines) @lines = lines @max_lines = max_lines end |
Instance Method Details
#to_a ⇒ Array<String>
Returns Original lines, or trimmed lines with the MCP pointer.
35 36 37 38 39 40 41 |
# File 'lib/rails_ai_bridge/serializers/providers/collaborators/line_enforcer.rb', line 35 def to_a return @lines.first(line_budget) if within_limit? return [] if line_budget.zero? return [LineEnforcer::TRIMMER_NOTICE] if line_budget == 1 @lines.first(safe_count) + ['', LineEnforcer::TRIMMER_NOTICE] end |