class Superbolt::Messenger

Attributes

arguments[RW]
env[RW]
event[RW]
name[RW]
origin[RW]

Public Class Methods

defaultevent() click to toggle source
# File lib/superbolt/messenger.rb, line 64
def self.defaultevent
  'default'
end
new(options={}) click to toggle source
# File lib/superbolt/messenger.rb, line 5
def initialize(options={})
  @name = options.delete(:to)
  @origin = options.delete(:from) || Superbolt.app_name
  @event = options.delete(:event) || self.class.defaultevent
  @env = Superbolt.env
  @arguments = options
end

Public Instance Methods

attr_chainer(attr, val) click to toggle source
# File lib/superbolt/messenger.rb, line 39
def attr_chainer(attr, val)
  return send(attr) unless val
  self.send("#{attr}=", val)
  self
end
data(val=nil) click to toggle source
# File lib/superbolt/messenger.rb, line 35
def data(val=nil)
  attr_chainer(:arguments, val)
end
destination_name() click to toggle source
# File lib/superbolt/messenger.rb, line 60
def destination_name
  "#{name}_#{env}"
end
from(val=nil) click to toggle source
# File lib/superbolt/messenger.rb, line 27
def from(val=nil)
  attr_chainer(:origin, val)
end
message() click to toggle source
# File lib/superbolt/messenger.rb, line 13
def message
  {
    origin: origin,
    event: event,
    arguments: arguments
  }
end
queue() click to toggle source
# File lib/superbolt/messenger.rb, line 53
def queue
  unless name
    raise "no destination app name defined, please pass one in"
  end
  Queue.new(destination_name)
end
re(val=nil) click to toggle source
# File lib/superbolt/messenger.rb, line 31
def re(val=nil)
  attr_chainer(:event, val)
end
send!(args=nil) click to toggle source

alias


# File lib/superbolt/messenger.rb, line 48
def send!(args=nil)
  self.arguments = args if args
  queue.push(message)
end
to(val=nil) click to toggle source

chainer methods

# File lib/superbolt/messenger.rb, line 23
def to(val=nil)
  attr_chainer(:name, val)
end