Class: SmsSpeedwayApi::SMS

Inherits:
Object
  • Object
show all
Defined in:
lib/sms_speedway_api.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#company ⇒ Object

Returns the value of attribute company.



21
22
23
# File 'lib/sms_speedway_api.rb', line 21

def company
  @company
end

#message ⇒ Object



32
33
34
# File 'lib/sms_speedway_api.rb', line 32

def message
    @message||""
end

#numbers ⇒ Object



36
37
38
# File 'lib/sms_speedway_api.rb', line 36

def numbers
    @numbers||[]
end

#password ⇒ Object

Returns the value of attribute password.



21
22
23
# File 'lib/sms_speedway_api.rb', line 21

def password
  @password
end

#testmode ⇒ Object



24
25
26
# File 'lib/sms_speedway_api.rb', line 24

def testmode
	@testmode||false
end

#username ⇒ Object

Returns the value of attribute username.



21
22
23
# File 'lib/sms_speedway_api.rb', line 21

def username
  @username
end

Instance Method Details

#getURL ⇒ Object



88
89
90
# 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

#numbers_as_string ⇒ Object



83
84
85
86
# File 'lib/sms_speedway_api.rb', line 83

def numbers_as_string
  return (@numbers||[]).join(",")

end

#send ⇒ Object



92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
# 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=
  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 ⇒ Object



28
29
30
# 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

#validate_login ⇒ Object



62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/sms_speedway_api.rb', line 62

def 
  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 ⇒ Object



40
41
42
43
44
45
46
47
48
49
# 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 ⇒ Object



51
52
53
54
55
56
57
58
59
60
# 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