Class: Smess::Ipx

Inherits:
Object
  • Object
show all
Includes:
Logging
Defined in:
lib/smess/outputs/ipx.rb

Direct Known Subclasses

Ipxus

Instance Method Summary collapse

Methods included from Logging

#logger

Constructor Details

#initialize(sms) ⇒ Ipx

Returns a new instance of Ipx.



5
6
7
8
9
10
11
12
13
# File 'lib/smess/outputs/ipx.rb', line 5

def initialize(sms)
  @sms = sms
  @results = []
  @endpoint = sms_url
  @credentials = {
    name: username,
    pass: password
  }
end

Instance Method Details

#deliverObject



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/smess/outputs/ipx.rb', line 15

def deliver
  set_originator(sms.originator)
  perform_operator_adaptation(sms.to)

  parts.each_with_index do |part, i|
    populate_soap_body(part, i)
    results << send_one_sms

    # halt and use fallback on error...
    if last_result_was_error
      logger.info "IPX_ERROR: #{results.last}"
      return fallback_to_twilio || results.first
    end
  end

  # we don't actually return the status for any of additional messages which is cheating
  results.first
end