govdelivery-tms 0.10.1 → 2.8.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/Gemfile +1 -1
- data/README.md +67 -7
- data/govdelivery-tms.gemspec +1 -1
- data/lib/govdelivery-tms.rb +2 -0
- data/lib/govdelivery/tms/client.rb +2 -2
- data/lib/govdelivery/tms/collection_resource.rb +2 -2
- data/lib/govdelivery/tms/connection.rb +2 -2
- data/lib/govdelivery/tms/instance_resource.rb +2 -2
- data/lib/govdelivery/tms/resource/reports_messages_email_statistics.rb +8 -0
- data/lib/govdelivery/tms/resource/reports_messages_sms_statistics.rb +8 -0
- data/lib/govdelivery/tms/version.rb +1 -1
- data/spec/client_spec.rb +5 -0
- data/spec/core_ext_spec.rb +11 -2
- data/spec/email_message_spec.rb +1 -1
- data/spec/email_messages_spec.rb +34 -0
- data/spec/email_template_spec.rb +1 -1
- data/spec/from_address_spec.rb +1 -1
- data/spec/keyword_spec.rb +1 -1
- data/spec/reports_messages_email_statistics_spec.rb +23 -0
- data/spec/reports_messages_sms_statistics_spec.rb +22 -0
- data/spec/sms_message_spec.rb +1 -1
- data/spec/sms_messages_spec.rb +20 -8
- metadata +30 -22
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: d64e10030da0d761968107c6c275bc7605428dcdc9080c0dbec58c1eafb4358d
|
4
|
+
data.tar.gz: 7e9566ed9d64e80e3b50ef48cd1b8a00a434882afcd888472a9e1f5e589eed43
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 43b1065b7a69d3984fb106b088d55d77c67d4a97994616d2010f0086d957f79b69e1c0030e33fd4e4c78a2b59ea4088a7e51dbd3ff579f4d25f753db6156d93b
|
7
|
+
data.tar.gz: 41be63bb2424563b899838ec5b2b76eee1bede37ee63a5194aef1c16cb8b8e2a891bb1bd6c35d925877350d0515cefb58a919529f00351b4f8202de82c2e1b67
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -39,6 +39,27 @@ client.sms_messages.get # get the first page of sms messages
|
|
39
39
|
client.sms_messages.next.get # get the next page of sms messages
|
40
40
|
```
|
41
41
|
|
42
|
+
#### Optional parameters
|
43
|
+
When loading messages, the following parameters can be passed with requests to change the sort order and number of results returned:
|
44
|
+
|
45
|
+
**page_size**: Must be an integer between 1 and 100
|
46
|
+
|
47
|
+
```ruby
|
48
|
+
client.sms_messages.get({page_size: 2}) # get the first two sms messages
|
49
|
+
```
|
50
|
+
|
51
|
+
**sort_by**: Field by which to sort results. Default: created_at.
|
52
|
+
|
53
|
+
```ruby
|
54
|
+
client.sms_messages.get({sort_by: 'created_at'}) # get the first page of sms messages, sorted by created_at
|
55
|
+
```
|
56
|
+
|
57
|
+
**sort_order**: Order by which to sort results. Must be ASC or DESC. Default: DESC.
|
58
|
+
|
59
|
+
```ruby
|
60
|
+
client.sms_messages.get({sort_order: 'ASC'}) # get the first page of sms messages, sorted by created_at DESC
|
61
|
+
client.sms_messages.get({sort_by: 'body', sort_order: 'ASC'}) # get the first page of sms messages, sorted by body ASC
|
62
|
+
```
|
42
63
|
|
43
64
|
### Sending an SMS Message
|
44
65
|
|
@@ -219,6 +240,7 @@ completed_at | (sent or failed recipients only)
|
|
219
240
|
|
220
241
|
Metrics
|
221
242
|
-------
|
243
|
+
|
222
244
|
### Viewing recipients that clicked on a link in an email
|
223
245
|
|
224
246
|
```ruby
|
@@ -243,6 +265,29 @@ email_recipient.clicks.get.collection #=> [<#EmailRecipientClick>,...]
|
|
243
265
|
email_recipient.opens.get.collection #=> [<#EmailRecipientOpen>,...]
|
244
266
|
```
|
245
267
|
|
268
|
+
Reports
|
269
|
+
-------
|
270
|
+
|
271
|
+
### Message recipient counts
|
272
|
+
Recipient counts are aggregated across all messages and grouped by message status.
|
273
|
+
|
274
|
+
`start` and `end` are required datetime parameters. They must be truncated to the hour and be in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ).
|
275
|
+
|
276
|
+
End dates are exclusive and all results are based on utc time.
|
277
|
+
|
278
|
+
#### Email
|
279
|
+
|
280
|
+
```ruby
|
281
|
+
stats = client.reports_messages_email_statistics.get({start: '2017-06-01T10:00:00Z', end: '2017:06:30T18:00:00Z'}) # get email recipient counts for messages sent between 6/1/17 and 6/30/17
|
282
|
+
stats.recipients
|
283
|
+
```
|
284
|
+
|
285
|
+
#### SMS
|
286
|
+
```ruby
|
287
|
+
stats = client.reports_messages_sms_statistics.get({start: '2017-06-01T10:00:00Z', end: '2017:06:30T18:00:00Z'}) # get sms recipient counts for messages sent between 6/1/17 and 6/30/17
|
288
|
+
stats.recipients
|
289
|
+
```
|
290
|
+
|
246
291
|
Configuring 2-way SMS
|
247
292
|
---------------------
|
248
293
|
|
@@ -359,22 +404,37 @@ Generating Documentation
|
|
359
404
|
------------------------
|
360
405
|
This project uses [yard](https://github.com/lsegal/yard) to generate documentation. To generate API documentation yourself, use the following series of commands from the project root:
|
361
406
|
|
362
|
-
```
|
407
|
+
```
|
363
408
|
# install development gems
|
364
409
|
bundle install
|
365
410
|
# generate documentation
|
366
|
-
rake yard
|
411
|
+
bundle exec rake yard
|
367
412
|
```
|
368
413
|
The generated documentation will be placed in the `doc` folder.
|
369
414
|
|
370
415
|
|
371
416
|
Running Tests
|
372
417
|
-------------
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
appraisal
|
418
|
+
This project relies upon the appraisal gem to support running tests with different ActiveSupport versions.
|
419
|
+
|
420
|
+
### default ActiveSupport
|
421
|
+
```
|
422
|
+
bundle exec appraisal install
|
423
|
+
bundle exec appraisal rake
|
424
|
+
```
|
425
|
+
|
426
|
+
### ActiveSupport 3
|
427
|
+
```
|
428
|
+
bundle update
|
429
|
+
bundle install --gemfile gemfiles/3.gemfile
|
430
|
+
bundle exec appraisal 3 rake
|
431
|
+
```
|
432
|
+
|
433
|
+
### ActiveSupport 4
|
434
|
+
```
|
435
|
+
bundle update
|
436
|
+
bundle install --gemfile gemfiles/4.gemfile
|
437
|
+
bundle exec appraisal 4 rake
|
378
438
|
```
|
379
439
|
|
380
440
|
|
data/govdelivery-tms.gemspec
CHANGED
@@ -17,7 +17,7 @@ Gem::Specification.new do |s|
|
|
17
17
|
s.add_runtime_dependency 'activesupport'
|
18
18
|
s.add_runtime_dependency 'faraday'
|
19
19
|
s.add_runtime_dependency 'faraday_middleware'
|
20
|
-
s.add_runtime_dependency 'mime-types'
|
20
|
+
s.add_runtime_dependency 'mime-types'
|
21
21
|
|
22
22
|
s.files = %w(
|
23
23
|
Gemfile
|
data/lib/govdelivery-tms.rb
CHANGED
@@ -36,3 +36,5 @@ require 'govdelivery/tms/resource/command_action'
|
|
36
36
|
require 'govdelivery/tms/resource/command'
|
37
37
|
require 'govdelivery/tms/resource/keyword'
|
38
38
|
require 'govdelivery/tms/resource/webhook'
|
39
|
+
require 'govdelivery/tms/resource/reports_messages_email_statistics'
|
40
|
+
require 'govdelivery/tms/resource/reports_messages_sms_statistics'
|
@@ -39,8 +39,8 @@ class GovDelivery::TMS::Client
|
|
39
39
|
parse_links(services['_links'])
|
40
40
|
end
|
41
41
|
|
42
|
-
def get(href)
|
43
|
-
response = raw_connection.get(href)
|
42
|
+
def get(href, params = {})
|
43
|
+
response = raw_connection.get(href, params)
|
44
44
|
case response.status
|
45
45
|
when 500..599
|
46
46
|
fail GovDelivery::TMS::Request::Error.new(response.status)
|
@@ -16,8 +16,8 @@ module GovDelivery::TMS::CollectionResource
|
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
19
|
-
def get
|
20
|
-
response = client.get(href)
|
19
|
+
def get(params = {})
|
20
|
+
response = client.get(href, params)
|
21
21
|
initialize_collection_from_items(response.body)
|
22
22
|
# setup page links from header
|
23
23
|
links = LinkHeader.parse(response.headers['link']).to_a.collect do |a|
|
@@ -1,8 +1,8 @@
|
|
1
1
|
class GovDelivery::TMS::Connection
|
2
2
|
attr_accessor :auth_token, :api_root, :connection, :logger
|
3
3
|
|
4
|
-
def get(href)
|
5
|
-
resp = connection.get("#{href}.json")
|
4
|
+
def get(href, params = {})
|
5
|
+
resp = connection.get("#{href}.json", params)
|
6
6
|
if resp.status != 200
|
7
7
|
fail RecordNotFound.new("Could not find resource at #{href} (status #{resp.status})")
|
8
8
|
else
|
@@ -130,9 +130,9 @@ module GovDelivery::TMS::InstanceResource
|
|
130
130
|
|
131
131
|
attr_reader :attributes
|
132
132
|
|
133
|
-
def get
|
133
|
+
def get(params={})
|
134
134
|
fail GovDelivery::TMS::Errors::InvalidGet if self.new_record?
|
135
|
-
process_response(client.get(href), :get) && self
|
135
|
+
process_response(client.get(href, params), :get) && self
|
136
136
|
end
|
137
137
|
alias_method :get!, :get
|
138
138
|
|
data/spec/client_spec.rb
CHANGED
@@ -52,6 +52,11 @@ describe GovDelivery::TMS::Client do
|
|
52
52
|
allow(@raw_connection).to receive(:get).and_return(double('response', status: 202, body: { 'message' => 'hi' }))
|
53
53
|
expect { @client.get('/blargh') }.to raise_error(GovDelivery::TMS::Request::InProgress)
|
54
54
|
end
|
55
|
+
it 'should handle all other responses' do
|
56
|
+
response = double('response', status: 200, body: { 'message' => 'hi' })
|
57
|
+
allow(@raw_connection).to receive(:get).with('/blargh', {params: 'foobar'}).and_return(response)
|
58
|
+
expect(@client.get('/blargh', {params: 'foobar'})).to eq(response)
|
59
|
+
end
|
55
60
|
|
56
61
|
context 'creating a new client without output' do
|
57
62
|
subject { GovDelivery::TMS::Client.new('auth_token', api_root: 'null_url', logger: false) }
|
data/spec/core_ext_spec.rb
CHANGED
@@ -1,5 +1,11 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
+
def inflector
|
4
|
+
m = ActiveSupport::Inflector.method('inflections')
|
5
|
+
return ActiveSupport::Inflector.inflections(:en) if m.arity == 1
|
6
|
+
ActiveSupport::Inflector.inflections
|
7
|
+
end
|
8
|
+
|
3
9
|
describe GovDelivery::TMS::CoreExt do
|
4
10
|
|
5
11
|
subject do
|
@@ -7,10 +13,13 @@ describe GovDelivery::TMS::CoreExt do
|
|
7
13
|
end
|
8
14
|
|
9
15
|
describe '#camelize' do
|
10
|
-
|
11
|
-
|
16
|
+
before do
|
17
|
+
inflector do |inflect|
|
12
18
|
inflect.acronym 'SMS'
|
13
19
|
end
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'should return camilized string not using inflector acronyms' do
|
14
23
|
expect(subject.camelize('sms_message')).to eq 'SmsMessage'
|
15
24
|
end
|
16
25
|
end
|
data/spec/email_message_spec.rb
CHANGED
@@ -91,7 +91,7 @@ describe GovDelivery::TMS::EmailMessage do
|
|
91
91
|
'message_type' => '/message_type/abc',
|
92
92
|
'email_template' => '/templates/email/new-template' }
|
93
93
|
}
|
94
|
-
expect(@message.client).to receive('get').with(@message.href).and_return(double('response', status: 200, body: response))
|
94
|
+
expect(@message.client).to receive('get').with(@message.href, {}).and_return(double('response', status: 200, body: response))
|
95
95
|
@message.get
|
96
96
|
expect(@message.body).to eq('processed')
|
97
97
|
expect(@message.subject).to eq('hey')
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe GovDelivery::TMS::EmailMessages do
|
4
|
+
let(:href) {'/messages/email'}
|
5
|
+
context 'loading messages' do
|
6
|
+
let(:client) {double('client')}
|
7
|
+
let(:messages) {[
|
8
|
+
{ subject: 'hello', body: 'greetings from places', created_at: 'a while ago' },
|
9
|
+
{ subject: 'hi!', body: 'feel me flow', created_at: 'longer ago' },
|
10
|
+
{ subject: 'yo', body: 'I am not a robot', created_at: 'even longer ago' }
|
11
|
+
]}
|
12
|
+
|
13
|
+
before do
|
14
|
+
@messages = GovDelivery::TMS::EmailMessages.new(client, href)
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'should GET ok' do
|
18
|
+
expect(@messages.client).to receive(:get).and_return(double('response', body: messages, status: 200, headers: { 'link' => "</messages/email/page/2>; rel=\"next\",</messages/email/page/11>; rel=\"last\"" }))
|
19
|
+
|
20
|
+
@messages.get
|
21
|
+
expect(@messages.collection.length).to eq(3)
|
22
|
+
expect(@messages.next.href).to eq('/messages/email/page/2')
|
23
|
+
expect(@messages.last.href).to eq('/messages/email/page/11')
|
24
|
+
end
|
25
|
+
|
26
|
+
it 'should GET ok with parameters' do
|
27
|
+
params = {page_size: 2, sort_by: 'created_by', sort_order: 'foobar'}
|
28
|
+
expect(@messages.client).to receive(:get).with(href, params).and_return(double('response', body: messages[1..-1], status: 200, headers: { 'link' => "</messages/email/page/2>; rel=\"next\",</messages/email/page/11>; rel=\"last\"" }))
|
29
|
+
|
30
|
+
@messages.get(params)
|
31
|
+
expect(@messages.collection.length).to eq(2)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
data/spec/email_template_spec.rb
CHANGED
@@ -25,7 +25,7 @@ describe GovDelivery::TMS::EmailTemplate do
|
|
25
25
|
}
|
26
26
|
]
|
27
27
|
|
28
|
-
expect(@templates.client).to receive('get').with('/templates/email').and_return(double('response', status: 200, body: response, headers: {}))
|
28
|
+
expect(@templates.client).to receive('get').with('/templates/email', {}).and_return(double('response', status: 200, body: response, headers: {}))
|
29
29
|
@templates.get
|
30
30
|
expect(@templates.collection.length).to eq(1)
|
31
31
|
end
|
data/spec/from_address_spec.rb
CHANGED
@@ -21,7 +21,7 @@ describe GovDelivery::TMS::FromAddress do
|
|
21
21
|
'_links' => { 'self' => '/from_addresses/1' }
|
22
22
|
}]
|
23
23
|
|
24
|
-
expect(@fromaddresses.client).to receive('get').with('/from_addresses').and_return(double('/from_addresses', status: 200, body: response, headers: {}))
|
24
|
+
expect(@fromaddresses.client).to receive('get').with('/from_addresses',{}).and_return(double('/from_addresses', status: 200, body: response, headers: {}))
|
25
25
|
addresses = @fromaddresses.get
|
26
26
|
expect(addresses.collection.length).to eq(1)
|
27
27
|
expect(addresses.collection.first.class).to eq(GovDelivery::TMS::FromAddress)
|
data/spec/keyword_spec.rb
CHANGED
@@ -39,7 +39,7 @@ describe GovDelivery::TMS::Keyword do
|
|
39
39
|
end
|
40
40
|
it 'should GET cleanly' do
|
41
41
|
response = { name: 'FOO', response_text: 'hello' }
|
42
|
-
expect(@keyword.client).to receive('get').with(@keyword.href).and_return(double('response', status: 200, body: response))
|
42
|
+
expect(@keyword.client).to receive('get').with(@keyword.href, {}).and_return(double('response', status: 200, body: response))
|
43
43
|
@keyword.get
|
44
44
|
expect(@keyword.name).to eq('FOO')
|
45
45
|
expect(@keyword.response_text).to eq('hello')
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe GovDelivery::TMS::ReportsMessagesEmailStatistics do
|
4
|
+
context 'loading email message statistics' do
|
5
|
+
let(:client) { double('client') }
|
6
|
+
let(:href) { '/reports/messages/email/statistics' }
|
7
|
+
|
8
|
+
before do
|
9
|
+
@statistics = GovDelivery::TMS::ReportsMessagesEmailStatistics.new(client, href, {})
|
10
|
+
end
|
11
|
+
|
12
|
+
it 'gets OK with params' do
|
13
|
+
params = {start: Time.now.beginning_of_hour - 7.days, end: Time.now.beginning_of_hour}
|
14
|
+
stats = {:recipients => {:new => 5, :sending => 3, :inconclusive => 2, :blacklisted => 1, :canceled => 7, :sent => 80, :failed => 2} }
|
15
|
+
|
16
|
+
|
17
|
+
expect(@statistics.client).to receive('get').with(href, params).and_return(double('response', status: 200, body: stats))
|
18
|
+
@statistics.get(params)
|
19
|
+
expect(@statistics.recipients).to eq(stats[:recipients])
|
20
|
+
expect(@statistics.recipients[:sent]).to eq(80)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe GovDelivery::TMS::ReportsMessagesSmsStatistics do
|
4
|
+
context 'loading sms message statistics' do
|
5
|
+
let(:client) { double('client') }
|
6
|
+
let(:href) { '/reports/messages/sms/statistics' }
|
7
|
+
|
8
|
+
before do
|
9
|
+
@statistics = GovDelivery::TMS::ReportsMessagesSmsStatistics.new(client, href, {})
|
10
|
+
end
|
11
|
+
|
12
|
+
it 'gets OK with params' do
|
13
|
+
params = {start: Time.now.beginning_of_hour - 7.days, end: Time.now.beginning_of_hour}
|
14
|
+
stats = {:recipients => {:new => 5, :sending => 3, :inconclusive => 2, :blacklisted => 1, :canceled => 7, :sent => 80, :failed => 2} }
|
15
|
+
|
16
|
+
expect(@statistics.client).to receive('get').with(href, params).and_return(double('response', status: 200, body: stats))
|
17
|
+
@statistics.get(params)
|
18
|
+
expect(@statistics.recipients).to eq(stats[:recipients])
|
19
|
+
expect(@statistics.recipients[:sent]).to eq(80)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
data/spec/sms_message_spec.rb
CHANGED
@@ -52,7 +52,7 @@ describe GovDelivery::TMS::SmsMessage do
|
|
52
52
|
end
|
53
53
|
it 'should GET cleanly' do
|
54
54
|
response = { body: 'processed', recipients: [{ phone: '22345678' }], created_at: 'time' }
|
55
|
-
expect(@message.client).to receive('get').with(@message.href).and_return(double('response', status: 200, body: response))
|
55
|
+
expect(@message.client).to receive('get').with(@message.href, {}).and_return(double('response', status: 200, body: response))
|
56
56
|
@message.get
|
57
57
|
expect(@message.body).to eq('processed')
|
58
58
|
expect(@message.created_at).to eq('time')
|
data/spec/sms_messages_spec.rb
CHANGED
@@ -1,21 +1,33 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe GovDelivery::TMS::SmsMessages do
|
4
|
+
let(:href) {'/messages/sms'}
|
4
5
|
context 'creating a new messages list' do
|
5
|
-
let(:client)
|
6
|
-
|
7
|
-
|
6
|
+
let(:client) {double('client')}
|
7
|
+
let(:messages) {[
|
8
|
+
{ short_body: 'hi ho', created_at: 'a while ago' },
|
9
|
+
{ short_body: 'hello', created_at: 'longer ago' },
|
10
|
+
{ short_body: 'yo', created_at: 'even longer ago' }
|
11
|
+
]}
|
12
|
+
|
8
13
|
before do
|
9
|
-
@messages = GovDelivery::TMS::SmsMessages.new(client,
|
14
|
+
@messages = GovDelivery::TMS::SmsMessages.new(client, href)
|
10
15
|
end
|
11
16
|
it 'should GET itself' do
|
12
|
-
|
13
|
-
expect(@messages.client).to receive(:get).and_return(double('response', body: body, status: 200, headers: { 'link' => "</messages/page/2>; rel=\"next\",</messages/page/11>; rel=\"last\"" }))
|
17
|
+
expect(@messages.client).to receive(:get).and_return(double('response', body: messages, status: 200, headers: { 'link' => "</messages/sms/page/2>; rel=\"next\",</messages/sms/page/11>; rel=\"last\"" }))
|
14
18
|
|
15
19
|
@messages.get
|
20
|
+
expect(@messages.collection.length).to eq(3)
|
21
|
+
expect(@messages.next.href).to eq('/messages/sms/page/2')
|
22
|
+
expect(@messages.last.href).to eq('/messages/sms/page/11')
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'should GET ok with parameters' do
|
26
|
+
params = {page_size: 2, sort_by: 'created_by', sort_order: 'foobar'}
|
27
|
+
expect(@messages.client).to receive(:get).with(href, params).and_return(double('response', body: messages[1..-1], status: 200, headers: { 'link' => "</messages/sms/page/2>; rel=\"next\",</messages/sms/page/11>; rel=\"last\"" }))
|
28
|
+
|
29
|
+
@messages.get(params)
|
16
30
|
expect(@messages.collection.length).to eq(2)
|
17
|
-
expect(@messages.next.href).to eq('/messages/page/2')
|
18
|
-
expect(@messages.last.href).to eq('/messages/page/11')
|
19
31
|
end
|
20
32
|
end
|
21
33
|
end
|
metadata
CHANGED
@@ -1,74 +1,74 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: govdelivery-tms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.8.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- GovDelivery
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-05-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name: activesupport
|
15
14
|
requirement: !ruby/object:Gem::Requirement
|
16
15
|
requirements:
|
17
16
|
- - ">="
|
18
17
|
- !ruby/object:Gem::Version
|
19
18
|
version: '0'
|
20
|
-
|
19
|
+
name: activesupport
|
21
20
|
prerelease: false
|
21
|
+
type: :runtime
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name: faraday
|
29
28
|
requirement: !ruby/object:Gem::Requirement
|
30
29
|
requirements:
|
31
30
|
- - ">="
|
32
31
|
- !ruby/object:Gem::Version
|
33
32
|
version: '0'
|
34
|
-
|
33
|
+
name: faraday
|
35
34
|
prerelease: false
|
35
|
+
type: :runtime
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name: faraday_middleware
|
43
42
|
requirement: !ruby/object:Gem::Requirement
|
44
43
|
requirements:
|
45
44
|
- - ">="
|
46
45
|
- !ruby/object:Gem::Version
|
47
46
|
version: '0'
|
48
|
-
|
47
|
+
name: faraday_middleware
|
49
48
|
prerelease: false
|
49
|
+
type: :runtime
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name: mime-types
|
57
56
|
requirement: !ruby/object:Gem::Requirement
|
58
57
|
requirements:
|
59
|
-
- - "
|
58
|
+
- - ">="
|
60
59
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
62
|
-
|
60
|
+
version: '0'
|
61
|
+
name: mime-types
|
63
62
|
prerelease: false
|
63
|
+
type: :runtime
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
69
|
-
description: "A reference implementation, written in Ruby,\n to
|
70
|
-
interact with GovDelivery's TMS API. The client is\n compatible
|
71
|
-
with Ruby 1.9 and 2.0. "
|
68
|
+
version: '0'
|
69
|
+
description: "A reference implementation, written in Ruby,\n to\
|
70
|
+
\ interact with GovDelivery's TMS API. The client is\n compatible\
|
71
|
+
\ with Ruby 1.9 and 2.0. "
|
72
72
|
email:
|
73
73
|
- support@govdelivery.com
|
74
74
|
executables: []
|
@@ -103,6 +103,8 @@ files:
|
|
103
103
|
- lib/govdelivery/tms/resource/keyword.rb
|
104
104
|
- lib/govdelivery/tms/resource/message_type.rb
|
105
105
|
- lib/govdelivery/tms/resource/recipient.rb
|
106
|
+
- lib/govdelivery/tms/resource/reports_messages_email_statistics.rb
|
107
|
+
- lib/govdelivery/tms/resource/reports_messages_sms_statistics.rb
|
106
108
|
- lib/govdelivery/tms/resource/sms_message.rb
|
107
109
|
- lib/govdelivery/tms/resource/sms_template.rb
|
108
110
|
- lib/govdelivery/tms/resource/webhook.rb
|
@@ -113,6 +115,7 @@ files:
|
|
113
115
|
- spec/command_types_spec.rb
|
114
116
|
- spec/core_ext_spec.rb
|
115
117
|
- spec/email_message_spec.rb
|
118
|
+
- spec/email_messages_spec.rb
|
116
119
|
- spec/email_template_spec.rb
|
117
120
|
- spec/errors_spec.rb
|
118
121
|
- spec/from_address_spec.rb
|
@@ -122,6 +125,8 @@ files:
|
|
122
125
|
- spec/keywords_spec.rb
|
123
126
|
- spec/mail/delivery_method_spec.rb
|
124
127
|
- spec/message_types_spec.rb
|
128
|
+
- spec/reports_messages_email_statistics_spec.rb
|
129
|
+
- spec/reports_messages_sms_statistics_spec.rb
|
125
130
|
- spec/sms_message_spec.rb
|
126
131
|
- spec/sms_messages_spec.rb
|
127
132
|
- spec/spec_helper.rb
|
@@ -129,7 +134,7 @@ files:
|
|
129
134
|
homepage: http://govdelivery.com
|
130
135
|
licenses: []
|
131
136
|
metadata: {}
|
132
|
-
post_install_message:
|
137
|
+
post_install_message:
|
133
138
|
rdoc_options: []
|
134
139
|
require_paths:
|
135
140
|
- lib
|
@@ -144,9 +149,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
144
149
|
- !ruby/object:Gem::Version
|
145
150
|
version: '0'
|
146
151
|
requirements: []
|
147
|
-
rubyforge_project:
|
148
|
-
rubygems_version: 2.
|
149
|
-
signing_key:
|
152
|
+
rubyforge_project:
|
153
|
+
rubygems_version: 2.6.13
|
154
|
+
signing_key:
|
150
155
|
specification_version: 4
|
151
156
|
summary: A ruby client to interact with the GovDelivery TMS REST API.
|
152
157
|
test_files:
|
@@ -154,6 +159,7 @@ test_files:
|
|
154
159
|
- spec/command_types_spec.rb
|
155
160
|
- spec/core_ext_spec.rb
|
156
161
|
- spec/email_message_spec.rb
|
162
|
+
- spec/email_messages_spec.rb
|
157
163
|
- spec/email_template_spec.rb
|
158
164
|
- spec/errors_spec.rb
|
159
165
|
- spec/from_address_spec.rb
|
@@ -163,6 +169,8 @@ test_files:
|
|
163
169
|
- spec/keywords_spec.rb
|
164
170
|
- spec/mail/delivery_method_spec.rb
|
165
171
|
- spec/message_types_spec.rb
|
172
|
+
- spec/reports_messages_email_statistics_spec.rb
|
173
|
+
- spec/reports_messages_sms_statistics_spec.rb
|
166
174
|
- spec/sms_message_spec.rb
|
167
175
|
- spec/sms_messages_spec.rb
|
168
176
|
- spec/spec_helper.rb
|