smess 2.0.3 → 2.0.4

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.
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