class Rulz::Evaluator::AttributeCondition

Public Class Methods

new(receiver, attribute, name, *args) click to toggle source
Calls superclass method Rulz::Evaluator::Base::new
# File lib/rulz/evaluator.rb, line 41
def initialize(receiver, attribute, name, *args)
  @attribute = attribute
  @condition = Rulz::Attribute::Condition.find(receiver.class, attribute, name)
  super(receiver, *args)
  define_singleton_method attribute do
    @receiver.send(attribute)
  end
end

Public Instance Methods

condition(name, *args) click to toggle source
# File lib/rulz/evaluator.rb, line 50
def condition(name, *args)
  Rulz::Evaluator::AttributeCondition.new(@receiver, @attribute, name, *args).evaluate
end
evaluate() click to toggle source
# File lib/rulz/evaluator.rb, line 58
def evaluate
  instance_exec(*@args, &@condition.proc)
end
opposite_of(name, *args) click to toggle source
# File lib/rulz/evaluator.rb, line 54
def opposite_of(name, *args)
  not condition(name, *args)
end