| Class | OpenWFE::ComparisonExpression |
| In: |
lib/openwfe/expressions/fe_equals.rb
|
| Parent: | FlowExpression |
A parent class for the ‘equals’ expression.
(there should be a ‘greater-than’ and a ‘lesser-than’ expression, but there are not that needed for now).
# File lib/openwfe/expressions/fe_equals.rb, line 107
107: def apply (workitem)
108:
109: #
110: # preparing for children handling... later...
111: #
112:
113: reply workitem
114: end
# File lib/openwfe/expressions/fe_equals.rb, line 116
116: def reply (workitem)
117:
118: value_a, value_b = lookup_values workitem
119:
120: result = compare value_a, value_b
121:
122: ldebug { "apply() result is '#{result}' #{@fei.to_debug_s}" }
123:
124: workitem.set_result result
125:
126: reply_to_parent workitem
127: end
The bulk job of looking up the values to compare
# File lib/openwfe/expressions/fe_equals.rb, line 134
134: def lookup_values (workitem)
135:
136: value_a = lookup_value workitem
137: value_b = lookup_value workitem, :prefix => 'other'
138:
139: value_c = lookup_variable_or_field_value workitem
140:
141: if not value_a and value_b
142: value_a = value_c
143: elsif value_a and not value_b
144: value_b = value_c
145: end
146:
147: [ value_a, value_b ]
148: end