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