class BotMob::OutboundMessage

# BotMob::OutboundMessage

Strucutred data for all messages leaving your bot

Attributes

body[R]
inbound[R]
network[R]

Public Class Methods

new(**options) click to toggle source
# File lib/bot_mob/outbound_message.rb, line 8
def initialize(**options)
  @network ||= options[:network]
  @inbound = options[:inbound]
  @body = options[:body]
end
prepare(message, options = {}) click to toggle source
# File lib/bot_mob/outbound_message.rb, line 14
def self.prepare(message, options = {})
  return message if message.is_a?(BotMob::OutboundMessage)

  target_network = options[:inbound].network
  message_delegate(target_network).new(options.merge(body: message))
end

Private Class Methods

message_delegate(network) click to toggle source
# File lib/bot_mob/outbound_message.rb, line 24
def message_delegate(network)
  delegate = BotMob::Networks.const_get(network.to_s.camelize)
  delegate.const_get('OutboundMessage')
rescue NameError
  raise BotMob::InvalidNetworkError
end