Class: SmsSafe::Interceptors::Nexmo

Inherits:
SmsSafe::Interceptor show all
Defined in:
lib/sms_safe/interceptors/nexmo.rb

Overview

Interceptor class for Nexmo Gem. Maps Hash params into SmsSafe::Message and back.

Instance Method Summary collapse

Methods inherited from SmsSafe::Interceptor

#deliver_email, #discard, #email, #email_body, #email_recipient, #intercept_message!, #intercept_message?, #process_message, #redirect_phone_number, #redirect_text

Instance Method Details

#convert_message(message) ⇒ Message

Converts a hash of params (Nexmo doesn’t use a class to represent their messages) into Message

Parameters:

  • message (Hash)

    that is being sent by Nexmo gem

Returns:

  • (Message)

    the message converted into our own Message class



15
16
17
# File 'lib/sms_safe/interceptors/nexmo.rb', line 15

def convert_message(message)
  SmsSafe::Message.new(from: message[:from], to: message[:to], text: message[:text], original_message: message)
end

#redirect(message) ⇒ Hash

Returns a modified version of the original message with new recipient and text,

to give back to the texter gem to send.

Parameters:

  • message (Message)

    that is being sent, unmodified

Returns:

  • (Hash)

    modified message to send



24
25
26
27
28
29
# File 'lib/sms_safe/interceptors/nexmo.rb', line 24

def redirect(message)
  original_message = message.original_message
  original_message[:to] = redirect_phone_number(message)
  original_message[:text] = redirect_text(message)
  original_message
end