class Smsbroadcast::Sms

Attributes

delay[RW]
from[RW]
maxsplit[RW]
message[RW]
ref[RW]
to[RW]

Public Class Methods

new(to: nil, message: nil, ref: nil, from: nil, maxsplit: nil, delay: nil) click to toggle source
Calls superclass method Smsbroadcast::Connection::new
# File lib/smsbroadcast/sms.rb, line 10
def initialize(to: nil, message: nil, ref: nil, from: nil, maxsplit: nil, delay: nil)
  super()
  @to       =       to
  @message  =  message
  @ref      =      ref
  @from     =     from || Smsbroadcast.configuration.from
  @maxsplit = maxsplit || Smsbroadcast.configuration.maxsplit
  @delay    =    delay || Smsbroadcast.configuration.delay
end

Public Instance Methods

deliver() click to toggle source
# File lib/smsbroadcast/sms.rb, line 20
def deliver
  if @to.respond_to?(:each) && @to.count > 1000
    raise TooManyRecipientsError, "Can only deliver in blocks of 1000 recipients"
  end

  to = @to.respond_to?(:each) ? @to.join(",") : @to

  resp = @conn.post("/api-adv.php") do |req|
    req.body = {to:       to,
                message:  @message,
                ref:      @ref,
                from:     @from,
                maxsplit: @maxsplit,
                delay:    @delay,
                username: Smsbroadcast.configuration.username,
                password: Smsbroadcast.configuration.password}
  end

  SmsResponse.new resp.body
end