class SmsSpeedwayApi::SMS

Attributes

company[RW]
message[W]
numbers[W]
password[RW]
testmode[W]
username[RW]

Public Instance Methods

getURL() click to toggle source
# File lib/sms_speedway_api.rb, line 88
def getURL
  return "#{speedwayUrl}message=#{URI::encode(message)}&company=#{@company}&login=#{@username}&password=#{@password}&numbers=#{URI::encode(numbers_as_string)}"
end
message() click to toggle source
# File lib/sms_speedway_api.rb, line 32
def message
    @message||""
end
numbers() click to toggle source
# File lib/sms_speedway_api.rb, line 36
def numbers
    @numbers||[]
end
numbers_as_string() click to toggle source
# File lib/sms_speedway_api.rb, line 83
def numbers_as_string
  return (@numbers||[]).join(",")

end
send() click to toggle source
# File lib/sms_speedway_api.rb, line 92
def send
  ret=validate_message
  return ret if ! ret.success?

  ret=validate_numbers
  return ret if ! ret.success?

  ret=validate_login
  return ret if ! ret.success?

  uri = URI(getURL)
  req = Net::HTTP.get(uri)

  if  req.include?("Transmission successfully queued")
     ret.code,ret.message=0,"Transmission successfully queued"
  else
    ["*** LOGIN FAILURE ***"].each_with_index { |msg,idx|
     ret.code,ret.message=100+idx,msg if req.include?(msg)
    }
  end

  ret
end
speedwayUrl() click to toggle source
# File lib/sms_speedway_api.rb, line 28
def speedwayUrl
    testmode ? "http://dev.sms-speedway.com/queue_sms.php?TESTMODE=1&" : "http://www.sms-speedway.com/queue_sms.php?"
end
testmode() click to toggle source
# File lib/sms_speedway_api.rb, line 24
def testmode
    @testmode||false
end
validate_login() click to toggle source
# File lib/sms_speedway_api.rb, line 62
def validate_login
  ret=RESPONSE.new
  if @company == nil || @company.length == 0 
    ret.code, ret.message=3,"Company ID is missing"
    return ret
  end

  if @username == nil || @username.length == 0 
    ret.code, ret.message=4,"User ID is missing"
    return ret
  end

  if @password == nil || @password.length == 0 
    ret.code, ret.message=5,"Password is missing"
    return ret
  end

  ret.code, ret.message=0,""
  ret
end
validate_message() click to toggle source
# File lib/sms_speedway_api.rb, line 40
def validate_message
  ret=RESPONSE.new
  if message.length == 0
    ret.code, ret.message=1,"Message is empty"
    return ret
  end

  ret.code=0
  ret
end
validate_numbers() click to toggle source
# File lib/sms_speedway_api.rb, line 51
def validate_numbers
  ret=RESPONSE.new
  if numbers.length == 0
    ret.code, ret.message=2,"No numbers to send to"
    return ret
  end

  ret.code=0
  ret
end