moceansdk 0.1.6 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. checksums.yaml +5 -5
  2. data/LICENSE.txt +1 -1
  3. data/README.md +75 -57
  4. data/lib/moceansdk.rb +51 -5
  5. data/lib/moceansdk/auth/abstract_auth.rb +15 -0
  6. data/lib/moceansdk/auth/basic.rb +29 -0
  7. data/lib/moceansdk/client.rb +70 -14
  8. data/lib/moceansdk/exceptions/mocean_error.rb +18 -0
  9. data/lib/moceansdk/exceptions/required_field_exception.rb +8 -0
  10. data/lib/moceansdk/modules/abstact_client.rb +54 -0
  11. data/lib/moceansdk/modules/account/balance.rb +26 -22
  12. data/lib/moceansdk/modules/account/pricing.rb +37 -37
  13. data/lib/moceansdk/modules/command/command.rb +47 -0
  14. data/lib/moceansdk/modules/command/mc.rb +40 -0
  15. data/lib/moceansdk/modules/command/mc_builder.rb +30 -0
  16. data/lib/moceansdk/modules/command/mc_object/abstract_mc.rb +36 -0
  17. data/lib/moceansdk/modules/command/mc_object/send_sms.rb +41 -0
  18. data/lib/moceansdk/modules/command/mc_object/tg_request_contact.rb +49 -0
  19. data/lib/moceansdk/modules/command/mc_object/tg_send_animation.rb +41 -0
  20. data/lib/moceansdk/modules/command/mc_object/tg_send_audio.rb +41 -0
  21. data/lib/moceansdk/modules/command/mc_object/tg_send_document.rb +41 -0
  22. data/lib/moceansdk/modules/command/mc_object/tg_send_photo.rb +41 -0
  23. data/lib/moceansdk/modules/command/mc_object/tg_send_text.rb +41 -0
  24. data/lib/moceansdk/modules/command/mc_object/tg_send_video.rb +41 -0
  25. data/lib/moceansdk/modules/message/channel.rb +13 -0
  26. data/lib/moceansdk/modules/message/message_status.rb +29 -24
  27. data/lib/moceansdk/modules/message/sms.rb +74 -96
  28. data/lib/moceansdk/modules/message/verify_request.rb +83 -58
  29. data/lib/moceansdk/modules/message/verify_validate.rb +33 -37
  30. data/lib/moceansdk/modules/number_lookup/number_lookup.rb +34 -0
  31. data/lib/moceansdk/modules/response_factory.rb +50 -0
  32. data/lib/moceansdk/modules/transmitter.rb +112 -0
  33. data/lib/moceansdk/modules/voice/mc.rb +63 -0
  34. data/lib/moceansdk/modules/voice/mc_builder.rb +30 -0
  35. data/lib/moceansdk/modules/voice/mc_object/abstract_mc.rb +38 -0
  36. data/lib/moceansdk/modules/voice/mc_object/collect.rb +39 -0
  37. data/lib/moceansdk/modules/voice/mc_object/dial.rb +31 -0
  38. data/lib/moceansdk/modules/voice/mc_object/play.rb +31 -0
  39. data/lib/moceansdk/modules/voice/mc_object/record.rb +19 -0
  40. data/lib/moceansdk/modules/voice/mc_object/say.rb +43 -0
  41. data/lib/moceansdk/modules/voice/mc_object/sleep.rb +23 -0
  42. data/lib/moceansdk/modules/voice/voice.rb +84 -0
  43. data/lib/moceansdk/utils.rb +15 -0
  44. data/lib/moceansdk/version.rb +1 -1
  45. data/moceansdk.gemspec +13 -6
  46. metadata +97 -19
  47. data/lib/moceansdk/init.rb +0 -4
  48. data/lib/moceansdk/mocean.rb +0 -52
  49. data/lib/moceansdk/modules/abstract.rb +0 -142
@@ -1,4 +0,0 @@
1
- module Deno92
2
- require_relative "./mocean"
3
- require_relative "./client"
4
- end
@@ -1,52 +0,0 @@
1
- class Mocean
2
-
3
- attr_reader :obj_auth
4
-
5
- def initialize client = Client
6
- if client.class == Client
7
- @obj_auth = client
8
- elsif client.api_key == nil || client.api_secret == nil
9
- raise Exception.new("Api key and api secret can't be empty")
10
- else
11
- raise Exception.new("Arguement pass into Mocean object must be Client object")
12
- end
13
- end
14
-
15
- def sms
16
- require_relative "modules/message/sms"
17
- return Sms.new(@obj_auth)
18
-
19
- end
20
-
21
- def flashSms
22
- require_relative "modules/message/sms"
23
- _sms = Sms.new(@obj_auth)
24
- _sms.flashSms = true
25
- return _sms
26
- end
27
-
28
- def pricing_list
29
- require_relative "modules/account/pricing"
30
- return Pricing.new(@obj_auth)
31
- end
32
-
33
- def balance
34
- require_relative "modules/account/balance"
35
- return Balance.new(@obj_auth)
36
- end
37
-
38
- def message_status
39
- require_relative "modules/message/message_status"
40
- return Message_status.new(@obj_auth)
41
- end
42
-
43
- def verify_request
44
- require_relative "modules/message/verify_request"
45
- return Verify_request.new(@obj_auth)
46
- end
47
-
48
- def verify_validate
49
- require_relative "modules/message/verify_validate"
50
- return Verify_validate.new(@obj_auth)
51
- end
52
- end
@@ -1,142 +0,0 @@
1
- require "net/http"
2
- require "uri"
3
-
4
- class MoceanFactory
5
- attr_accessor :params
6
-
7
- def initialize client
8
- @params = {}
9
- @params['mocean-api-key'] = client.api_key
10
- @params['mocean-api-secret'] = client.api_secret
11
- end
12
-
13
- def create params = {}
14
- if params.class != Hash
15
- raise Exception.new('Params past into create must be hash.')
16
- end
17
- tmp_params = params.clone
18
- tmp_params.each do |key,value|
19
- if !isParamPrefixSet(key)
20
- new_key ="mocean-"+key
21
- params[new_key] = value
22
- params.delete(key)
23
- end
24
- end
25
- tmp_params = nil
26
- @params = @params.merge(params)
27
- end
28
-
29
- def createFinalParams
30
- final_params = {}
31
- @params.each do |key,value|
32
- unless value.nil? || (value.class != Integer && value.empty?)
33
- final_params[key] = value
34
-
35
- end
36
- end
37
- @params = final_params
38
- end
39
-
40
- def createResponse response
41
- end
42
-
43
- def isParamPrefixSet param
44
- if param.class != String
45
- raise Exception.new("Parameter key must be string, "+param.class+" given.")
46
- end
47
- if param.scan(/^mocean-/i).empty?
48
- return false
49
- end
50
- return true
51
- end
52
-
53
- def isRequiredFieldsSet
54
- if @required_fields.class == 'Array' && !@required_fields.empty?
55
- @required_fields.each do |field|
56
- if @params[field] == nil
57
- raise Exception.new("#{field} is mandatory field, can't leave empty")
58
- end
59
- end
60
- end
61
- return true
62
- end
63
-
64
- def reset()
65
- @params.each do |key,value|
66
- if key == 'mocean-api-key' || key == 'mocean-api-secret'
67
- next
68
- end
69
- @params[key] = nil
70
- end
71
- end
72
-
73
- end
74
-
75
- class Transmitter
76
-
77
- def initialize uri,method,params
78
- @URL = 'rest.moceanapi.com'
79
- @uri = uri
80
- @params = params
81
- @params['mocean-medium'] = 'RUBY-SDK'
82
-
83
- begin
84
- @http = Net::HTTP.new(@URL,443)
85
- @http.use_ssl = true
86
- rescue Exception
87
- raise Exception.new('Unable to create connection, please contact SDK provider.')
88
- end
89
-
90
- case method.downcase
91
- when 'get'
92
- @response = __get
93
- when 'post'
94
- @response = __post
95
- when 'put'
96
- @response = __put
97
- when 'delete'
98
- @response = __delete
99
- else
100
- raise Exception.new("Unknown request method, please contact SDK provider.")
101
- end
102
-
103
- end
104
-
105
- def __get
106
- form_data = ''
107
- if @params.size > 0
108
- form_data = URI.encode_www_form(@params)
109
- end
110
- request = Net::HTTP::Get.new(@uri+"?"+form_data)
111
- return @http.request(request)
112
- end
113
-
114
- def __post
115
- request = Net::HTTP::Post.new(@uri)
116
- if @params.size > 0
117
- request.form_data = @params
118
- end
119
- return @http.request(request)
120
- end
121
-
122
- def __put
123
- request = Net::HTTP::Put.new(@uri)
124
- if @params.size > 0
125
- request.form_data = @params
126
- end
127
- return @http.request(request)
128
- end
129
-
130
- def __delete
131
- request = Net::HTTP::Delete.new(@uri)
132
- if @params.size > 0
133
- request.form_data = @params
134
- end
135
- return @http.request(request)
136
- end
137
-
138
- def getResponse
139
- @response.body || nil
140
- end
141
-
142
- end