Class: RosettAi::Composition::MergeStrategy::ArrayUnion
- Inherits:
-
Object
- Object
- RosettAi::Composition::MergeStrategy::ArrayUnion
- Defined in:
- lib/rosett_ai/composition/merge_strategy.rb
Overview
Array-union strategy: when the same rule ID exists in multiple scopes, array fields are combined (union) and deduplicated. Scalar fields use highest-priority value.
Instance Method Summary collapse
-
#apply(rules) ⇒ Array<Hash>
Merged rules (arrays unioned by ID).
Instance Method Details
#apply(rules) ⇒ Array<Hash>
Returns merged rules (arrays unioned by ID).
98 99 100 101 102 103 104 |
# File 'lib/rosett_ai/composition/merge_strategy.rb', line 98 def apply(rules) MergeStrategy.group_by_id(rules).map do |_id, group| next group.first if group.size == 1 merge_group(group) end end |