Module: OpenWFE::MergeMixin

Included in:
GenericSyncExpression::MergeArray, ListenExpression, RestoreWorkItemExpression
Defined in:
lib/openwfe/expressions/merge.rb

Overview

Gathering methods for mixing (merging) workitems.

Instance Method Summary collapse

Instance Method Details

#merge_workitems(wiTarget, wiSource, override = false) ⇒ Object

Merges a source workitem into a target workitem (the fields of the source will overwrite the fields in the target).

Returns the resulting (merged) workitem.



56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# File 'lib/openwfe/expressions/merge.rb', line 56

def merge_workitems (wiTarget, wiSource, override=false)

    return wiSource unless wiTarget
    return wiTarget unless wiSource

    return wiSource if override

    #puts "merge()"
    #puts "merge() source : " + wiSource.attributes.inspect
    #puts "merge() target : " + wiTarget.attributes.inspect

    wiSource.attributes.each do |k, v|

        #puts "merge() '#{k}' => '#{v}'"

        nk = OpenWFE::fulldup k
        nv = OpenWFE::fulldup v

        wiTarget.attributes[nk] = nv
    end

    #puts "merge() target after : " + wiTarget.attributes.inspect

    wiTarget
end