dnsimple 9.0.0 → 10.0.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/.github/workflows/auto-merge.yml +1 -1
- data/.github/workflows/ci.yml +2 -2
- data/.github/workflows/release.yml +1 -1
- data/CHANGELOG.md +10 -0
- data/Gemfile +4 -4
- data/LICENSE.txt +1 -1
- data/README.md +3 -3
- data/lib/dnsimple/client/dns_analytics.rb +1 -1
- data/lib/dnsimple/client/domains_collaborators.rb +9 -0
- data/lib/dnsimple/struct/email_forward.rb +12 -1
- data/lib/dnsimple/version.rb +1 -1
- data/spec/dnsimple/client/domains_email_forwards_spec.rb +12 -4
- data/spec/fixtures.http/createEmailForward/created.http +2 -1
- data/spec/fixtures.http/getEmailForward/success.http +2 -1
- data/spec/fixtures.http/listEmailForwards/success.http +10 -10
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 717f1a8443a707774595d0f3f4fc0ebeeb1383bd91424e1fdca0e46ba9fd9043
|
4
|
+
data.tar.gz: 0f97c2fa6be76c363bb2a1f6ac793553c051a55f6e191597c0aaf2669c4d3b32
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 270a8d238b4e9bca275f407c2643152892288b8328fa0e1df43750b2a180f172e38597697cc2d936ca9eb0eb284bcaa0f80d534692d6ee8ca3cbde0d3f068dda
|
7
|
+
data.tar.gz: 8c0bcc9b2b79848ab07c440e0bda804284918e0cfe668c2d838a388609825ff5d200569d26198aed4d6a5545403f9a026c04b5a10d2fc88987b0988bf0b24608
|
@@ -16,7 +16,7 @@ jobs:
|
|
16
16
|
if: github.event.pull_request.user.login == 'dependabot[bot]' && contains(github.event.pull_request.labels.*.name, 'automerge')
|
17
17
|
steps:
|
18
18
|
- name: Wait for tests to succeed
|
19
|
-
uses: lewagon/wait-on-check-action@v1.3.
|
19
|
+
uses: lewagon/wait-on-check-action@v1.3.4
|
20
20
|
timeout-minutes: 15
|
21
21
|
with:
|
22
22
|
ref: ${{ github.ref }}
|
data/.github/workflows/ci.yml
CHANGED
@@ -18,7 +18,7 @@ jobs:
|
|
18
18
|
- name: Checkout Code
|
19
19
|
uses: actions/checkout@v4
|
20
20
|
- name: Run markdownlint-cli
|
21
|
-
uses: nosborn/github-action-markdown-cli@v3.
|
21
|
+
uses: nosborn/github-action-markdown-cli@v3.4.0
|
22
22
|
with:
|
23
23
|
files: .
|
24
24
|
config_file: ".markdownlint.yaml"
|
@@ -30,9 +30,9 @@ jobs:
|
|
30
30
|
strategy:
|
31
31
|
matrix:
|
32
32
|
ruby-version:
|
33
|
-
- '3.1'
|
34
33
|
- '3.2'
|
35
34
|
- '3.3'
|
35
|
+
- '3.4'
|
36
36
|
- 'ruby-head'
|
37
37
|
- 'truffleruby-head'
|
38
38
|
steps:
|
data/CHANGELOG.md
CHANGED
@@ -4,6 +4,16 @@ This project uses [Semantic Versioning 2.0.0](http://semver.org/).
|
|
4
4
|
|
5
5
|
## main
|
6
6
|
|
7
|
+
## 10.0.0
|
8
|
+
|
9
|
+
- CHANGED: Minimum Ruby version is now 3.2
|
10
|
+
|
11
|
+
## 9.0.1
|
12
|
+
|
13
|
+
- NEW: Added `alias_email` and `destination_email` to `EmailForward`
|
14
|
+
- CHANGED: Deprecated `from` and `to` fields in `EmailForward`
|
15
|
+
- CHANGED: `DomainCollaborators` have been deprecated and will be removed in the next major version. Please use our Domain Access Control feature.
|
16
|
+
|
7
17
|
## 9.0.0
|
8
18
|
|
9
19
|
- CHANGED: Minimum Ruby version is now 3.1
|
data/Gemfile
CHANGED
@@ -5,10 +5,10 @@ source 'https://rubygems.org'
|
|
5
5
|
gemspec
|
6
6
|
|
7
7
|
gem 'coveralls', require: false
|
8
|
-
gem 'rubocop', '1.
|
9
|
-
gem 'rubocop-performance', '1.
|
10
|
-
gem 'rubocop-rake', '0.
|
11
|
-
gem 'rubocop-rspec', '
|
8
|
+
gem 'rubocop', '1.75.4', require: false
|
9
|
+
gem 'rubocop-performance', '1.25.0', require: false
|
10
|
+
gem 'rubocop-rake', '0.7.1', require: false
|
11
|
+
gem 'rubocop-rspec', '3.6.0', require: false
|
12
12
|
gem "base64", "~> 0.2.0"
|
13
13
|
gem "bigdecimal", "~> 3.1"
|
14
14
|
gem "csv", "~> 3.2"
|
data/LICENSE.txt
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
The MIT License (MIT)
|
2
2
|
|
3
|
-
Copyright (c) 2010-
|
3
|
+
Copyright (c) 2010-2025 DNSimple Corporation
|
4
4
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
data/README.md
CHANGED
@@ -10,7 +10,7 @@ We provide a full API and an easy-to-use web interface so you can get your domai
|
|
10
10
|
|
11
11
|
## Requirements
|
12
12
|
|
13
|
-
- Ruby: MRI > 3.
|
13
|
+
- Ruby: MRI > 3.2+
|
14
14
|
|
15
15
|
## Installation
|
16
16
|
|
@@ -23,7 +23,7 @@ gem install dnsimple
|
|
23
23
|
Or use Bundler and define it as a dependency in your Gemfile:
|
24
24
|
|
25
25
|
```ruby
|
26
|
-
gem 'dnsimple', '~>
|
26
|
+
gem 'dnsimple', '~> 10.0'
|
27
27
|
```
|
28
28
|
|
29
29
|
## Documentation
|
@@ -110,4 +110,4 @@ puts response.data
|
|
110
110
|
|
111
111
|
## License
|
112
112
|
|
113
|
-
Copyright (c) 2010-
|
113
|
+
Copyright (c) 2010-2025 DNSimple Corporation. This is Free Software distributed under the MIT license.
|
@@ -6,7 +6,7 @@ module Dnsimple
|
|
6
6
|
|
7
7
|
# Queries DNS Analytics data for the provided account
|
8
8
|
#
|
9
|
-
# @see https://developer.dnsimple.com/v2/dns-analytics#
|
9
|
+
# @see https://developer.dnsimple.com/v2/dns-analytics#queryDnsAnalytics
|
10
10
|
#
|
11
11
|
# @param [Integer] account_id the account ID
|
12
12
|
# @param [Hash] options the filtering, sorting, and grouping options
|
@@ -20,9 +20,12 @@ module Dnsimple
|
|
20
20
|
# @option options [Integer] :page current page (pagination)
|
21
21
|
# @option options [Integer] :per_page number of entries to return (pagination)
|
22
22
|
# @return [Dnsimple::PaginatedResponse<Dnsimple::Struct::Collaborator>]
|
23
|
+
# @deprecated `DomainCollaborators` have been deprecated and will be removed in the next major version. Please use our Domain Access Control feature.
|
23
24
|
#
|
24
25
|
# @raise [Dnsimple::RequestError]
|
25
26
|
def collaborators(account_id, domain_id, options = {})
|
27
|
+
Dnsimple.deprecate('`DomainCollaborators` have been deprecated and will be removed in the next major version. Please use our Domain Access Control feature.')
|
28
|
+
|
26
29
|
response = client.get(Client.versioned("/%s/domains/%s/collaborators" % [account_id, domain_id]), Options::ListOptions.new(options))
|
27
30
|
|
28
31
|
Dnsimple::PaginatedResponse.new(response, response["data"].map { |r| Struct::Collaborator.new(r) })
|
@@ -41,9 +44,12 @@ module Dnsimple
|
|
41
44
|
# @option attributes [String] :email user email (mandatory)
|
42
45
|
# @param [Hash] options request options
|
43
46
|
# @return [Dnsimple::PaginatedResponse<Dnsimple::Struct::Collaborator>]
|
47
|
+
# @deprecated `DomainCollaborators` have been deprecated and will be removed in the next major version. Please use our Domain Access Control feature.
|
44
48
|
#
|
45
49
|
# @raise [Dnsimple::RequestError]
|
46
50
|
def add_collaborator(account_id, domain_id, attributes, options = {})
|
51
|
+
Dnsimple.deprecate('`DomainCollaborators` have been deprecated and will be removed in the next major version. Please use our Domain Access Control feature.')
|
52
|
+
|
47
53
|
Extra.validate_mandatory_attributes(attributes, [:email])
|
48
54
|
response = client.post(Client.versioned("/%s/domains/%s/collaborators" % [account_id, domain_id]), attributes, options)
|
49
55
|
|
@@ -65,9 +71,12 @@ module Dnsimple
|
|
65
71
|
# @param [Hash] options request options
|
66
72
|
# @return [Dnsimple::Response<nil>]
|
67
73
|
#
|
74
|
+
# @deprecated `DomainCollaborators` have been deprecated and will be removed in the next major version. Please use our Domain Access Control feature.
|
68
75
|
# @raise [Dnsimple::NotFoundError]
|
69
76
|
# @raise [Dnsimple::RequestError]
|
70
77
|
def remove_collaborator(account_id, domain_id, contact_id, options = {})
|
78
|
+
Dnsimple.deprecate('`DomainCollaborators` have been deprecated and will be removed in the next major version. Please use our Domain Access Control feature.')
|
79
|
+
|
71
80
|
response = client.delete(Client.versioned("/%s/domains/%s/collaborators/%s" % [account_id, domain_id, contact_id]), options)
|
72
81
|
|
73
82
|
Dnsimple::Response.new(response, nil)
|
@@ -11,15 +11,26 @@ module Dnsimple
|
|
11
11
|
attr_accessor :domain_id
|
12
12
|
|
13
13
|
# @return [String] The "local part" of the originating email address. Anything to the left of the @ symbol.
|
14
|
+
# @deprecated use {#alias_email} instead
|
14
15
|
attr_accessor :from
|
15
16
|
|
16
17
|
# @return [String] The full email address to forward to.
|
18
|
+
# @deprecated use {#destination_email} instead
|
17
19
|
attr_accessor :to
|
18
20
|
|
21
|
+
# @return [String] The receiving email recipient.
|
22
|
+
attr_accessor :alias_email
|
23
|
+
|
24
|
+
# @return [String] The email recipient the messages are delivered to.
|
25
|
+
attr_accessor :destination_email
|
26
|
+
|
27
|
+
# @return [Boolean] True if the email forward is active, false otherwise.
|
28
|
+
attr_accessor :active
|
29
|
+
|
19
30
|
# @return [String] When the email forward was created in DNSimple.
|
20
31
|
attr_accessor :created_at
|
21
32
|
|
22
|
-
# @return [String]
|
33
|
+
# @return [String] When the email forward was last updated in DNSimple.
|
23
34
|
attr_accessor :updated_at
|
24
35
|
|
25
36
|
end
|
data/lib/dnsimple/version.rb
CHANGED
@@ -48,10 +48,16 @@ describe Dnsimple::Client, ".domains" do
|
|
48
48
|
expect(response.data).to be_a(Array)
|
49
49
|
expect(response.data.size).to eq(2)
|
50
50
|
|
51
|
-
response.data.
|
52
|
-
|
53
|
-
|
54
|
-
|
51
|
+
expect(response.data[0].id).to eq(24809)
|
52
|
+
expect(response.data[0].domain_id).to eq(235146)
|
53
|
+
expect(response.data[0].alias_email).to eq("foo@a-domain.com")
|
54
|
+
expect(response.data[0].destination_email).to eq("jane.smith@example.com")
|
55
|
+
expect(response.data[0].active).to be(true)
|
56
|
+
expect(response.data[1].id).to eq(24810)
|
57
|
+
expect(response.data[1].domain_id).to eq(235146)
|
58
|
+
expect(response.data[1].alias_email).to eq("bar@a-domain.com")
|
59
|
+
expect(response.data[1].destination_email).to eq("john.doe@example.com")
|
60
|
+
expect(response.data[1].active).to be(false)
|
55
61
|
end
|
56
62
|
|
57
63
|
it "exposes the pagination information" do
|
@@ -153,6 +159,8 @@ describe Dnsimple::Client, ".domains" do
|
|
153
159
|
expect(result.domain_id).to eq(235146)
|
154
160
|
expect(result.from).to eq("example@dnsimple.xyz")
|
155
161
|
expect(result.to).to eq("example@example.com")
|
162
|
+
expect(result.alias_email).to eq("example@dnsimple.xyz")
|
163
|
+
expect(result.destination_email).to eq("example@example.com")
|
156
164
|
expect(result.created_at).to eq("2021-01-25T13:54:40Z")
|
157
165
|
expect(result.updated_at).to eq("2021-01-25T13:54:40Z")
|
158
166
|
end
|
@@ -2,6 +2,7 @@ HTTP/1.1 201 Created
|
|
2
2
|
Server: nginx
|
3
3
|
Date: Mon, 25 Jan 2021 13:54:40 GMT
|
4
4
|
Content-Type: application/json; charset=utf-8
|
5
|
+
Transfer-Encoding: identity
|
5
6
|
Connection: keep-alive
|
6
7
|
X-RateLimit-Limit: 4800
|
7
8
|
X-RateLimit-Remaining: 4772
|
@@ -18,4 +19,4 @@ X-Permitted-Cross-Domain-Policies: none
|
|
18
19
|
Content-Security-Policy: frame-ancestors 'none'
|
19
20
|
Strict-Transport-Security: max-age=31536000
|
20
21
|
|
21
|
-
{"data":{"id":41872,"domain_id":235146,"alias_email":"example@dnsimple.xyz","destination_email":"example@example.com","created_at":"2021-01-25T13:54:40Z","updated_at":"2021-01-25T13:54:40Z","from":"example@dnsimple.xyz","to":"example@example.com"}}
|
22
|
+
{"data":{"id":41872,"domain_id":235146,"alias_email":"example@dnsimple.xyz","destination_email":"example@example.com","created_at":"2021-01-25T13:54:40Z","updated_at":"2021-01-25T13:54:40Z","from":"example@dnsimple.xyz","to":"example@example.com"}}
|
@@ -2,6 +2,7 @@ HTTP/1.1 200 OK
|
|
2
2
|
Server: nginx
|
3
3
|
Date: Mon, 25 Jan 2021 13:56:24 GMT
|
4
4
|
Content-Type: application/json; charset=utf-8
|
5
|
+
Transfer-Encoding: identity
|
5
6
|
Connection: keep-alive
|
6
7
|
X-RateLimit-Limit: 4800
|
7
8
|
X-RateLimit-Remaining: 4766
|
@@ -18,4 +19,4 @@ X-Permitted-Cross-Domain-Policies: none
|
|
18
19
|
Content-Security-Policy: frame-ancestors 'none'
|
19
20
|
Strict-Transport-Security: max-age=31536000
|
20
21
|
|
21
|
-
{"data":{"id":41872,"domain_id":235146,"alias_email":"example@dnsimple.xyz","destination_email":"example@example.com","created_at":"2021-01-25T13:54:40Z","updated_at":"2021-01-25T13:54:40Z","from":"example@dnsimple.xyz","to":"example@example.com"}}
|
22
|
+
{"data":{"id":41872,"domain_id":235146,"alias_email":"example@dnsimple.xyz","destination_email":"example@example.com","created_at":"2021-01-25T13:54:40Z","updated_at":"2021-01-25T13:54:40Z","from":"example@dnsimple.xyz","to":"example@example.com"}}
|
@@ -1,16 +1,16 @@
|
|
1
1
|
HTTP/1.1 200 OK
|
2
2
|
Server: nginx
|
3
|
-
Date:
|
3
|
+
Date: Fri, 17 May 2024 09:07:28 GMT
|
4
4
|
Content-Type: application/json; charset=utf-8
|
5
5
|
Connection: keep-alive
|
6
|
-
|
7
|
-
X-RateLimit-
|
8
|
-
X-RateLimit-
|
9
|
-
X-
|
10
|
-
ETag: W/"
|
6
|
+
X-RateLimit-Limit: 4800
|
7
|
+
X-RateLimit-Remaining: 4748
|
8
|
+
X-RateLimit-Reset: 1715936948
|
9
|
+
X-WORK-WITH-US: Love automation? So do we! https://dnsimple.com/jobs
|
10
|
+
ETag: W/"a5eed9a071f03e10fc67001ccc647a94"
|
11
11
|
Cache-Control: max-age=0, private, must-revalidate
|
12
|
-
X-Request-Id:
|
13
|
-
X-Runtime: 0.
|
14
|
-
Strict-Transport-Security: max-age=
|
12
|
+
X-Request-Id: e42df983-a8a5-4123-8c74-fb89ab934aba
|
13
|
+
X-Runtime: 0.025456
|
14
|
+
Strict-Transport-Security: max-age=63072000
|
15
15
|
|
16
|
-
{"data":[{"id":
|
16
|
+
{"data":[{"id":24809,"domain_id":235146,"alias_email":"foo@a-domain.com","destination_email":"jane.smith@example.com","active":true,"created_at":"2017-05-25T19:23:16Z","updated_at":"2017-05-25T19:23:16Z","from":"foo@a-domain.com","to":"jane.smith@example.com"},{"id":24810,"domain_id":235146,"alias_email":"bar@a-domain.com","destination_email":"john.doe@example.com","active":false,"created_at":"2017-05-25T19:23:16Z","updated_at":"2017-05-25T19:23:16Z","from":"bar@a-domain.com","to":"john.doe@example.com"}],"pagination":{"current_page":1,"per_page":30,"total_entries":1,"total_pages":1}}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dnsimple
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 10.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- DNSimple
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-05-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httparty
|