Class: RosettAi::Composition::MergeStrategy::DeepMerge
- Inherits:
-
Object
- Object
- RosettAi::Composition::MergeStrategy::DeepMerge
- Defined in:
- lib/rosett_ai/composition/merge_strategy.rb
Overview
Deep-merge strategy: when the same rule ID exists in multiple scopes, hash fields from all occurrences are recursively merged. Higher-priority values take precedence for scalar fields.
Instance Method Summary collapse
-
#apply(rules) ⇒ Array<Hash>
Merged rules (hashes deep-merged by ID).
Instance Method Details
#apply(rules) ⇒ Array<Hash>
Returns merged rules (hashes deep-merged by ID).
66 67 68 69 70 71 72 |
# File 'lib/rosett_ai/composition/merge_strategy.rb', line 66 def apply(rules) MergeStrategy.group_by_id(rules).map do |_id, group| next group.first if group.size == 1 merge_group(group) end end |