Global Section
A ruleset consists of three main sections, as defined in the KRL grammar. In order they are:
The
meta
section which gives general information about the ruleset and how it is intended to be used. See the Meta Section page.The
global
section, described herein.Rules, defined in a lexical order.
The global
sections consists of a sequence of declarations. Each declaration binds a globally available name to a value, specified by a KRL expression. The name will be in scope throughout the entire ruleset from the point of declaration on.
The global
section is evaluated at the moment when the ruleset is installed in a pico. So the expressions can only include things that are available at the time it is evaluated.
In particular, entity variables are not available at the point in time when a ruleset is installed in the pico. However, references to entity variables can be wrapped in a function
or defaction
. For example:
global {
baseUrl = "https://api.twilio.com/2010-04-01"
authString = function(){
{"username": ent:sessionId, "password": ent:apiKey}
}
...
}
...
rule ... {
...
authString()
...
}
If for any reason, the global
section of a ruleset you are installing cannot be evaluated, you will received a message like, “Error: Not installed RID” (where “RID” will be the ruleset identifier).
Expressions bound to names in the global
block can include:
function definitions
action definitions
literals
names declared earlier
expressions involving the preceding items
Copyright Picolabs | Licensed under Creative Commons.