Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 16 Next »

The meta library provides information about the running ruleset. The following functions are available:

  • meta:rid() - returns the ruleset ID of the current running ruleset.
  • meta:version()-returns the version of the currently running ruleset.
  • meta:callingRID()- returns the RID of the calling ruleset if running in a module, or the current ruleset ID otherwise.
  • meta:callingVersion()- returns the version of the calling ruleset if running in a module, or the current ruleset version otherwise.
  • meta:moduleRID()- returns the RID of the module if running in a module, or the current ruleset ID otherwise.
  • meta:moduleVersion()- returns the version of the module if running in a module, or the current ruleset version otherwise.
  • meta:inModule()- returns a Boolean value indicating whether the current code is running in a module.
  • meta:host() - returns the hostname of the rules engine evaluating the ruleset. Note: this is the public name, not the individual machine name. 
  • meta:rulesetName() - returns the name from the meta sections of the current ruleset
  • meta:rulesetAuthor() - returns the author from the meta sections of the current ruleset
  • meta:rulesetDescription() - returns the description  from the meta sections of the current ruleset
  • meta:ruleName() - returns the names of the rule being evaluated. 
  • meta:eci() - returns the event channel identifier on which the current event was raise
  • meta:txnId() - return the transaction ID for the current evaluation. This is mostly useful for debugging. 

Note, in the case of meta:moduleRID(), meta:moduleVersion(), and meta:inModule(), care has been taken to preserve static behavior. So, for example, if you do the following, you should get the result you expect based on static function semantics:

ruleset my_module {
 
  ...
  global {
    myRid = function() { meta:moduleRID() }
  }
}
 
ruleset use_my_module {
  meta {
    use module my_module
  }
  global {
    x = my_module:myRid();
    // x = my_module, not use_my_module
  }
}

 

 

  • No labels