twi 0.7.0 → 0.8.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 +4 -4
- data/CHANGELOG.md +5 -0
- data/lib/twi/message.rb +12 -2
- data/lib/twi/mock/message.rb +2 -0
- data/lib/twi/mock.rb +3 -0
- data/lib/twi/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e1f97b3f51774f71277566ba6e50329a019493a1a8f36578aeb1079ae6fe0da1
|
|
4
|
+
data.tar.gz: 0bc82156d7cd71fd36a62bdf6595146424ba553fb0033981f7eea3d0d227e101
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3f2b6f37100f53f86b3f2b7792c15591e2d60d7cb6d9e5d1658862d2af84446d5590ba67846f6c26c788038cc43592f41e0ef01c0f39f8cb72f51fde389c6277
|
|
7
|
+
data.tar.gz: 00ed8b8c2b73e63547942266681009205140046043b84a75488d41cd91997ae563e42e40084bf74cea037a0fe3b1580dc74cdcd03f237dd84dcdf22e73c53865
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
## [0.8.0] - 2026-09-11
|
|
2
|
+
|
|
3
|
+
- [New] Send media with a message: `Twi.create_message media_url:` carries it as an MMS
|
|
4
|
+
- [New] Record what was sent on Twi.mock.messages, so a suite can assert it
|
|
5
|
+
|
|
1
6
|
## [0.7.0] - 2026-08-19
|
|
2
7
|
|
|
3
8
|
- [New] Add Twi.reset_mock, to stop a mocked answer outliving the test that arranged it
|
data/lib/twi/message.rb
CHANGED
|
@@ -40,8 +40,7 @@ module Twi
|
|
|
40
40
|
|
|
41
41
|
# Sends a message.
|
|
42
42
|
def create
|
|
43
|
-
message = api_client.messages.create
|
|
44
|
-
from: "+1#{@params[:sender]}", to: "+1#{@params[:recipient]}", body: @params[:content]
|
|
43
|
+
message = api_client.messages.create **create_params
|
|
45
44
|
|
|
46
45
|
@params = { 'MessageSid' => message.sid }
|
|
47
46
|
@id = message.sid
|
|
@@ -62,6 +61,17 @@ module Twi
|
|
|
62
61
|
|
|
63
62
|
private
|
|
64
63
|
|
|
64
|
+
# Twilio fetches whatever `media_url` names and carries it as an MMS, so a vCard among
|
|
65
|
+
# them arrives as a contact card the reader can save rather than a link they must open.
|
|
66
|
+
# @return [Hash] the arguments Twilio takes for one outbound message.
|
|
67
|
+
def create_params
|
|
68
|
+
media = Array @params[:media_url]
|
|
69
|
+
|
|
70
|
+
{ messaging_service_sid: Twi.lio.messaging_sid.to_s, from: "+1#{@params[:sender]}",
|
|
71
|
+
to: "+1#{@params[:recipient]}", body: @params[:content] }
|
|
72
|
+
.merge(media.any? ? { media_url: media } : {})
|
|
73
|
+
end
|
|
74
|
+
|
|
65
75
|
def self.media_params_for(media = [])
|
|
66
76
|
media.each_with_index.inject({ NumMedia: media.size.to_s }) do |hash, (item, index)|
|
|
67
77
|
url_key = "MediaUrl#{index}".to_sym
|
data/lib/twi/mock/message.rb
CHANGED
data/lib/twi/mock.rb
CHANGED
data/lib/twi/version.rb
CHANGED