Sha256: dd3579a254de6d528707602350be582f2d04fbd1bc4479fb15923b006353ac9f
Contents?: true
Size: 1004 Bytes
Versions: 3
Compression:
Stored size: 1004 Bytes
Contents
require "rulz/version" require "rulz/definer" require "rulz/condition" require "rulz/evaluator" require "rulz/action" require "rulz/rule" 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
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rulz-1.0.2 | lib/rulz.rb |
rulz-1.0.1 | lib/rulz.rb |
rulz-1.0.0 | lib/rulz.rb |