Sha256: 5aa3e3004b6a872c550cf348780b6d1cf7b120ef8d205fffc0ddea611b98b8cb
Contents?: true
Size: 1.05 KB
Versions: 2
Compression:
Stored size: 1.05 KB
Contents
require "rulz/version" require "rulz/definer" require "rulz/condition" require "rulz/evaluator" require "rulz/action" require "rulz/rule" require "rulz/conditions/boolean" require "rulz/conditions/number" require "rulz/conditions/comparison" require "rulz/conditions/container" require "rulz/conditions/string" require "rulz/attribute" require "rulz/conditions/conditions" module Rulz def self.included(base) base.extend(ClassMethods) base.send(:include, InstanceMethods) end module InstanceMethods def condition_true?(name, *args) Rulz::Evaluator::Condition.new(self, name, *args).evaluate end def condition_false?(name, *args) not condition_true?(name, *args) end def apply!(action, *args) Rulz::Evaluator::Action.new(self, action, *args).evaluate end def apply_rules! Rulz::Rule.rules(self.class).each { |rule| rule.apply!(self) } end end module ClassMethods def define_rulz(&block) Rulz::Definer.new(self).instance_eval &block end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rulz-1.0.5 | lib/rulz.rb |
rulz-1.0.4 | lib/rulz.rb |