class Rulz::Rule
Attributes
proc[RW]
Public Class Methods
new(klass, proc)
click to toggle source
# File lib/rulz/rule.rb, line 5 def initialize(klass, proc) @proc = proc klass.instance_exec self do |rule| @rulz_rules ||= [] @rulz_rules << rule end end
rules(klass)
click to toggle source
# File lib/rulz/rule.rb, line 17 def self.rules(klass) klass.instance_eval { @rulz_rules } end
Public Instance Methods
apply!(receiver)
click to toggle source
# File lib/rulz/rule.rb, line 13 def apply!(receiver) Rulz::Evaluator::Rule.new(receiver, @proc).evaluate end