class RulesProcessor::Operations::Base
Attributes
condition[RW]
condition_value[RW]
field[RW]
options[RW]
record_class[RW]
record_value[RW]
records[RW]
value[RW]
Public Class Methods
new(args = {})
click to toggle source
# File lib/rules_processor/operations/base.rb, line 14 def initialize(args = {}) @records = args[:records] @condition = OpenStruct.new(args[:condition]) @record_class = condition.field.split('_', 2)[0].to_sym @field = condition.field.split('_', 2)[1].to_sym @record_value = actual_value @condition_value = nullified_value end
Public Instance Methods
perform()
click to toggle source
# File lib/rules_processor/operations/base.rb, line 23 def perform fail NotImplementedError end
Private Instance Methods
actual_value()
click to toggle source
# File lib/rules_processor/operations/base.rb, line 29 def actual_value records[record_class].public_send(field) end
nullified_value()
click to toggle source
# File lib/rules_processor/operations/base.rb, line 33 def nullified_value return nil if condition.value == '' condition.value end