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