Module: Rules::HasRules
- Defined in:
- lib/rules/has_rules.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.included(base) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 |
# File 'lib/rules/has_rules.rb', line 3 def self.included(base) base.instance_eval do has_one :rule_set, class_name: 'Rules::RuleSet', as: :source, dependent: :destroy accepts_nested_attributes_for :rule_set, allow_destroy: true def has_rule_attributes(attributes = {}) Rules::RuleSet.set_attributes_for(self, attributes) end end end |
Instance Method Details
#rule_set ⇒ Object
15 16 17 |
# File 'lib/rules/has_rules.rb', line 15 def rule_set super || self.build_rule_set(source: self) end |
#rules_pass?(options = {}) ⇒ Boolean
19 20 21 |
# File 'lib/rules/has_rules.rb', line 19 def rules_pass?( = {}) rule_set.nil? || rule_set.evaluate() end |