class Smsapi::SMS

Attributes

date[RW]
error_code[RW]
id[RW]
message[RW]
points[RW]
status[RW]
to[RW]

Public Class Methods

new(to, message, server, options = {}) click to toggle source
# File lib/smsapi/sms.rb, line 6
def initialize(to, message, server, options = {})
  @options = default_options.merge options
  @to = to
  @message = message
  @server = server
end

Public Instance Methods

deliver() click to toggle source
# File lib/smsapi/sms.rb, line 13
def deliver
  read_response @server.sms(server_params).first
  self
end
deliver_at(date) click to toggle source
# File lib/smsapi/sms.rb, line 18
def deliver_at(date)
  @date = date
  params = server_params.merge(date: date.to_time.to_i)

  read_response @server.sms(params).first
  self
end
error?() click to toggle source
# File lib/smsapi/sms.rb, line 30
def error?
  self.status == 'ERROR'
end
error_message() click to toggle source
# File lib/smsapi/sms.rb, line 38
def error_message
  Smsapi::ERROR_MESSAGES[error_code]
end
read_response(response) click to toggle source
# File lib/smsapi/sms.rb, line 42
def read_response(response)
  response = response.split(':')

  self.status = response[0]
  if status == 'ERROR'
    self.error_code = response[1]
  else
    self.id = response[1]
    self.points = response[2]
  end
end
sent?() click to toggle source
# File lib/smsapi/sms.rb, line 26
def sent?
  not self.status.nil?
end
success?() click to toggle source
# File lib/smsapi/sms.rb, line 34
def success?
  self.status == 'SUCCESS'
end

Private Instance Methods

server_params() click to toggle source
# File lib/smsapi/sms.rb, line 56
def server_params
  @options.merge(
    to: to,
    message: message
  )
end