Module: Bali::Integrators::Rule
Instance Method Summary collapse
- #add_rule_class(rule_class) ⇒ Object
- #rule_class_for(target) ⇒ Object
- #rule_classes ⇒ Object
-
#rule_group_for(target_class, subtarget) ⇒ Object
attempt to search the rule group, but if not exist, will return nil.
Instance Method Details
#add_rule_class(rule_class) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/bali/integrators/rules_integrator.rb', line 25 def add_rule_class(rule_class) if rule_class.is_a?(Bali::RuleClass) target = rule_class.target_class raise Bali::DslError, "Target must be a class" unless target.is_a?(Class) Bali::RULE_CLASS_MAP[target.to_s] = rule_class rule_class else raise Bali::DslError, "Only allow instance of Bali::RuleClass" end end |
#rule_class_for(target) ⇒ Object
8 9 10 11 12 |
# File 'lib/bali/integrators/rules_integrator.rb', line 8 def rule_class_for(target) raise Bali::DslError, "Target must be a class" unless target.is_a?(Class) rule_class = Bali::RULE_CLASS_MAP[target.to_s] return rule_class.nil? ? nil : rule_class end |
#rule_classes ⇒ Object
4 5 6 |
# File 'lib/bali/integrators/rules_integrator.rb', line 4 def rule_classes Bali::RULE_CLASS_MAP end |
#rule_group_for(target_class, subtarget) ⇒ Object
attempt to search the rule group, but if not exist, will return nil
15 16 17 18 19 20 21 22 23 |
# File 'lib/bali/integrators/rules_integrator.rb', line 15 def rule_group_for(target_class, subtarget) rule_class = rule_class_for(target_class) if rule_class rule_group = rule_class.rules_for(subtarget) return rule_group else return nil end end |