smess 2.0.7 → 2.1.0

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