smess 2.0.7 → 2.1.0

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
  SHA256:
3
- metadata.gz: a68f70426ddeb7e649d83a60e2d7d9eb5f250c5ab11eaba675ed0c294b230012
4
- data.tar.gz: b99b728d7c3e87df6c583e813d595118ff3f64f9420d6a3f8ea3d059e461f569
3
+ metadata.gz: 9264dd553b1402dab8be17b373c67334564d4b1e960636d4df42c8b40c190421
4
+ data.tar.gz: d125c970b1ae0591f092cdca5036f85f892bd4d5aa50bdb1cfff02f330381946
5
5
  SHA512:
6
- metadata.gz: 29d073ccaa990bae3df15794801eb66334db92aca6be80f67a67e81aee3e03da7310fcbd51e626648db3d7b49f0d58e3533c1cb188ec73f6ff82b1dafa3a55a2
7
- data.tar.gz: 7aae59bede4be5272effee14172f852ec31ddd6ecf82657d755374d7b223a70a364a832917bb4bfc9f3888e19ab5a096b9c284cd488596c7b35f7ae5a30a7d19
6
+ metadata.gz: 77e61cf66715eb0a64f28c91e1b7d0cee22bc27af517c9f545680443225f465abab65fb42c7cf7c5321d9d0527bff0d2871897ae58bf47965a76dda6df3364a7
7
+ data.tar.gz: 1ece289153de4a40343f1bce349ce5ee9adf9c1dbdc4596910910d57f4e48a37fabd44a055eaaf6384927a98f5ad55362b40e748ac86a6ba760efe2ccf4651e0
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- smess (2.0.6)
4
+ smess (2.0.8)
5
5
  activesupport (>= 5.2.6, < 7.0.0)
6
6
  clickatell (~> 0)
7
7
  httpi (~> 1.1)
@@ -12,7 +12,7 @@ PATH
12
12
  GEM
13
13
  remote: https://rubygems.org/
14
14
  specs:
15
- activesupport (6.1.4.1)
15
+ activesupport (6.1.6)
16
16
  concurrent-ruby (~> 1.0, >= 1.0.2)
17
17
  i18n (>= 1.6, < 2)
18
18
  minitest (>= 5.1)
@@ -23,49 +23,33 @@ GEM
23
23
  nokogiri
24
24
  builder (3.2.4)
25
25
  clickatell (0.8.2)
26
- concurrent-ruby (1.1.9)
26
+ concurrent-ruby (1.1.10)
27
27
  diff-lcs (1.3)
28
28
  docile (1.3.2)
29
29
  dotenv (2.7.5)
30
- faraday (1.8.0)
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)
30
+ faraday (2.3.0)
31
+ faraday-net_http (~> 2.0)
40
32
  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)
33
+ faraday-net_http (2.0.3)
49
34
  gyoku (0.4.6)
50
35
  builder (>= 2.1.2)
51
36
  httpi (1.1.1)
52
37
  rack
53
- i18n (1.8.10)
38
+ i18n (1.10.0)
54
39
  concurrent-ruby (~> 1.0)
55
40
  json (2.3.0)
56
- jwt (2.3.0)
41
+ jwt (2.4.1)
57
42
  mail (2.7.1)
58
43
  mini_mime (>= 0.1.1)
59
44
  mini_mime (1.1.2)
60
- mini_portile2 (2.6.1)
61
- minitest (5.14.4)
62
- multipart-post (2.1.1)
63
- nokogiri (1.12.5)
64
- mini_portile2 (~> 2.6.1)
45
+ mini_portile2 (2.8.0)
46
+ minitest (5.15.0)
47
+ nokogiri (1.13.6)
48
+ mini_portile2 (~> 2.8.0)
65
49
  racc (~> 1.4)
66
50
  nori (1.1.5)
67
- racc (1.5.2)
68
- rack (2.2.3)
51
+ racc (1.6.0)
52
+ rack (2.2.3.1)
69
53
  rspec (3.9.0)
70
54
  rspec-core (~> 3.9.0)
71
55
  rspec-expectations (~> 3.9.0)
@@ -93,8 +77,8 @@ GEM
93
77
  json (>= 1.8, < 3)
94
78
  simplecov-html (~> 0.10.0)
95
79
  simplecov-html (0.10.2)
96
- twilio-ruby (5.59.0)
97
- faraday (>= 0.9, < 2.0)
80
+ twilio-ruby (5.67.2)
81
+ faraday (>= 0.9, < 3.0)
98
82
  jwt (>= 1.5, <= 2.5)
99
83
  nokogiri (>= 1.6, < 2.0)
100
84
  tzinfo (2.0.4)
@@ -102,7 +86,7 @@ GEM
102
86
  wasabi (2.5.1)
103
87
  httpi (~> 1.0)
104
88
  nokogiri (>= 1.4.0)
105
- zeitwerk (2.4.2)
89
+ zeitwerk (2.5.4)
106
90
 
107
91
  PLATFORMS
108
92
  ruby
data/lib/smess/output.rb CHANGED
@@ -19,5 +19,9 @@ module Smess
19
19
  raise NotImplementedError.new("You must define deliver in your Smess output class")
20
20
  end
21
21
 
22
+ def send_feedback(_message_sid)
23
+ nil
24
+ end
25
+
22
26
  end
23
27
  end
@@ -11,6 +11,11 @@ module Smess
11
11
  out.deliver.merge({sent_with: output_name})
12
12
  end
13
13
 
14
+ def send_feedback(message_sid)
15
+ out = output_for sms.to
16
+ out.send_feedback(message_sid)
17
+ end
18
+
14
19
  def get_output_name_for_msisdn(msisdn)
15
20
  3.downto(0).each do |index|
16
21
  return Smess.config.output_by_country_code[msisdn[0..index]] if Smess.config.output_by_country_code.key? msisdn[0..index]
@@ -10,6 +10,7 @@ module Smess
10
10
  end
11
11
 
12
12
  attr_accessor :sid, :auth_token, :from, :messaging_service_sid, :callback_url
13
+
13
14
  def validate_config
14
15
  @sid = config.fetch(:sid)
15
16
  @auth_token = config.fetch(:auth_token)
@@ -18,6 +19,10 @@ module Smess
18
19
  @callback_url = config.fetch(:callback_url)
19
20
  end
20
21
 
22
+ def send_feedback(message_sid)
23
+ client.messages(message_sid).feedback.create(outcome: "confirmed")
24
+ end
25
+
21
26
  def deliver
22
27
  send_one_sms sms.message
23
28
  end
@@ -31,7 +36,7 @@ module Smess
31
36
  end
32
37
 
33
38
  def split_parts
34
- Smess.separate_sms(sms.message).reject {|s| s.empty? }
39
+ Smess.separate_sms(sms.message).reject { |s| s.empty? }
35
40
  end
36
41
 
37
42
  def send_one_sms(message)
@@ -39,16 +44,15 @@ module Smess
39
44
  opts = {
40
45
  to: "+#{sms.to}",
41
46
  body: message,
42
- status_callback: callback_url
47
+ status_callback: callback_url,
48
+ provide_feedback: true
43
49
  }
44
50
  if messaging_service_sid.present?
45
- opts[:messaging_service_sid] = messaging_service_sid
51
+ opts[:messaging_service_sid] = messaging_service_sid
46
52
  else
47
- opts[:from] = from
53
+ opts[:from] = from
48
54
  end
49
- puts "about to create_client_message"
50
55
  response = create_client_message(opts)
51
- puts "got response #{response.inspect}"
52
56
  result = normal_result(response)
53
57
  rescue => e
54
58
  puts "got exception #{e.inspect}"
data/lib/smess/sms.rb CHANGED
@@ -21,5 +21,12 @@ module Smess
21
21
  results[:response_code] == "0"
22
22
  end
23
23
 
24
+ def send_feedback(to, message_sid)
25
+ out = Smess.named_output_instance(output)
26
+ @to = to
27
+ out.sms = self
28
+ out.send_feedback(message_sid)
29
+ end
30
+
24
31
  end
25
32
  end
data/lib/smess/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Smess
2
- VERSION = '2.0.7'
2
+ VERSION = '2.1.0'
3
3
  end
data/smess-2.0.8.gem ADDED
Binary file
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.7
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Westin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-10-15 00:00:00.000000000 Z
11
+ date: 2022-10-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -173,6 +173,7 @@ files:
173
173
  - lib/smess/utils.rb
174
174
  - lib/smess/version.rb
175
175
  - lib/string_ext.rb
176
+ - smess-2.0.8.gem
176
177
  - smess.gemspec
177
178
  homepage: https://github.com/eimermusic/smess
178
179
  licenses: