Skip to content

Commit

Permalink
Update EmailForward fields (#389)
Browse files Browse the repository at this point in the history
See dnsimple/dnsimple-developer#315 for reference

In this PR:
- Add `alias_email` and `destination_email` fields to `EmailForward`
- Deprecate `from` and `to` fields in `EmailForward
  • Loading branch information
ggalmazor authored May 22, 2024
1 parent be5da19 commit 830f08a
Show file tree
Hide file tree
Showing 6 changed files with 29 additions and 14 deletions.
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ This project uses [Semantic Versioning 2.0.0](http://semver.org/).

## main

- NEW: Added `alias_email` and `destination_email` to `EmailForward`
- CHANGED: Deprecated `from` and `to` fields in `EmailForward`

## 9.0.0

- CHANGED: Minimum Ruby version is now 3.1
Expand Down
10 changes: 9 additions & 1 deletion lib/dnsimple/struct/email_forward.rb
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,23 @@ class EmailForward < Base
attr_accessor :domain_id

# @return [String] The "local part" of the originating email address. Anything to the left of the @ symbol.
# @deprecated use {#alias_email} instead
attr_accessor :from

# @return [String] The full email address to forward to.
# @deprecated use {#destination_email} instead
attr_accessor :to

# @return [String] The receiving email recipient.
attr_accessor :alias_email

# @return [String] The email recipient the messages are delivered to.
attr_accessor :destination_email
# @return [String] Then the email forward was last updated in DNSimple.

# @return [String] When the email forward was created in DNSimple.
attr_accessor :created_at

# @return [String] Then the email forward was last updated in DNSimple.
attr_accessor :updated_at

end
Expand Down
4 changes: 3 additions & 1 deletion spec/dnsimple/client/domains_email_forwards_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@

expect(response).to be_a(Dnsimple::PaginatedResponse)
expect(response.data).to be_a(Array)
expect(response.data.size).to eq(2)
expect(response.data.size).to eq(1)

response.data.each do |result|
expect(result).to be_a(Dnsimple::Struct::EmailForward)
Expand Down Expand Up @@ -153,6 +153,8 @@
expect(result.domain_id).to eq(235146)
expect(result.from).to eq("[email protected]")
expect(result.to).to eq("[email protected]")
expect(result.alias_email).to eq("[email protected]")
expect(result.destination_email).to eq("[email protected]")
expect(result.created_at).to eq("2021-01-25T13:54:40Z")
expect(result.updated_at).to eq("2021-01-25T13:54:40Z")
end
Expand Down
3 changes: 2 additions & 1 deletion spec/fixtures.http/createEmailForward/created.http
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ HTTP/1.1 201 Created
Server: nginx
Date: Mon, 25 Jan 2021 13:54:40 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: identity
Connection: keep-alive
X-RateLimit-Limit: 4800
X-RateLimit-Remaining: 4772
Expand All @@ -18,4 +19,4 @@ X-Permitted-Cross-Domain-Policies: none
Content-Security-Policy: frame-ancestors 'none'
Strict-Transport-Security: max-age=31536000

{"data":{"id":41872,"domain_id":235146,"alias_email":"[email protected]","destination_email":"[email protected]","created_at":"2021-01-25T13:54:40Z","updated_at":"2021-01-25T13:54:40Z","from":"[email protected]","to":"[email protected]"}}
{"data":{"id":41872,"domain_id":235146,"alias_email":"[email protected]","destination_email":"[email protected]","created_at":"2021-01-25T13:54:40Z","updated_at":"2021-01-25T13:54:40Z","from":"[email protected]","to":"[email protected]"}}
3 changes: 2 additions & 1 deletion spec/fixtures.http/getEmailForward/success.http
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ HTTP/1.1 200 OK
Server: nginx
Date: Mon, 25 Jan 2021 13:56:24 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: identity
Connection: keep-alive
X-RateLimit-Limit: 4800
X-RateLimit-Remaining: 4766
Expand All @@ -18,4 +19,4 @@ X-Permitted-Cross-Domain-Policies: none
Content-Security-Policy: frame-ancestors 'none'
Strict-Transport-Security: max-age=31536000

{"data":{"id":41872,"domain_id":235146,"alias_email":"[email protected]","destination_email":"[email protected]","created_at":"2021-01-25T13:54:40Z","updated_at":"2021-01-25T13:54:40Z","from":"[email protected]","to":"[email protected]"}}
{"data":{"id":41872,"domain_id":235146,"alias_email":"[email protected]","destination_email":"[email protected]","created_at":"2021-01-25T13:54:40Z","updated_at":"2021-01-25T13:54:40Z","from":"[email protected]","to":"[email protected]"}}
20 changes: 10 additions & 10 deletions spec/fixtures.http/listEmailForwards/success.http
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
HTTP/1.1 200 OK
Server: nginx
Date: Thu, 04 Feb 2016 14:07:19 GMT
Date: Fri, 17 May 2024 09:07:28 GMT
Content-Type: application/json; charset=utf-8
Connection: keep-alive
Status: 200 OK
X-RateLimit-Limit: 4000
X-RateLimit-Remaining: 3993
X-RateLimit-Reset: 1454596043
ETag: W/"3f10aae0cf0f0b81bdb4f58786ee1750"
X-RateLimit-Limit: 4800
X-RateLimit-Remaining: 4748
X-RateLimit-Reset: 1715936948
X-WORK-WITH-US: Love automation? So do we! https://dnsimple.com/jobs
ETag: W/"a5eed9a071f03e10fc67001ccc647a94"
Cache-Control: max-age=0, private, must-revalidate
X-Request-Id: 6e3aa9d0-cb95-4186-93b0-630da372de86
X-Runtime: 0.026287
Strict-Transport-Security: max-age=31536000
X-Request-Id: e42df983-a8a5-4123-8c74-fb89ab934aba
X-Runtime: 0.025456
Strict-Transport-Security: max-age=63072000

{"data":[{"id":17702,"domain_id":228963,"from":".*@a-domain.com","to":"[email protected]","created_at":"2016-02-04T13:59:29Z","updated_at":"2016-02-04T13:59:29Z"},{"id":17703,"domain_id":228963,"from":"john@a-domain.com","to":"john@example.com","created_at":"2016-02-04T14:07:13Z","updated_at":"2016-02-04T14:07:13Z"}],"pagination":{"current_page":1,"per_page":30,"total_entries":2,"total_pages":1}}
{"data":[{"id":24809,"domain_id":235146,"alias_email":".*@a-domain.com","destination_email":"[email protected]","created_at":"2017-05-25T19:23:16Z","updated_at":"2017-05-25T19:23:16Z","from":".*@a-domain.com","to":"jane.smith@example.com"}],"pagination":{"current_page":1,"per_page":30,"total_entries":1,"total_pages":1}}

0 comments on commit 830f08a

Please sign in to comment.