govdelivery-tms 0.8.14 → 0.9.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/lib/govdelivery-tms.rb +1 -0
- data/lib/govdelivery/tms/resource/collections.rb +4 -0
- data/lib/govdelivery/tms/resource/email_message.rb +2 -1
- data/lib/govdelivery/tms/resource/email_template.rb +9 -2
- data/lib/govdelivery/tms/resource/message_type.rb +16 -0
- data/lib/govdelivery/tms/version.rb +1 -1
- data/spec/email_message_spec.rb +6 -1
- data/spec/email_template_spec.rb +7 -1
- data/spec/message_types_spec.rb +33 -0
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 09c0b3dc04ff867cb20f04b6a03e3b252d8a236a
|
4
|
+
data.tar.gz: 24b27bf686f91b8f2599bd32aa6605e9ff266338
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1ac643e82b7693cdf4be4777d4d330dd88e5303556cf49ae6607b5c031b75f57456ffa099e4b66fd692d5334038a6f5961d10785622e5bc565b0d8c5019b9ebe
|
7
|
+
data.tar.gz: 1d8ce76b6c4cceec11b39233284284369cfce9d0481e5f09bab2f3571f2a5b32956c86c09816ce9d8c4751222f51fb69a3c32aa08c927ac0d49c6908997a7094
|
data/lib/govdelivery-tms.rb
CHANGED
@@ -31,6 +31,7 @@ require 'govdelivery/tms/resource/sms_message'
|
|
31
31
|
require 'govdelivery/tms/resource/email_message'
|
32
32
|
require 'govdelivery/tms/resource/inbound_sms_message'
|
33
33
|
require 'govdelivery/tms/resource/command_type'
|
34
|
+
require 'govdelivery/tms/resource/message_type'
|
34
35
|
require 'govdelivery/tms/resource/command_action'
|
35
36
|
require 'govdelivery/tms/resource/command'
|
36
37
|
require 'govdelivery/tms/resource/keyword'
|
@@ -73,6 +73,10 @@ class GovDelivery::TMS::EmailTemplates
|
|
73
73
|
include GovDelivery::TMS::CollectionResource
|
74
74
|
end
|
75
75
|
|
76
|
+
class GovDelivery::TMS::MessageTypes
|
77
|
+
include GovDelivery::TMS::CollectionResource
|
78
|
+
end
|
79
|
+
|
76
80
|
class GovDelivery::TMS::SmsTemplates
|
77
81
|
include GovDelivery::TMS::CollectionResource
|
78
82
|
end
|
@@ -50,6 +50,7 @@ module GovDelivery::TMS #:nodoc:
|
|
50
50
|
:from_email,
|
51
51
|
:from_name,
|
52
52
|
:macros,
|
53
|
+
:message_type_code,
|
53
54
|
:open_tracking_enabled,
|
54
55
|
:reply_to,
|
55
56
|
:subject
|
@@ -77,6 +78,6 @@ module GovDelivery::TMS #:nodoc:
|
|
77
78
|
# A CollectionResource of EmailRecipients that failed, not neccessarily bounced
|
78
79
|
collection_attribute :failed, 'EmailRecipients'
|
79
80
|
|
80
|
-
linkable_attributes :email_template
|
81
|
+
linkable_attributes :email_template, :message_type
|
81
82
|
end
|
82
83
|
end
|
@@ -3,9 +3,16 @@ module GovDelivery::TMS #:nodoc:
|
|
3
3
|
include InstanceResource
|
4
4
|
|
5
5
|
# @!parse attr_accessor :body, :subject, :link_tracking_parameters, :macros, :open_tracking_enabled, :click_tracking_enabled
|
6
|
-
writeable_attributes :body,
|
6
|
+
writeable_attributes :body,
|
7
|
+
:subject,
|
8
|
+
:link_tracking_parameters,
|
9
|
+
:macros,
|
10
|
+
:message_type_code,
|
11
|
+
:open_tracking_enabled,
|
12
|
+
:click_tracking_enabled,
|
13
|
+
:uuid
|
7
14
|
|
8
|
-
linkable_attributes :from_address
|
15
|
+
linkable_attributes :from_address, :message_type
|
9
16
|
|
10
17
|
# @!parse attr_reader :id, :created_at
|
11
18
|
readonly_attributes :id, :created_at
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module GovDelivery::TMS #:nodoc:
|
2
|
+
# A MessageType is a like a tag that can be attached to an EmailTemplate or an
|
3
|
+
# EmailMessage. It is included in encoded links and can be used as a
|
4
|
+
# Segmentation filter.
|
5
|
+
#
|
6
|
+
#
|
7
|
+
# @attr code [String] The unique identifier of the MessageType.
|
8
|
+
# @attr label [String] User facing description
|
9
|
+
#
|
10
|
+
class MessageType
|
11
|
+
include InstanceResource
|
12
|
+
|
13
|
+
# @!parse attr_reader :code, :label
|
14
|
+
writeable_attributes :code, :label
|
15
|
+
end
|
16
|
+
end
|
data/spec/email_message_spec.rb
CHANGED
@@ -86,7 +86,10 @@ describe GovDelivery::TMS::EmailMessage do
|
|
86
86
|
'reply_to' => 'replyto@evotest.govdelivery.com',
|
87
87
|
'recipients' => [{ email: 'billy@evotest.govdelivery.com' }],
|
88
88
|
'created_at' => 'time',
|
89
|
-
'
|
89
|
+
'message_type_code' => 'salutations',
|
90
|
+
'_links' => { 'self' => '/messages/email/new-template',
|
91
|
+
'message_type' => '/message_type/abc',
|
92
|
+
'email_template' => '/templates/email/new-template' }
|
90
93
|
}
|
91
94
|
expect(@message.client).to receive('get').with(@message.href).and_return(double('response', status: 200, body: response))
|
92
95
|
@message.get
|
@@ -96,7 +99,9 @@ describe GovDelivery::TMS::EmailMessage do
|
|
96
99
|
expect(@message.reply_to).to eq('replyto@evotest.govdelivery.com')
|
97
100
|
expect(@message.errors_to).to eq('errors@evotest.govdelivery.com')
|
98
101
|
expect(@message.created_at).to eq('time')
|
102
|
+
expect(@message.message_type_code).to eq('salutations')
|
99
103
|
expect(@message.email_template).to be_a(GovDelivery::TMS::EmailTemplate)
|
104
|
+
expect(@message.message_type).to be_a(GovDelivery::TMS::MessageType)
|
100
105
|
end
|
101
106
|
end
|
102
107
|
end
|
data/spec/email_template_spec.rb
CHANGED
@@ -79,8 +79,12 @@ describe GovDelivery::TMS::EmailTemplate do
|
|
79
79
|
'macros' => { 'MACRO1' => '1' },
|
80
80
|
'open_tracking_enabled' => true,
|
81
81
|
'click_tracking_enabled' => true,
|
82
|
+
'message_type_code' => 'salutations',
|
82
83
|
'created_at' => 'sometime',
|
83
|
-
'_links' => { 'self' => '/templates/email/new-template',
|
84
|
+
'_links' => { 'self' => '/templates/email/new-template',
|
85
|
+
'account' => '/accounts/1',
|
86
|
+
'message_type' => '/message_types/abc',
|
87
|
+
'from_address' => '/from_addresses/1' }
|
84
88
|
}
|
85
89
|
expect(@template.client).to receive('post').with(@template).and_return(double('response', status: 201, body: response))
|
86
90
|
@template.post
|
@@ -92,8 +96,10 @@ describe GovDelivery::TMS::EmailTemplate do
|
|
92
96
|
expect(@template.macros).to eq('MACRO1' => '1')
|
93
97
|
expect(@template.open_tracking_enabled).to eq(true)
|
94
98
|
expect(@template.click_tracking_enabled).to eq(true)
|
99
|
+
expect(@template.message_type_code).to eql('salutations')
|
95
100
|
expect(@template.created_at).to eq('sometime')
|
96
101
|
expect(@template.from_address).to be_a(GovDelivery::TMS::FromAddress)
|
102
|
+
expect(@template.message_type).to be_a(GovDelivery::TMS::MessageType)
|
97
103
|
end
|
98
104
|
end
|
99
105
|
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe GovDelivery::TMS::MessageTypes do
|
4
|
+
context 'loading message types' do
|
5
|
+
let(:client) do
|
6
|
+
double('client')
|
7
|
+
end
|
8
|
+
before do
|
9
|
+
@message_types = GovDelivery::TMS::MessageTypes.new(client, '/message_types')
|
10
|
+
end
|
11
|
+
|
12
|
+
it 'should GET ok' do
|
13
|
+
body = [{ 'code' => 'dcm_unsubscribe',
|
14
|
+
'label' => 'Unsubcribe' }]
|
15
|
+
expect(@message_types.client).to receive(:get).and_return(double('response', body: body, status: 200, headers: {}))
|
16
|
+
@message_types.get
|
17
|
+
expect(@message_types.collection.length).to eq(1)
|
18
|
+
ct = @message_types.collection.first
|
19
|
+
expect(ct.code).to eq('dcm_unsubscribe')
|
20
|
+
expect(ct.label).to eq('Unsubcribe')
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'should update label if changed' do
|
24
|
+
@message_type = GovDelivery::TMS::MessageType.new(client, '/message_types', {code: 'dcm_unsubscribe'})
|
25
|
+
response = { code: 'dcm_unsubscribe',
|
26
|
+
label: 'Dcm Unsubscribe' }
|
27
|
+
|
28
|
+
expect(@message_type.client).to receive(:post).and_return(double('response', body: response, status: 200, headers: {}))
|
29
|
+
@message_type.post
|
30
|
+
expect(@message_type.label).to eql('Dcm Unsubscribe')
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: govdelivery-tms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- GovDelivery
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-05-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -87,6 +87,7 @@ files:
|
|
87
87
|
- lib/govdelivery/tms/resource/from_address.rb
|
88
88
|
- lib/govdelivery/tms/resource/inbound_sms_message.rb
|
89
89
|
- lib/govdelivery/tms/resource/keyword.rb
|
90
|
+
- lib/govdelivery/tms/resource/message_type.rb
|
90
91
|
- lib/govdelivery/tms/resource/recipient.rb
|
91
92
|
- lib/govdelivery/tms/resource/sms_message.rb
|
92
93
|
- lib/govdelivery/tms/resource/sms_template.rb
|
@@ -105,6 +106,7 @@ files:
|
|
105
106
|
- spec/keyword_spec.rb
|
106
107
|
- spec/keywords_spec.rb
|
107
108
|
- spec/mail/delivery_method_spec.rb
|
109
|
+
- spec/message_types_spec.rb
|
108
110
|
- spec/sms_message_spec.rb
|
109
111
|
- spec/sms_messages_spec.rb
|
110
112
|
- spec/spec_helper.rb
|
@@ -128,7 +130,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
128
130
|
version: '0'
|
129
131
|
requirements: []
|
130
132
|
rubyforge_project:
|
131
|
-
rubygems_version: 2.
|
133
|
+
rubygems_version: 2.2.3
|
132
134
|
signing_key:
|
133
135
|
specification_version: 4
|
134
136
|
summary: A ruby client to interact with the GovDelivery TMS REST API.
|
@@ -144,6 +146,7 @@ test_files:
|
|
144
146
|
- spec/keyword_spec.rb
|
145
147
|
- spec/keywords_spec.rb
|
146
148
|
- spec/mail/delivery_method_spec.rb
|
149
|
+
- spec/message_types_spec.rb
|
147
150
|
- spec/sms_message_spec.rb
|
148
151
|
- spec/sms_messages_spec.rb
|
149
152
|
- spec/spec_helper.rb
|