Skip to content

Commit

Permalink
update documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
TomatoOmelette committed Apr 30, 2018
1 parent cdc0f18 commit 2fb3034
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 18 deletions.
31 changes: 31 additions & 0 deletions README.md
Expand Up @@ -97,6 +97,37 @@ You don't need to use Ruby Mail to build and send messages with Paubox.
client.deliver_mail(message)
=> {"message"=>"Service OK", "sourceTrackingId"=>"2a3c048485aa4cf6"}

### Checking Email Dispositions

client = Paubox::Client.new
email_disposition = client.email_disposition('2a3c048485aa4cf6')

# Get array of email_dispositions. One email_disposition is generated for each recipient.
message_deliveries = email_disposition.message_deliveries
=> [<struct Paubox::EmailDisposition::MessageDelivery recipient="test@domain.com", status=#<struct Paubox::EmailDisposition::MessageDeliveryStatus delivery_status="delivered", delivery_time=Mon, 30 Apr 2018 12:54:19 -0700, opened_status="opened", opened_time=Mon, 30 Apr 2018 12:55:19 -0700>>]

# Inspect a message delivery
delivery = message_deliveries.first

delivery.recipient
=> "test@domain.com"

# Inspect the message delivery status
status = delivery.status

status.delivery_status
=> "delivered"

status.delivery_time
=> Mon, 30 Apr 2018 12:54:19 -0700

# opened_status is only available for single-recipient messages
status.opened_status
=> "opened"

# opened_time is only available for single-recipient messages
status.opened_time
=> Mon, 30 Apr 2018 12:55:19 -0700



Expand Down
2 changes: 1 addition & 1 deletion lib/paubox/client.rb
Expand Up @@ -42,7 +42,7 @@ def send_mail(mail)
def email_disposition(source_tracking_id)
url = "#{request_endpoint('message_receipt')}?sourceTrackingId=#{source_tracking_id}"
response = RestClient.get(url, auth_header)
JSON.parse(response.body)
email_disposition = Paubox::EmailDisposition.new(JSON.parse(response.body))
end
alias message_receipt email_disposition

Expand Down
22 changes: 5 additions & 17 deletions spec/paubox/client_spec.rb
@@ -1,4 +1,9 @@
require "spec_helper"
require './spec/helpers/email_disposition_helper'

RSpec.configure do |c|
c.include Helpers::EmailDispositionHelper
end

RSpec.describe Paubox::Client do
describe '#initialize' do
Expand All @@ -16,14 +21,6 @@
end
end

describe '#email_disposition' do
Paubox.configure do |config|
config.api_key = 'test_key'
config.api_user = 'test_user'
end
client = Paubox::Client.new(api_key: 'test_key', api_user: 'paubox_api')
end

describe '#api_base_endpoint' do
it 'returns the correct URI' do
client = Paubox::Client.new
Expand All @@ -39,13 +36,4 @@
expect(response.code).to eq 200
end
end

describe '#email_disposition' do
it 'checks the API status' do
client = Paubox::Client.new(api_key: 'test_key', api_user: 'paubox_api')
stub_request(:get, client.send(:request_endpoint, 'status'))
response = client.api_status
expect(response.code).to eq 200
end
end
end

0 comments on commit 2fb3034

Please sign in to comment.