class Inngest::Event

Attributes

data[RW]
name[RW]
timestamp[RW]
user[RW]
version[RW]

Public Class Methods

new(name: nil, data: {}, user: {}, version: nil, timestamp: nil) click to toggle source
# File lib/inngest.rb, line 50
def initialize (name: nil, data: {}, user: {}, version: nil, timestamp: nil)
  @name = name
  @data = data
  @user = user
  @version = version
  @timestamp = timestamp ? timestamp : Time.now.to_i * 1000
end

Public Instance Methods

payload() click to toggle source
# File lib/inngest.rb, line 75
def payload
  {
    name: @name,
    data: @data,
    user: @user,
    v: @version,
    ts: @timestamp
  }.compact
end
validate() click to toggle source
# File lib/inngest.rb, line 58
def validate

  unless @name&.strip
    raise InngestException.new "Event name can't be empty"
  end

  unless @data
    raise InngestException.new "Event data can't be empty"
  end

  begin
    @data.to_json
  rescue Exception
    raise InngestException.new "Event data couldn't be serialized to json"
  end
end