class LightRulesEngine::ValueResolver
Attributes
data_provider[R]
Public Class Methods
new(data_provider:)
click to toggle source
# File lib/light_rules_engine/value_resolver.rb, line 3 def initialize(data_provider:) @data_provider = data_provider end
Public Instance Methods
resolve(value)
click to toggle source
# File lib/light_rules_engine/value_resolver.rb, line 7 def resolve(value) kind = value[:kind] send("process_#{kind}", value) end
Private Instance Methods
config()
click to toggle source
# File lib/light_rules_engine/value_resolver.rb, line 32 def config @config ||= LightRulesEngine.config end
process_const(value)
click to toggle source
# File lib/light_rules_engine/value_resolver.rb, line 24 def process_const(value) config[:consts][value[:value]] end
process_data(value)
click to toggle source
# File lib/light_rules_engine/value_resolver.rb, line 20 def process_data(value) data_provider.value_for(value[:type]) end
process_operator(value)
click to toggle source
# File lib/light_rules_engine/value_resolver.rb, line 16 def process_operator(value) config[:operation_context_class].new(value, data_provider).result end
process_value(value)
click to toggle source
# File lib/light_rules_engine/value_resolver.rb, line 28 def process_value(value) value[:value] end