class Signalwire::Relay::Messaging::Instance

Public Class Methods

new(client) click to toggle source
# File lib/signalwire/relay/messaging.rb, line 17
def initialize(client)
  @client = client
  setup_events
end

Public Instance Methods

object_send(from:, to:, context:, body: nil, media: nil, tags: nil, region: nil)
Alias for: send
send(from:, to:, context:, body: nil, media: nil, tags: nil, region: nil) click to toggle source
# File lib/signalwire/relay/messaging.rb, line 22
def send(from:, to:, context:, body: nil, media: nil, tags: nil, region: nil)
  params = {
    from_number: from,
    to_number: to,
    context: context
  }

  params[:body] = body if body
  params[:media] = media if media
  params[:tags] = tags if tags
  params[:region] = region if region

  messaging_send = {
    protocol: protocol,
    method: 'messaging.send',
    params: params
  }

  response = nil
  relay_execute messaging_send do |event|
    response = Signalwire::Relay::Messaging::SendResult.new(event)
  end
  response
end
Also aliased as: object_send
setup_events() click to toggle source
# File lib/signalwire/relay/messaging.rb, line 47
def setup_events
  @client.on :event, event_type: 'messaging.receive' do |event|
    broadcast :message_received, Signalwire::Relay::Messaging::Message.new(event.payload)
  end

  @client.on :event, event_type: 'messaging.state' do |event|
    broadcast :message_state_change, Signalwire::Relay::Messaging::Message.new(event.payload)
  end
end