Sha256: cd947580152424a65c07d7fdd67d7518967388172b20fa46d1b06a7fce7c35f1

Contents?: true

Size: 494 Bytes

Versions: 7

Compression:

Stored size: 494 Bytes

Contents

require 'ruleby'
module ErpRules
  module RulesEngine
    module Ruleby
      #Adapter to invoke the Ruleby engine with a rulebook.
      #Intended to be used with the RulesFacade class
      class Engine
        extend ::Ruleby

        def self.invoke(rule_book, context)
          engine :engine do |e|
            rule_book.new(e).rules

            e.assert context
            e.match
            e.retract context
          end
          context
        end

      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
erp_rules-4.2.0 lib/erp_rules/rules_engine/ruleby/engine.rb
erp_rules-4.0.0 lib/erp_rules/rules_engine/ruleby/engine.rb
erp_rules-3.1.0 lib/erp_rules/rules_engine/ruleby/engine.rb
erp_rules-3.0.4 lib/erp_rules/rules_engine/ruleby/engine.rb
erp_rules-3.0.3 lib/erp_rules/rules_engine/ruleby/engine.rb
erp_rules-3.0.2 lib/erp_rules/rules_engine/ruleby/engine.rb
erp_rules-3.0.1 lib/erp_rules/rules_engine/ruleby/engine.rb