smess 2.0.2 → 2.0.6
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 +5 -5
- data/Gemfile.lock +75 -55
- data/example_config.rb +90 -0
- data/lib/smess/outputs/global_mouth.rb +1 -1
- data/lib/smess/outputs/ipx.rb +1 -1
- data/lib/smess/outputs/link_mobility.rb +73 -0
- data/lib/smess/outputs/twilio.rb +17 -7
- data/lib/smess/version.rb +1 -1
- data/lib/smess.rb +2 -1
- data/lib/string_ext.rb +1 -1
- data/smess.gemspec +30 -0
- metadata +29 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 1a7753165d1cb7c418b6d7f5860452bca11b39481dafcc49b59ae20a8d0298c0
|
4
|
+
data.tar.gz: 3c3a95629bd39d391862375982ffd1ab2943545515deefa9c93a848d0080a9ae
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1153e820da9ae577f99575e24d82fd03b5df232dfc52d9339fc5666d0f22c954d1c2b4b61093ddebc0976238c85483a044d09497ada17a7c2b81be835d7b1baa
|
7
|
+
data.tar.gz: 3a3afb95ff2c60d9424bc7fa0dc1296bfd466ae59d5fa0a72681cb44b668a6d325784c7803296ef6bc2467f20753235431d458d705de7667979ca2ba426d844e
|
data/Gemfile.lock
CHANGED
@@ -1,65 +1,85 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
smess (2.0.
|
5
|
-
activesupport (>=
|
6
|
-
clickatell
|
7
|
-
httpi
|
8
|
-
mail
|
4
|
+
smess (2.0.5)
|
5
|
+
activesupport (>= 5.2.6, < 7.0.0)
|
6
|
+
clickatell (~> 0)
|
7
|
+
httpi (~> 1.1)
|
8
|
+
mail (~> 2.7)
|
9
9
|
savon (= 1.2.0)
|
10
|
-
twilio-ruby
|
10
|
+
twilio-ruby (~> 5.26)
|
11
11
|
|
12
12
|
GEM
|
13
13
|
remote: https://rubygems.org/
|
14
14
|
specs:
|
15
|
-
activesupport (4.
|
16
|
-
|
17
|
-
|
18
|
-
minitest (
|
19
|
-
|
20
|
-
|
15
|
+
activesupport (6.1.4.1)
|
16
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
17
|
+
i18n (>= 1.6, < 2)
|
18
|
+
minitest (>= 5.1)
|
19
|
+
tzinfo (~> 2.0)
|
20
|
+
zeitwerk (~> 2.3)
|
21
21
|
akami (1.2.2)
|
22
22
|
gyoku (>= 0.4.0)
|
23
23
|
nokogiri
|
24
|
-
builder (3.2.
|
24
|
+
builder (3.2.4)
|
25
25
|
clickatell (0.8.2)
|
26
|
-
|
27
|
-
|
28
|
-
|
26
|
+
concurrent-ruby (1.1.9)
|
27
|
+
diff-lcs (1.3)
|
28
|
+
docile (1.3.2)
|
29
|
+
dotenv (2.7.5)
|
30
|
+
faraday (1.7.1)
|
31
|
+
faraday-em_http (~> 1.0)
|
32
|
+
faraday-em_synchrony (~> 1.0)
|
33
|
+
faraday-excon (~> 1.1)
|
34
|
+
faraday-httpclient (~> 1.0.1)
|
35
|
+
faraday-net_http (~> 1.0)
|
36
|
+
faraday-net_http_persistent (~> 1.1)
|
37
|
+
faraday-patron (~> 1.0)
|
38
|
+
faraday-rack (~> 1.0)
|
39
|
+
multipart-post (>= 1.2, < 3)
|
40
|
+
ruby2_keywords (>= 0.0.4)
|
41
|
+
faraday-em_http (1.0.0)
|
42
|
+
faraday-em_synchrony (1.0.0)
|
43
|
+
faraday-excon (1.1.0)
|
44
|
+
faraday-httpclient (1.0.1)
|
45
|
+
faraday-net_http (1.0.1)
|
46
|
+
faraday-net_http_persistent (1.2.0)
|
47
|
+
faraday-patron (1.0.0)
|
48
|
+
faraday-rack (1.0.0)
|
29
49
|
gyoku (0.4.6)
|
30
50
|
builder (>= 2.1.2)
|
31
51
|
httpi (1.1.1)
|
32
52
|
rack
|
33
|
-
i18n (
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
pkg-config (~> 1.1.7)
|
53
|
+
i18n (1.8.10)
|
54
|
+
concurrent-ruby (~> 1.0)
|
55
|
+
json (2.3.0)
|
56
|
+
jwt (2.2.3)
|
57
|
+
mail (2.7.1)
|
58
|
+
mini_mime (>= 0.1.1)
|
59
|
+
mini_mime (1.1.1)
|
60
|
+
mini_portile2 (2.6.1)
|
61
|
+
minitest (5.14.4)
|
62
|
+
multipart-post (2.1.1)
|
63
|
+
nokogiri (1.12.4)
|
64
|
+
mini_portile2 (~> 2.6.1)
|
65
|
+
racc (~> 1.4)
|
47
66
|
nori (1.1.5)
|
48
|
-
|
49
|
-
rack (
|
50
|
-
rspec (3.
|
51
|
-
rspec-core (~> 3.
|
52
|
-
rspec-expectations (~> 3.
|
53
|
-
rspec-mocks (~> 3.
|
54
|
-
rspec-core (3.
|
55
|
-
rspec-support (~> 3.
|
56
|
-
rspec-expectations (3.
|
67
|
+
racc (1.5.2)
|
68
|
+
rack (2.2.3)
|
69
|
+
rspec (3.9.0)
|
70
|
+
rspec-core (~> 3.9.0)
|
71
|
+
rspec-expectations (~> 3.9.0)
|
72
|
+
rspec-mocks (~> 3.9.0)
|
73
|
+
rspec-core (3.9.1)
|
74
|
+
rspec-support (~> 3.9.1)
|
75
|
+
rspec-expectations (3.9.1)
|
57
76
|
diff-lcs (>= 1.2.0, < 2.0)
|
58
|
-
rspec-support (~> 3.
|
59
|
-
rspec-mocks (3.
|
77
|
+
rspec-support (~> 3.9.0)
|
78
|
+
rspec-mocks (3.9.1)
|
60
79
|
diff-lcs (>= 1.2.0, < 2.0)
|
61
|
-
rspec-support (~> 3.
|
62
|
-
rspec-support (3.
|
80
|
+
rspec-support (~> 3.9.0)
|
81
|
+
rspec-support (3.9.2)
|
82
|
+
ruby2_keywords (0.0.5)
|
63
83
|
savon (1.2.0)
|
64
84
|
akami (~> 1.2.0)
|
65
85
|
builder (>= 2.1.2)
|
@@ -68,21 +88,21 @@ GEM
|
|
68
88
|
nokogiri (>= 1.4.0)
|
69
89
|
nori (~> 1.1.0)
|
70
90
|
wasabi (~> 2.5.0)
|
71
|
-
simplecov (0.
|
72
|
-
docile (~> 1.1
|
73
|
-
json (
|
91
|
+
simplecov (0.17.1)
|
92
|
+
docile (~> 1.1)
|
93
|
+
json (>= 1.8, < 3)
|
74
94
|
simplecov-html (~> 0.10.0)
|
75
|
-
simplecov-html (0.10.
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
thread_safe (~> 0.1)
|
95
|
+
simplecov-html (0.10.2)
|
96
|
+
twilio-ruby (5.58.2)
|
97
|
+
faraday (>= 0.9, < 2.0)
|
98
|
+
jwt (>= 1.5, <= 2.5)
|
99
|
+
nokogiri (>= 1.6, < 2.0)
|
100
|
+
tzinfo (2.0.4)
|
101
|
+
concurrent-ruby (~> 1.0)
|
83
102
|
wasabi (2.5.1)
|
84
103
|
httpi (~> 1.0)
|
85
104
|
nokogiri (>= 1.4.0)
|
105
|
+
zeitwerk (2.4.2)
|
86
106
|
|
87
107
|
PLATFORMS
|
88
108
|
ruby
|
@@ -94,4 +114,4 @@ DEPENDENCIES
|
|
94
114
|
smess!
|
95
115
|
|
96
116
|
BUNDLED WITH
|
97
|
-
1.
|
117
|
+
1.17.3
|
data/example_config.rb
ADDED
@@ -0,0 +1,90 @@
|
|
1
|
+
most_of_the_caribbean = [
|
2
|
+
"1242", # Bahamas
|
3
|
+
"1246", # Barbados
|
4
|
+
"1264", # Anguilla
|
5
|
+
"1268", # Antigua and Barbuda
|
6
|
+
"1284", # British Virgin Islands
|
7
|
+
"1345", # Cayman Islands
|
8
|
+
"1473", # Grenada
|
9
|
+
"1649", # Turks and Caicos Islands
|
10
|
+
"1664", # Montserrat
|
11
|
+
"1670", # Northern Mariana Islands
|
12
|
+
"1671", # Guam
|
13
|
+
"1684", # American Samoa
|
14
|
+
"1758", # Saint Lucia
|
15
|
+
"1767", # Dominica
|
16
|
+
"1784", # Saint Vincent and the Grenadines
|
17
|
+
"1787", # Puerto Rico
|
18
|
+
"1809", # Dominican Republic
|
19
|
+
"1868", # Trinidad and Tobago
|
20
|
+
"1869", # Saint Kitts and Nevis
|
21
|
+
"1876" # Jamaica
|
22
|
+
]
|
23
|
+
|
24
|
+
Smess.configure do |config|
|
25
|
+
|
26
|
+
config.default_sender_id = ENV["SMESS_SENDER_ID"]
|
27
|
+
config.default_output = :global_mouth
|
28
|
+
config.register_output({
|
29
|
+
name: :global_mouth,
|
30
|
+
country_codes: most_of_the_caribbean + ["20", "33", "34", "44", "46", "49", "594", "966"],
|
31
|
+
type: :global_mouth,
|
32
|
+
config: {
|
33
|
+
username: ENV["SMESS_GLOBAL_MOUTH_USER"],
|
34
|
+
password: ENV["SMESS_GLOBAL_MOUTH_PASS"],
|
35
|
+
sender_id: ENV["SMESS_GLOBAL_MOUTH_SENDER_ID"]
|
36
|
+
}
|
37
|
+
})
|
38
|
+
|
39
|
+
config.register_output({
|
40
|
+
name: :iconectiv,
|
41
|
+
country_codes: ["1"],
|
42
|
+
type: :iconectiv,
|
43
|
+
config: {
|
44
|
+
sms_url: ENV["SMESS_ICONECTIV_URL"],
|
45
|
+
username: ENV["SMESS_ICONECTIV_USER"],
|
46
|
+
password: ENV["SMESS_ICONECTIV_PASS"],
|
47
|
+
shortcode: ENV["SMESS_ICONECTIV_SHORTCODE"],
|
48
|
+
account_name: ENV["SMESS_ICONECTIV_ACCOUNT_NAME"],
|
49
|
+
service_name: ENV["SMESS_SERVICE_NAME"],
|
50
|
+
service_meta_data_verizon: ENV["SMESS_ICONECTIV_SERVICE_META_DATA_VERIZON"],
|
51
|
+
service_meta_data_t_mobile_us: ENV["SMESS_ICONECTIV_SERVICE_META_DATA_T_MOBILE_US"]
|
52
|
+
}
|
53
|
+
})
|
54
|
+
|
55
|
+
config.register_output({
|
56
|
+
name: :twilio,
|
57
|
+
country_codes: ["971"],
|
58
|
+
type: :twilio,
|
59
|
+
config: {
|
60
|
+
sid: ENV["SMESS_TWILIO_SID"],
|
61
|
+
auth_token: ENV["SMESS_TWILIO_AUTH_TOKEN"],
|
62
|
+
from: ENV["SMESS_TWILIO_FROM"],
|
63
|
+
callback_url: ENV["SMESS_TWILIO_CALLBACK_URL"]
|
64
|
+
}
|
65
|
+
})
|
66
|
+
|
67
|
+
config.register_output({
|
68
|
+
name: :card_board_fish,
|
69
|
+
country_codes: ["212"],
|
70
|
+
type: :card_board_fish,
|
71
|
+
config: {
|
72
|
+
username: ENV["SMESS_CARD_BOARD_FISH_USER"],
|
73
|
+
password: ENV["SMESS_CARD_BOARD_FISH_PASS"]
|
74
|
+
}
|
75
|
+
})
|
76
|
+
|
77
|
+
config.register_output({
|
78
|
+
name: :clickatell,
|
79
|
+
country_codes: ["1441"],
|
80
|
+
type: :clickatell,
|
81
|
+
config: {
|
82
|
+
api_id: ENV["SMESS_CLICKATELL_API_ID"],
|
83
|
+
user: ENV["SMESS_CLICKATELL_USER"],
|
84
|
+
pass: ENV["SMESS_CLICKATELL_PASS"],
|
85
|
+
sender_id: ENV["SMESS_CLICKATELL_SENDER_ID"],
|
86
|
+
sender_ids: ENV["SMESS_CLICKATELL_SENDER_IDS"]
|
87
|
+
}
|
88
|
+
})
|
89
|
+
|
90
|
+
end
|
data/lib/smess/outputs/ipx.rb
CHANGED
@@ -0,0 +1,73 @@
|
|
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
|
+
@sender_id = config.fetch(:sender_id, @sender_id)
|
25
|
+
end
|
26
|
+
|
27
|
+
private
|
28
|
+
|
29
|
+
def url
|
30
|
+
config.fetch(:url)
|
31
|
+
end
|
32
|
+
|
33
|
+
def sourceTON
|
34
|
+
if !from.nil? && from[0] == "+"
|
35
|
+
"MSISDN"
|
36
|
+
else
|
37
|
+
"ALPHANUMERIC"
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def body
|
42
|
+
{
|
43
|
+
source: from,
|
44
|
+
sourceTON: sourceTON,
|
45
|
+
destination: "+#{sms.to}",
|
46
|
+
userData: sms.message.strip_nongsm_chars,
|
47
|
+
platformId: platform_id,
|
48
|
+
platformPartnerId: platform_partner_id,
|
49
|
+
dcs: "TEXT",
|
50
|
+
useDeliveryReport: true,
|
51
|
+
deliveryReportGates: [gate_id]
|
52
|
+
}.to_json
|
53
|
+
end
|
54
|
+
|
55
|
+
def normal_result(response)
|
56
|
+
response_json = JSON.parse(response.body)
|
57
|
+
|
58
|
+
response_code = response_json["resultCode"]
|
59
|
+
response_code = "0" if response_code == 1005
|
60
|
+
|
61
|
+
message_id = response_json["messageId"]
|
62
|
+
# Successful response
|
63
|
+
{
|
64
|
+
message_id: message_id,
|
65
|
+
response_code: response_code.to_s,
|
66
|
+
response: response_json,
|
67
|
+
destination_address: sms.to,
|
68
|
+
data: result_data
|
69
|
+
}
|
70
|
+
end
|
71
|
+
|
72
|
+
end
|
73
|
+
end
|
data/lib/smess/outputs/twilio.rb
CHANGED
@@ -19,7 +19,7 @@ module Smess
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def deliver
|
22
|
-
send_one_sms sms.message
|
22
|
+
send_one_sms sms.message
|
23
23
|
end
|
24
24
|
|
25
25
|
private
|
@@ -31,7 +31,7 @@ module Smess
|
|
31
31
|
end
|
32
32
|
|
33
33
|
def split_parts
|
34
|
-
Smess.separate_sms(sms.message
|
34
|
+
Smess.separate_sms(sms.message).reject {|s| s.empty? }
|
35
35
|
end
|
36
36
|
|
37
37
|
def send_one_sms(message)
|
@@ -46,16 +46,19 @@ module Smess
|
|
46
46
|
else
|
47
47
|
opts[:from] = from
|
48
48
|
end
|
49
|
+
puts "about to create_client_message"
|
49
50
|
response = create_client_message(opts)
|
51
|
+
puts "got response #{response.inspect}"
|
50
52
|
result = normal_result(response)
|
51
53
|
rescue => e
|
54
|
+
puts "got exception #{e.inspect}"
|
52
55
|
result = result_for_error(e)
|
53
56
|
end
|
54
57
|
result
|
55
58
|
end
|
56
59
|
|
57
60
|
def create_client_message(params)
|
58
|
-
client.account.messages.create(params)
|
61
|
+
client.api.account.messages.create(params)
|
59
62
|
end
|
60
63
|
|
61
64
|
def client
|
@@ -69,18 +72,25 @@ module Smess
|
|
69
72
|
{
|
70
73
|
message_id: response.sid,
|
71
74
|
response_code: response_code.to_s,
|
72
|
-
response:
|
75
|
+
response: {
|
76
|
+
sid: response.sid,
|
77
|
+
status: response.status,
|
78
|
+
error_code: response.error_code,
|
79
|
+
error_message: response.error_message
|
80
|
+
},
|
73
81
|
destination_address: sms.to,
|
74
82
|
data: result_data
|
75
83
|
}
|
76
84
|
end
|
77
85
|
|
78
86
|
def result_for_error(e)
|
87
|
+
code = "-1"
|
88
|
+
code = e.code.to_s rescue code
|
79
89
|
{
|
80
|
-
response_code:
|
90
|
+
response_code: code,
|
81
91
|
response: {
|
82
92
|
temporaryError: 'true',
|
83
|
-
responseCode:
|
93
|
+
responseCode: code,
|
84
94
|
responseText: e.message
|
85
95
|
},
|
86
96
|
data: result_data
|
@@ -90,7 +100,7 @@ module Smess
|
|
90
100
|
def result_data
|
91
101
|
{
|
92
102
|
to: sms.to,
|
93
|
-
text: sms.message
|
103
|
+
text: sms.message,
|
94
104
|
from: from
|
95
105
|
}
|
96
106
|
end
|
data/lib/smess/version.rb
CHANGED
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
|
|
data/lib/string_ext.rb
CHANGED
data/smess.gemspec
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
$:.push File.expand_path("../lib", __FILE__)
|
2
|
+
require "smess/version"
|
3
|
+
|
4
|
+
Gem::Specification.new do |s|
|
5
|
+
s.platform = Gem::Platform::RUBY
|
6
|
+
s.name = "smess"
|
7
|
+
s.version = Smess::VERSION
|
8
|
+
s.date = Time.now
|
9
|
+
s.summary = "A messy SMS messenger supporting every aggregator I have gotten my hands on"
|
10
|
+
s.description = "A mess of SMS messaging"
|
11
|
+
s.require_paths = ["lib"]
|
12
|
+
s.author = "Martin Westin"
|
13
|
+
s.email = "martin@eimermusic.com"
|
14
|
+
s.homepage = "https://github.com/eimermusic/smess"
|
15
|
+
s.license = 'MIT'
|
16
|
+
|
17
|
+
s.add_development_dependency 'rspec', '>= 2.4.0'
|
18
|
+
s.add_development_dependency 'simplecov'
|
19
|
+
s.add_development_dependency 'dotenv'
|
20
|
+
s.add_dependency 'mail', '~> 2.7'
|
21
|
+
s.add_dependency 'savon', '1.2.0'
|
22
|
+
s.add_dependency 'httpi', '~> 1.1'
|
23
|
+
s.add_dependency 'clickatell', '~> 0'
|
24
|
+
s.add_dependency 'twilio-ruby', '~> 5.26'
|
25
|
+
s.add_dependency 'activesupport', '>= 5.2.6', '< 7.0.0'
|
26
|
+
|
27
|
+
s.files = Dir["{lib}/**/*", "[A-Z]*", "init.rb"]
|
28
|
+
s.required_ruby_version = ">= 2.0.0"
|
29
|
+
s.required_rubygems_version = ">= 1.3.7"
|
30
|
+
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.
|
4
|
+
version: 2.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Martin Westin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-09-10 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: '
|
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: '
|
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: '
|
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: '
|
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: '
|
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: '
|
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:
|
131
|
+
version: 5.2.6
|
132
|
+
- - "<"
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
version: 7.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:
|
141
|
+
version: 5.2.6
|
142
|
+
- - "<"
|
143
|
+
- !ruby/object:Gem::Version
|
144
|
+
version: 7.0.0
|
139
145
|
description: A mess of SMS messaging
|
140
146
|
email: martin@eimermusic.com
|
141
147
|
executables: []
|
@@ -146,6 +152,7 @@ files:
|
|
146
152
|
- Gemfile.lock
|
147
153
|
- LICENSE
|
148
154
|
- README.md
|
155
|
+
- example_config.rb
|
149
156
|
- lib/smess.rb
|
150
157
|
- lib/smess/logging.rb
|
151
158
|
- lib/smess/output.rb
|
@@ -157,6 +164,7 @@ files:
|
|
157
164
|
- lib/smess/outputs/iconectiv.rb
|
158
165
|
- lib/smess/outputs/ipx.rb
|
159
166
|
- lib/smess/outputs/ipxus.rb
|
167
|
+
- lib/smess/outputs/link_mobility.rb
|
160
168
|
- lib/smess/outputs/mblox.rb
|
161
169
|
- lib/smess/outputs/smsglobal.rb
|
162
170
|
- lib/smess/outputs/test.rb
|
@@ -165,6 +173,7 @@ files:
|
|
165
173
|
- lib/smess/utils.rb
|
166
174
|
- lib/smess/version.rb
|
167
175
|
- lib/string_ext.rb
|
176
|
+
- smess.gemspec
|
168
177
|
homepage: https://github.com/eimermusic/smess
|
169
178
|
licenses:
|
170
179
|
- MIT
|
@@ -177,15 +186,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
177
186
|
requirements:
|
178
187
|
- - ">="
|
179
188
|
- !ruby/object:Gem::Version
|
180
|
-
version:
|
189
|
+
version: 2.0.0
|
181
190
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
182
191
|
requirements:
|
183
192
|
- - ">="
|
184
193
|
- !ruby/object:Gem::Version
|
185
194
|
version: 1.3.7
|
186
195
|
requirements: []
|
187
|
-
|
188
|
-
rubygems_version: 2.2.2
|
196
|
+
rubygems_version: 3.0.3
|
189
197
|
signing_key:
|
190
198
|
specification_version: 4
|
191
199
|
summary: A messy SMS messenger supporting every aggregator I have gotten my hands
|