---
name: "Jifty::Event"
section: "3pm"
platform: "linux"
package: "libjifty-perl"
version: "1.10518+dfsg-2"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/Jifty::Event"
---

# Jifty::Event(3pm)

Event objects for publish/subscribe communication

## NAME

Jifty::Event - Event objects for publish/subscribe communication

## DESCRIPTION

An event object from the Jifty::PubSub stream.

## METHODS

### new($payload)

Constructor.  Takes any kind of payload and blesses a scalar reference to it into an Event object.

### *publish()*

Inserts the event into the pubsub stream.  If Jifty is configured into synchronous republishing, then this method runs a `"republish"` on itself with all current subscriptions implicitly.  If not, it's simply inserted into its main channel for asynchronous republishing later.

### filter(@query)

Takes multiple class-specific queries, which are evaluated in order by calling "match".

### republish(@query)

Run `"filter"` with the queries; if they all succeed, the event is republished into that query-specific channel.

### encode\_queries(@query)

Encode queries into some sort of canonical MD5 encoding.

### match($query)

Takes a class-specific query and returns whether it matches.

You almost always want to override this; the default implementation simply always return true;

### *render\_arguments()*

A list of additional things to push into the `%ARGS` of the region that is about to render this event; see Jifty::Subs::Render for more information.

### *data()*

This event's payload as a scalar value.
