Class: RosettAi::Composition::MergeStrategy::FirstWins

Inherits:
Object
  • Object
show all
Defined in:
lib/rosett_ai/composition/merge_strategy.rb

Overview

First-wins strategy: the highest-priority (first in sorted order) rule wins. Duplicate IDs from lower-priority scopes are dropped. This is the default behaviour and matches pre-merge-strategy semantics.

Instance Method Summary collapse

Instance Method Details

#apply(rules) ⇒ Array<Hash>

Returns deduplicated rules (first occurrence wins).

Parameters:

  • rules (Array<Hash>)

    sorted rules (highest priority first)

Returns:

  • (Array<Hash>)

    deduplicated rules (first occurrence wins)



55
56
57
# File 'lib/rosett_ai/composition/merge_strategy.rb', line 55

def apply(rules)
  MergeStrategy.group_by_id(rules).map { |_id, group| group.first }
end