module CPEE::Message

Constants

TYPE
WHO

Public Class Methods

send(type, event, cpee, instance, instance_uuid, instance_name, content={}, backend) click to toggle source
# File lib/cpee/message.rb, line 21
def self::send(type, event, cpee, instance, instance_uuid, instance_name, content={}, backend)
  topic = ::File::dirname(event)
  name = ::File::basename(event)
  payload = {
    WHO => cpee,
    TYPE + '-url' => File.join(cpee,instance.to_s),
    TYPE => instance,
    'topic' => topic,
    'type' => type,
    'name' => name,
    'timestamp' =>  Time.now.xmlschema(3),
    'content' => content
  }
  payload[TYPE + '-uuid'] = instance_uuid if instance_uuid
  payload[TYPE + '-name'] = instance_name if instance_name
  backend.publish(type.to_s + ':' + event,
    instance.to_s + ' ' +
    JSON::generate(payload)
  )
end