smess 2.0.3 → 2.0.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3e03c293b16f50489ffc4ca98c0ca29faa0167b8
4
- data.tar.gz: 3bb986ac9d0a28d00ce64a710da21f0d4293c1ef
3
+ metadata.gz: 6f53211a7d1f13d0f6473fe676f52b3b8ac5c93b
4
+ data.tar.gz: d8c881d72332e0e5ab8c703135a8ac6b2953818b
5
5
  SHA512:
6
- metadata.gz: bb01885a6b3cd6a9cc55c4f32627d3b374ad4059ae5c4871017ce9c8f12dc195a7f47a938e00b1cdf6a4fc67e6b21cca5cd7069ce03da95b12e62b5746e32d92
7
- data.tar.gz: 682448f2af294487bc69efea434e36e0b38795938ac503f028a584bf5f157b54e171c8d2617479eb20ad5b1078d1736d8da61bddd33b2728c115f27e036e2696
6
+ metadata.gz: fbb9670d7c107825c14c8accede384d7fd832a737a451bc5e6638d15b0ec642440118bdaec880039bd9a7dc9e8737a8e6978379a5bfb22162a2218d72de06664
7
+ data.tar.gz: 02b9055eca23a7b427aef52c59f120290f05f1b4c459309a94857bdebe4babd79128c2543a07ba3884d801d39299b96a8d68a6adf628e3cae94eb59bbd498f86
data/Gemfile.lock CHANGED
@@ -1,65 +1,64 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- smess (2.0.2)
4
+ smess (2.0.3)
5
5
  activesupport (>= 3.0)
6
6
  clickatell
7
7
  httpi
8
8
  mail
9
9
  savon (= 1.2.0)
10
- twilio-ruby
10
+ twilio-ruby (>= 5.26.0, <= 5.30.0)
11
11
 
12
12
  GEM
13
13
  remote: https://rubygems.org/
14
14
  specs:
15
- activesupport (4.2.6)
16
- i18n (~> 0.7)
17
- json (~> 1.7, >= 1.7.7)
15
+ activesupport (5.2.4)
16
+ concurrent-ruby (~> 1.0, >= 1.0.2)
17
+ i18n (>= 0.7, < 2)
18
18
  minitest (~> 5.1)
19
- thread_safe (~> 0.3, >= 0.3.4)
20
19
  tzinfo (~> 1.1)
21
20
  akami (1.2.2)
22
21
  gyoku (>= 0.4.0)
23
22
  nokogiri
24
- builder (3.2.2)
23
+ builder (3.2.4)
25
24
  clickatell (0.8.2)
26
- diff-lcs (1.2.5)
27
- docile (1.1.5)
28
- dotenv (2.1.1)
25
+ concurrent-ruby (1.1.5)
26
+ diff-lcs (1.3)
27
+ docile (1.3.2)
28
+ dotenv (2.7.5)
29
+ faraday (0.17.1)
30
+ multipart-post (>= 1.2, < 3)
29
31
  gyoku (0.4.6)
30
32
  builder (>= 2.1.2)
31
33
  httpi (1.1.1)
32
34
  rack
33
- i18n (0.7.0)
34
- json (1.8.3)
35
- jwt (1.5.4)
36
- mail (2.6.4)
37
- mime-types (>= 1.16, < 4)
38
- mime-types (3.1)
39
- mime-types-data (~> 3.2015)
40
- mime-types-data (3.2016.0521)
41
- mini_portile2 (2.1.0)
42
- minitest (5.9.0)
43
- multi_json (1.12.1)
44
- nokogiri (1.6.8)
45
- mini_portile2 (~> 2.1.0)
46
- pkg-config (~> 1.1.7)
35
+ i18n (1.7.0)
36
+ concurrent-ruby (~> 1.0)
37
+ json (2.3.0)
38
+ jwt (2.2.1)
39
+ mail (2.7.1)
40
+ mini_mime (>= 0.1.1)
41
+ mini_mime (1.0.2)
42
+ mini_portile2 (2.4.0)
43
+ minitest (5.13.0)
44
+ multipart-post (2.1.1)
45
+ nokogiri (1.10.7)
46
+ mini_portile2 (~> 2.4.0)
47
47
  nori (1.1.5)
48
- pkg-config (1.1.7)
49
- rack (1.6.4)
50
- rspec (3.4.0)
51
- rspec-core (~> 3.4.0)
52
- rspec-expectations (~> 3.4.0)
53
- rspec-mocks (~> 3.4.0)
54
- rspec-core (3.4.4)
55
- rspec-support (~> 3.4.0)
56
- rspec-expectations (3.4.0)
48
+ rack (2.0.7)
49
+ rspec (3.9.0)
50
+ rspec-core (~> 3.9.0)
51
+ rspec-expectations (~> 3.9.0)
52
+ rspec-mocks (~> 3.9.0)
53
+ rspec-core (3.9.0)
54
+ rspec-support (~> 3.9.0)
55
+ rspec-expectations (3.9.0)
57
56
  diff-lcs (>= 1.2.0, < 2.0)
58
- rspec-support (~> 3.4.0)
59
- rspec-mocks (3.4.1)
57
+ rspec-support (~> 3.9.0)
58
+ rspec-mocks (3.9.0)
60
59
  diff-lcs (>= 1.2.0, < 2.0)
61
- rspec-support (~> 3.4.0)
62
- rspec-support (3.4.1)
60
+ rspec-support (~> 3.9.0)
61
+ rspec-support (3.9.0)
63
62
  savon (1.2.0)
64
63
  akami (~> 1.2.0)
65
64
  builder (>= 2.1.2)
@@ -68,17 +67,17 @@ GEM
68
67
  nokogiri (>= 1.4.0)
69
68
  nori (~> 1.1.0)
70
69
  wasabi (~> 2.5.0)
71
- simplecov (0.11.2)
72
- docile (~> 1.1.0)
73
- json (~> 1.8)
70
+ simplecov (0.17.1)
71
+ docile (~> 1.1)
72
+ json (>= 1.8, < 3)
74
73
  simplecov-html (~> 0.10.0)
75
- simplecov-html (0.10.0)
76
- thread_safe (0.3.5)
77
- twilio-ruby (4.11.1)
78
- builder (>= 2.1.2)
79
- jwt (~> 1.0)
80
- multi_json (>= 1.3.0)
81
- tzinfo (1.2.2)
74
+ simplecov-html (0.10.2)
75
+ thread_safe (0.3.6)
76
+ twilio-ruby (5.30.0)
77
+ faraday (~> 0.9)
78
+ jwt (>= 1.5, <= 2.5)
79
+ nokogiri (>= 1.6, < 2.0)
80
+ tzinfo (1.2.5)
82
81
  thread_safe (~> 0.1)
83
82
  wasabi (2.5.1)
84
83
  httpi (~> 1.0)
@@ -94,4 +93,4 @@ DEPENDENCIES
94
93
  smess!
95
94
 
96
95
  BUNDLED WITH
97
- 1.11.2
96
+ 1.17.3
data/lib/smess.rb CHANGED
@@ -20,6 +20,7 @@ require 'smess/outputs/card_board_fish'
20
20
  require 'smess/outputs/clickatell'
21
21
  require 'smess/outputs/smsglobal'
22
22
  require 'smess/outputs/global_mouth'
23
+ require 'smess/outputs/link_mobility'
23
24
  require 'smess/outputs/mblox'
24
25
  require 'smess/outputs/twilio'
25
26
  require 'smess/outputs/iconectiv'
@@ -58,7 +59,7 @@ module Smess
58
59
  @nothing = false
59
60
  @default_output = nil
60
61
  @default_sender_id = "Smess"
61
- @output_types = %i{auto card_board_fish clickatell global_mouth iconectiv mblox smsglobal twilio}
62
+ @output_types = %i{auto card_board_fish clickatell global_mouth link_mobility iconectiv mblox smsglobal twilio}
62
63
  @configured_outputs = {}
63
64
  @output_by_country_code = {}
64
65
 
@@ -0,0 +1,63 @@
1
+ require 'uri'
2
+ require 'httpi'
3
+ require 'json'
4
+
5
+ module Smess
6
+ class LinkMobility < HttpBase
7
+
8
+ def deliver
9
+ request.auth.basic(username, password)
10
+ request.url = url
11
+ request.headers["Content-Type"] = "application/json"
12
+ request.body = body
13
+
14
+ http_post request
15
+ end
16
+
17
+ attr_accessor :username, :password, :platform_id, :platform_partner_id, :gate_id
18
+ def validate_config
19
+ @username = config.fetch(:username)
20
+ @password = config.fetch(:password)
21
+ @platform_id = config.fetch(:platform_id)
22
+ @platform_partner_id = config.fetch(:platform_partner_id)
23
+ @gate_id = config.fetch(:gate_id)
24
+ end
25
+
26
+ private
27
+
28
+ def url
29
+ config.fetch(:url)
30
+ end
31
+
32
+ def body
33
+ {
34
+ source: from,
35
+ destination: "+#{sms.to}",
36
+ userData: sms.message.strip_nongsm_chars,
37
+ platformId: platform_id,
38
+ platformPartnerId: platform_partner_id,
39
+ dcs: "TEXT",
40
+ useDeliveryReport: true,
41
+ deliveryReportGates: [gate_id]
42
+ }.to_json
43
+ end
44
+
45
+ def normal_result(response)
46
+ response_json = JSON.parse(response.body)
47
+
48
+ response_code = response_json["resultCode"]
49
+ response_code = "0" if response_code == 1005
50
+
51
+ message_id = response_json["messageId"]
52
+ # Successful response
53
+ {
54
+ message_id: message_id,
55
+ response_code: response_code.to_s,
56
+ response: response_json,
57
+ destination_address: sms.to,
58
+ data: result_data
59
+ }
60
+ end
61
+
62
+ end
63
+ end
@@ -55,7 +55,7 @@ module Smess
55
55
  end
56
56
 
57
57
  def create_client_message(params)
58
- client.account.messages.create(params)
58
+ client.api.account.messages.create(params)
59
59
  end
60
60
 
61
61
  def client
@@ -69,18 +69,25 @@ module Smess
69
69
  {
70
70
  message_id: response.sid,
71
71
  response_code: response_code.to_s,
72
- response: MultiJson.load(client.last_response.body),
72
+ response: {
73
+ sid: response.sid,
74
+ status: response.status,
75
+ error_code: response.error_code,
76
+ error_message: response.error_message
77
+ },
73
78
  destination_address: sms.to,
74
79
  data: result_data
75
80
  }
76
81
  end
77
82
 
78
83
  def result_for_error(e)
84
+ code = "-1"
85
+ code = e.code.to_s rescue code
79
86
  {
80
- response_code: '-1',
87
+ response_code: code,
81
88
  response: {
82
89
  temporaryError: 'true',
83
- responseCode: '-1',
90
+ responseCode: code,
84
91
  responseText: e.message
85
92
  },
86
93
  data: result_data
data/lib/smess/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Smess
2
- VERSION = '2.0.3'
2
+ VERSION = '2.0.4'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smess
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.3
4
+ version: 2.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Westin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-01-02 00:00:00.000000000 Z
11
+ date: 2019-12-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -56,16 +56,16 @@ dependencies:
56
56
  name: mail
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: '2.7'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '0'
68
+ version: '2.7'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: savon
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -84,58 +84,64 @@ dependencies:
84
84
  name: httpi
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ">="
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '0'
89
+ version: '1.1'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ">="
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '0'
96
+ version: '1.1'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: clickatell
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ">="
101
+ - - "~>"
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ">="
108
+ - - "~>"
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: twilio-ruby
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ">="
115
+ - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '0'
117
+ version: '5.26'
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ">="
122
+ - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: '0'
124
+ version: '5.26'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: activesupport
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - ">="
130
130
  - !ruby/object:Gem::Version
131
- version: '3.0'
131
+ version: 3.0.0
132
+ - - "<"
133
+ - !ruby/object:Gem::Version
134
+ version: 6.0.0
132
135
  type: :runtime
133
136
  prerelease: false
134
137
  version_requirements: !ruby/object:Gem::Requirement
135
138
  requirements:
136
139
  - - ">="
137
140
  - !ruby/object:Gem::Version
138
- version: '3.0'
141
+ version: 3.0.0
142
+ - - "<"
143
+ - !ruby/object:Gem::Version
144
+ version: 6.0.0
139
145
  description: A mess of SMS messaging
140
146
  email: martin@eimermusic.com
141
147
  executables: []
@@ -157,6 +163,7 @@ files:
157
163
  - lib/smess/outputs/iconectiv.rb
158
164
  - lib/smess/outputs/ipx.rb
159
165
  - lib/smess/outputs/ipxus.rb
166
+ - lib/smess/outputs/link_mobility.rb
160
167
  - lib/smess/outputs/mblox.rb
161
168
  - lib/smess/outputs/smsglobal.rb
162
169
  - lib/smess/outputs/test.rb
@@ -177,7 +184,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
177
184
  requirements:
178
185
  - - ">="
179
186
  - !ruby/object:Gem::Version
180
- version: 1.9.2
187
+ version: 2.0.0
181
188
  required_rubygems_version: !ruby/object:Gem::Requirement
182
189
  requirements:
183
190
  - - ">="
@@ -185,7 +192,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
185
192
  version: 1.3.7
186
193
  requirements: []
187
194
  rubyforge_project:
188
- rubygems_version: 2.2.2
195
+ rubygems_version: 2.5.1
189
196
  signing_key:
190
197
  specification_version: 4
191
198
  summary: A messy SMS messenger supporting every aggregator I have gotten my hands