Pushest v0.2.2 Pushest.Api.Data.Frame View Source

Structure representing a Frame being passed between Pushest and Pusher server. Includes methods constructing Frame structure for various pusher events. This module handles encode/decode actions for a Frame.

Link to this section Summary

Functions

Encodes given frame as a JSON, if frame contains data map it encodes it first. Then encodes once more whole frame

Creates a Frame struct representing an event being sent to the Pusher

Link to this section Functions

Link to this function encode!(frame) View Source
encode!(%Pushest.Api.Data.Frame{channel: term(), data: term(), name: term()}) ::
  String.t()

Encodes given frame as a JSON, if frame contains data map it encodes it first. Then encodes once more whole frame.

Examples

iex> Pushest.Api.Data.Frame.encode!(%Pushest.Api.Data.Frame{channel: "channel", name: "name"})
~s({"name":"name","data":"null","channel":"channel"})

iex> Pushest.Api.Data.Frame.encode!(%Pushest.Api.Data.Frame{channel: "channel", name: "name", data: %{message: "message"}})
"{\"name\":\"name\",\"data\":\"{\\\"message\\\":\\\"message\\\"}\",\"channel\":\"channel\"}"
Link to this function event(channel, event, data) View Source
event(String.t(), String.t(), term()) :: %Pushest.Api.Data.Frame{
  channel: term(),
  data: term(),
  name: term()
}

Creates a Frame struct representing an event being sent to the Pusher.

Examples

iex> Pushest.Api.Data.Frame.event("channel", "event", %{message: "message"})
%Pushest.Api.Data.Frame{channel: "channel", name: "event", data: %{message: "message"}}