Sha256: 42d9e65b41cdd55671d87282ca4bbca903873bb9a7b56cd4a5dcad66cc2a4f6f
Contents?: true
Size: 612 Bytes
Versions: 2
Compression:
Stored size: 612 Bytes
Contents
module Rules module HasRules def self.included(base) base.instance_eval do has_one :rule_set, class_name: 'Rules::RuleSet', as: :source, dependent: :destroy attr_accessible :rule_set_attributes accepts_nested_attributes_for :rule_set, allow_destroy: true def has_rule_attributes(attributes = {}) Rules::RuleSet.set_attributes_for(self, attributes) end end end def rule_set super || self.build_rule_set(source: self) end def rules_pass?(options = {}) rule_set.nil? || rule_set.evaluate(options) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rules-1.0.0 | lib/rules/has_rules.rb |
rules-0.1.2 | lib/rules/has_rules.rb |