RubyGlobe 1.1 → 1.2
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rst +35 -0
- data/demo.rb +10 -0
- data/lib/rubyglobe.rb +48 -30
- metadata +4 -4
- data/README +0 -0
data/README.rst
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
HOW TO INSTALL
|
2
|
+
--------------
|
3
|
+
To install run ``gem install RubyGlobe``
|
4
|
+
|
5
|
+
|
6
|
+
SENDING SMS
|
7
|
+
------------
|
8
|
+
::
|
9
|
+
|
10
|
+
require 'rubygems'
|
11
|
+
require 'rubyglobe'
|
12
|
+
|
13
|
+
begin
|
14
|
+
service = RubyGlobe.new '<globe API uname>','<globe API pin>','<11 digit mobile number>'
|
15
|
+
service.sendSMS 'Message through Globe Labs API'
|
16
|
+
rescue RubyGlobeInvalidServiceException, RubyGlobeInvalidURLException, RubyGlobeServerFaultException => e
|
17
|
+
puts "An error occurred: " << e
|
18
|
+
end
|
19
|
+
|
20
|
+
SENDING MMS
|
21
|
+
------------
|
22
|
+
::
|
23
|
+
|
24
|
+
require 'rubygems'
|
25
|
+
require 'rubyglobe'
|
26
|
+
|
27
|
+
#Valid SMIL (Synchronized Multimedia Integration Language)
|
28
|
+
smil = "<smil><head><layout><root-layout height='96' width='122' /><region height='67%' fit='meet' id='Image' width='100%' left='0%' top='0%' /><region height='33%' fit='scroll' id='Text' width='100%' left='0%' top='67%' /></layout></head><body><par dur='8000ms'><img src='https://www.globelabs.com.ph/Style%20Library/en-us/Core%20Styles/MasterPageStyles/images/globe_logo_NOtag_155x60px.png' region='Image' /><text src='http://ferdinandsilva.com/hello.txt' region='Text' /></par></body></smil>"
|
29
|
+
|
30
|
+
begin
|
31
|
+
service = RubyGlobe.new '<globe API uname>','<globe API pin>','<11 digit mobile number>'
|
32
|
+
service.sendMMS '<subject>', smil
|
33
|
+
rescue RubyGlobeInvalidServiceException, RubyGlobeInvalidURLException, RubyGlobeServerFaultException => e
|
34
|
+
puts "An error occurred: " << e
|
35
|
+
end
|
data/demo.rb
CHANGED
@@ -0,0 +1,10 @@
|
|
1
|
+
require 'lib/rubyglobe'
|
2
|
+
|
3
|
+
smil = "<smil><head><layout><root-layout height='96' width='122' /><region height='67%' fit='meet' id='Image' width='100%' left='0%' top='0%' /><region height='33%' fit='scroll' id='Text' width='100%' left='0%' top='67%' /></layout></head><body><par dur='8000ms'><img src='https://www.globelabs.com.ph/Style%20Library/en-us/Core%20Styles/MasterPageStyles/images/globe_logo_NOtag_155x60px.png' region='Image' /><text src='http://ferdinandsilva.com/hello.txt' region='Text' /></par></body></smil>"
|
4
|
+
|
5
|
+
begin
|
6
|
+
service = RubyGlobe.new '<globe API uname>','<globe API pin>','<11 digit mobile number>'
|
7
|
+
service.sendMMS '<subject>', smil
|
8
|
+
rescue RubyGlobeInvalidServiceException, RubyGlobeInvalidURLException, RubyGlobeServerFaultException => e
|
9
|
+
puts "An error occurred: " << e
|
10
|
+
end
|
data/lib/rubyglobe.rb
CHANGED
@@ -4,7 +4,6 @@
|
|
4
4
|
* @email: ferdinandsilva@ferdinandsilva.com
|
5
5
|
* @title: PyGlobe
|
6
6
|
* @description: Ruby interface for Globe Labs API
|
7
|
-
* @notes: sendMMS coming soon.. ;)
|
8
7
|
***********************************************
|
9
8
|
=end
|
10
9
|
|
@@ -198,7 +197,7 @@ end
|
|
198
197
|
|
199
198
|
class RubyGlobe
|
200
199
|
|
201
|
-
@@__VERSION__ = "1.
|
200
|
+
@@__VERSION__ = "1.2"
|
202
201
|
@@__AUTHOR__ = "Ferdinand E. Silva"
|
203
202
|
|
204
203
|
def self.__VERSION__
|
@@ -231,40 +230,59 @@ class RubyGlobe
|
|
231
230
|
|
232
231
|
end
|
233
232
|
|
234
|
-
def
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
elsif ret == RubyGlobeReturnCode.SMS_SENDING_FAILED
|
252
|
-
raise RubyGlobeServerFaultException, "SMS sending failed"
|
253
|
-
elsif ret == RubyGlobeReturnCode.INVALID_TARGET
|
233
|
+
def translateMsg(ret)
|
234
|
+
|
235
|
+
if ret == RubyGlobeReturnCode.SMS_ACCEPTED || ret == RubyGlobeReturnCode.MMS_ACCEPTED
|
236
|
+
return true
|
237
|
+
elsif ret == RubyGlobeReturnCode.NOT_ALLOWED
|
238
|
+
raise RubyGlobeServerFaultException, "User is not allowed to access this service"
|
239
|
+
elsif ret == RubyGlobeReturnCode.EXCEEDED_DAILY_CAP
|
240
|
+
raise RubyGlobeServerFaultException, "User exceeded daily cap"
|
241
|
+
elsif ret == RubyGlobeReturnCode.INVALID_MESSAGE_LENGTH
|
242
|
+
raise RubyGlobeServerFaultException, "Invalid message length"
|
243
|
+
elsif ret == RubyGlobeReturnCode.MAX_NUMBER_CONNECTION
|
244
|
+
raise RubyGlobeServerFaultException, "Maximum Number of simultaneous connections reached"
|
245
|
+
elsif ret == RubyGlobeReturnCode.INVALID_LOGIN_CREDENTIALS
|
246
|
+
raise RubyGlobeServerFaultException, "Invalid login credentials"
|
247
|
+
elsif ret == RubyGlobeReturnCode.SMS_SENDING_FAILED
|
248
|
+
raise RubyGlobeServerFaultException, "SMS sending failed"
|
249
|
+
elsif ret == RubyGlobeReturnCode.INVALID_TARGET
|
254
250
|
raise RubyGlobeServerFaultException, "Invalid target MSISDN"
|
255
|
-
|
251
|
+
elsif ret == RubyGlobeReturnCode.INVALID_DISPLAY
|
256
252
|
raise RubyGlobeServerFaultException, "Invalid display type"
|
257
|
-
|
253
|
+
elsif ret == RubyGlobeReturnCode.INVALID_MWI
|
258
254
|
raise RubyGlobeServerFaultException, "Invalid MWI"
|
259
|
-
|
255
|
+
elsif ret == RubyGlobeReturnCode.BAD_XML
|
260
256
|
raise RubyGlobeServerFaultException, "Badly formed XML in SOAP request"
|
261
|
-
|
257
|
+
elsif ret == RubyGlobeReturnCode.INVALID_CODING
|
262
258
|
raise RubyGlobeServerFaultException, "Invalid Coding"
|
263
|
-
|
259
|
+
elsif ret == RubyGlobeReturnCode.EMPTY_VALUE
|
264
260
|
raise RubyGlobeServerFaultException, "Empty value given in required argument"
|
265
|
-
|
266
|
-
|
267
|
-
|
261
|
+
elsif ret == RubyGlobeReturnCode.ARGUMENT_TOO_LARGE
|
262
|
+
raise RubyGlobeServerFaultException, "Argument given too large"
|
263
|
+
end
|
264
|
+
|
265
|
+
end
|
266
|
+
|
267
|
+
def sendSMS(message)
|
268
|
+
|
269
|
+
begin
|
270
|
+
ret = @service.sendSMS(:uName => @uname, :uPin => @pin, :MSISDN => @msisdn, :messageString => message, :Display => @display, :udh => @udh, :mwi => @mwi, :coding => @coding).return.to_s
|
271
|
+
|
272
|
+
return translateMsg ret
|
273
|
+
|
274
|
+
rescue SocketError
|
275
|
+
raise RubyGlobeInvalidServiceException, "Service Unknown"
|
276
|
+
end
|
277
|
+
|
278
|
+
end
|
279
|
+
|
280
|
+
def sendMMS(subject, smil)
|
281
|
+
|
282
|
+
begin
|
283
|
+
ret = @service.sendMMS(:uName => @uname, :uPin => @pin, :MSISDN => @msisdn, :subject => subject, :smil => smil).return.to_s
|
284
|
+
|
285
|
+
return translateMsg ret
|
268
286
|
|
269
287
|
rescue SocketError
|
270
288
|
raise RubyGlobeInvalidServiceException, "Service Unknown"
|
metadata
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: RubyGlobe
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 11
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
version: "1.
|
8
|
+
- 2
|
9
|
+
version: "1.2"
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Ferdinand E. Silva
|
@@ -26,7 +26,7 @@ extensions: []
|
|
26
26
|
extra_rdoc_files: []
|
27
27
|
|
28
28
|
files:
|
29
|
-
- README
|
29
|
+
- README.rst
|
30
30
|
- Changelog
|
31
31
|
- LICENSE
|
32
32
|
- demo.rb
|
data/README
DELETED
File without changes
|