Module: LightRulesEngine
- Defined in:
- lib/light_rules_engine.rb,
lib/light_rules_engine/config.rb,
lib/light_rules_engine/version.rb,
lib/light_rules_engine/base_rule.rb,
lib/light_rules_engine/operators.rb,
lib/light_rules_engine/operators/eq.rb,
lib/light_rules_engine/operators/gt.rb,
lib/light_rules_engine/operators/lt.rb,
lib/light_rules_engine/data_provider.rb,
lib/light_rules_engine/operators/all.rb,
lib/light_rules_engine/operators/any.rb,
lib/light_rules_engine/value_resolver.rb,
lib/light_rules_engine/operator_contxt.rb,
lib/light_rules_engine/operators/range.rb,
lib/light_rules_engine/data_container_builder.rb,
lib/light_rules_engine/conditions_applicable_checker.rb
Defined Under Namespace
Modules: Operators
Classes: BaseRule, ConditionsApplicableChecker, Config, DataContainerBuilder, DataProvider, OperatorContxt, ValueResolver
Constant Summary
collapse
- VERSION =
'0.1.0'.freeze
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.applicable_conditions?(data_container, conditions) ⇒ Boolean
20
21
22
|
# File 'lib/light_rules_engine.rb', line 20
def self.applicable_conditions?(data_container, conditions)
ConditionsApplicableChecker.new(data_container: data_container, conditions: conditions).applable?
end
|
.config ⇒ Object
12
13
14
|
# File 'lib/light_rules_engine.rb', line 12
def self.config
@config || Config::DEFAULT_CONFIG
end
|
.setup_config(opts = {}) ⇒ Object
16
17
18
|
# File 'lib/light_rules_engine.rb', line 16
def self.setup_config(opts = {})
@config = Config::DEFAULT_CONFIG.merge(opts)
end
|
Instance Method Details
#rules_applicable?(data_container, *rules) ⇒ Boolean
24
25
26
27
28
|
# File 'lib/light_rules_engine.rb', line 24
def rules_applicable?(data_container, *rules)
rules.map do |rule|
rule if rules_applicable?(data_container, rule.conditions)
end.compact
end
|