dnsimple 12.1.1 → 12.3.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.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +7 -0
  3. data/.github/workflows/release.yml +1 -1
  4. data/.github/workflows/sync-test-fixtures.yml +16 -37
  5. data/CHANGELOG.md +19 -1
  6. data/lib/dnsimple/client/domains_pushes.rb +6 -3
  7. data/lib/dnsimple/struct/account.rb +3 -0
  8. data/lib/dnsimple/struct/domain.rb +3 -0
  9. data/lib/dnsimple/struct/domain_price.rb +3 -0
  10. data/lib/dnsimple/struct/domain_registration.rb +3 -0
  11. data/lib/dnsimple/struct/domain_transfer.rb +3 -0
  12. data/lib/dnsimple/struct/tld.rb +6 -0
  13. data/lib/dnsimple/version.rb +1 -1
  14. data/test/dnsimple/client/accounts_test.rb +11 -0
  15. data/test/dnsimple/client/domains_pushes_test.rb +12 -0
  16. data/test/dnsimple/client/domains_test.rb +1 -0
  17. data/test/dnsimple/client/registrar_test.rb +12 -2
  18. data/test/dnsimple/client/tlds_test.rb +4 -0
  19. data/test/fixtures.http/accounts/success-account.http +1 -1
  20. data/test/fixtures.http/accounts/success-user.http +1 -1
  21. data/test/fixtures.http/cancelDomainTransfer/success.http +1 -1
  22. data/test/fixtures.http/checkDomain/success.http +1 -1
  23. data/test/fixtures.http/getDomain/success.http +1 -1
  24. data/test/fixtures.http/getDomainPrices/success.http +1 -1
  25. data/test/fixtures.http/getDomainRegistration/success.http +1 -1
  26. data/test/fixtures.http/getDomainTransfer/success.http +1 -1
  27. data/test/fixtures.http/getTld/success.http +1 -1
  28. data/test/fixtures.http/listAccounts/success-account.http +1 -1
  29. data/test/fixtures.http/listAccounts/success-user.http +1 -1
  30. data/test/fixtures.http/listTlds/success.http +1 -1
  31. data/test/fixtures.http/registerDomain/success.http +1 -1
  32. data/test/fixtures.http/transferDomain/success.http +1 -1
  33. data/test/fixtures.http/whoami/success-account.http +1 -1
  34. data/test/fixtures.http/whoami/success.http +1 -1
  35. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: aba3fa999d47316cbc09c4084e223279a1fea0b0694f47fae6ad439aea1eba61
4
- data.tar.gz: 9ecf0f9812b057a8f091ff7dbeedc0978b4adc167f470e33883c9562699d1625
3
+ metadata.gz: 176d457ef2f2139f4d96bd77f46103eee392defaa98317be2342b018bf98a5e7
4
+ data.tar.gz: 0256d2f5a211fc562a5f5f7262bafa4b07185317a6cf72de2c62e3f42720d86b
5
5
  SHA512:
6
- metadata.gz: 3e30070f4e8fbbea5ccba3118edaf80282ca77edfe96010d10f94a299dbd33f18866c8119abcb1a8ea057b2a65a04ac979de4bc652d5aba0c060e6d06c9cfd4f
7
- data.tar.gz: 710dd46a4f23519e218c7e9e83c06043e605dcf7fdb5b203088b366e2b23db47697003d3d8ad4b2cae9ab501626c1923bb46eba84e781753c467925181a13517
6
+ metadata.gz: d648a8ff1c2edabb8fb572fc3572c57de160748ad2952e3bc6cc77188ca27a9cf73a0a98749d9631efa3141f5a4580608c05435faa169ef81ef70c1b58d01d51
7
+ data.tar.gz: e13e9227237d6e94b9c3f7d31983bc00c5a46940440e6b656ba76e0933c15f344c9857e2f8d4687e77b14008d0003b22a644c13585ec2df0706a7ab2151cf16f
@@ -17,3 +17,10 @@ updates:
17
17
  labels:
18
18
  - task
19
19
  - dependencies
20
+ cooldown:
21
+ default-days: 3
22
+ groups:
23
+ actions-patch-minor:
24
+ update-types:
25
+ - patch
26
+ - minor
@@ -11,7 +11,7 @@ jobs:
11
11
  runs-on: ubuntu-latest
12
12
  steps:
13
13
  - name: Wait for CI to pass
14
- uses: lewagon/wait-on-check-action@v1.5.0
14
+ uses: lewagon/wait-on-check-action@v1.6.0
15
15
  with:
16
16
  ref: ${{ github.sha }}
17
17
  running-workflow-name: Wait for CI
@@ -11,45 +11,24 @@ jobs:
11
11
  - name: Checkout repository
12
12
  uses: actions/checkout@v6
13
13
  - name: Sync fixtures
14
+ id: sync
14
15
  run: |
15
16
  TMP_DIR=$(mktemp -d)
16
17
  curl -fsSL "https://codeload.github.com/dnsimple/dnsimple-developer/tar.gz/refs/heads/main" \
17
18
  | tar -xz -C "$TMP_DIR"
18
19
  rsync -a --delete "$TMP_DIR/dnsimple-developer-main/fixtures/v2/api/" test/fixtures.http/
19
- - name: Create a PR to sync fixtures if there are changes
20
- run: |
21
- cat <<'MD' > pr_body.md
22
- This PR replaces the fixtures in this repository with those from https://github.com/dnsimple/dnsimple-developer/
23
-
24
- ## Checklist
25
- - [ ] Close and re-open this PR to trigger the CI workflow (it does not run automatically)
26
- - [ ] Ensure the CI workflow passes before merging
27
- MD
28
-
29
- # Configure Git identity for the workflow
30
- git config --global user.name "github-actions"
31
- git config --global user.email "github-actions@github.com"
32
-
33
- # Create and switch to a new branch
34
- BRANCH="chore/sync-fixtures-${GITHUB_RUN_ID}"
35
- NOW="$(date +'%Y-%m-%d %H:%M:%S')"
36
- git checkout -b "$BRANCH"
37
-
38
- # Stage changes
39
- git add test/fixtures.http
40
-
41
- # Commit if there are staged changes
42
- if ! git diff --cached --quiet; then
43
- git commit -m "chore: sync test fixtures as of $NOW"
44
- git push -u origin "$BRANCH"
45
-
46
- gh pr create \
47
- --title "chore: Sync fixtures as of $NOW" \
48
- --body-file pr_body.md \
49
- --base main \
50
- --head "$BRANCH"
51
- else
52
- echo "No fixture detected; nothing to do"
53
- fi
54
- env:
55
- GITHUB_TOKEN: ${{ github.token }}
20
+ echo "now=$(date +'%Y-%m-%d %H:%M:%S')" >> "$GITHUB_OUTPUT"
21
+ - name: Create PR with synced fixtures
22
+ uses: peter-evans/create-pull-request@v8
23
+ with:
24
+ sign-commits: true
25
+ add-paths: test/fixtures.http
26
+ commit-message: "chore: sync test fixtures as of ${{ steps.sync.outputs.now }}"
27
+ branch: "chore/sync-fixtures-${{ github.run_id }}"
28
+ title: "chore: Sync fixtures as of ${{ steps.sync.outputs.now }}"
29
+ body: |
30
+ This PR replaces the fixtures in this repository with those from https://github.com/dnsimple/dnsimple-developer/
31
+
32
+ ## Checklist
33
+ - [ ] Close and re-open this PR to trigger the CI workflow (it does not run automatically)
34
+ - [ ] Ensure the CI workflow passes before merging
data/CHANGELOG.md CHANGED
@@ -2,13 +2,31 @@
2
2
 
3
3
  This project uses [Semantic Versioning 2.0.0](http://semver.org/), the format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
+ ## 12.3.0 - 2026-04-15
6
+
7
+ ### Added
8
+
9
+ - Added `new_account_identifier` option to `initiate_push` for initiating domain pushes by account identifier. (#462)
10
+ - Added `name` to `Account`. (#462)
11
+ - Added support for trustee service in domain transfers. (#464)
12
+
13
+ ### Deprecated
14
+
15
+ - Deprecated `new_account_email` option in `initiate_push`. Use `new_account_identifier` instead. (#462)
16
+
17
+ ## 12.2.0 - 2026-03-23
18
+
19
+ ### Added
20
+
21
+ - Added support for trustee service. (#459)
22
+
5
23
  ## 12.1.1 - 2026-03-11
6
24
 
7
25
  ### Changed
8
26
 
9
27
  - Migrated the test suite from RSpec to Minitest. This is an internal change with no public API impact. (#448)
10
28
 
11
- ## 12.1.0 - 2025-02-26
29
+ ## 12.1.0 - 2026-02-26
12
30
 
13
31
  ### Added
14
32
 
@@ -7,19 +7,22 @@ module Dnsimple
7
7
  #
8
8
  # @see https://developer.dnsimple.com/v2/domains/pushes/#initiate
9
9
  #
10
- # @example Initiate a domain pushe for example.com:
10
+ # @example Initiate a domain push for example.com using a domain push identifier:
11
+ # client.domains.initiate_push(1010, "example.com", new_account_identifier: "abc123")
12
+ #
13
+ # @example Initiate a domain push for example.com using an account email (deprecated):
11
14
  # client.domains.initiate_push(1010, "example.com", new_account_email: "admin@target-account.test")
12
15
  #
13
16
  # @param account_id [Integer] the account ID
14
17
  # @param domain_id [#to_s] The domain ID or domain name
15
18
  # @param attributes [Hash]
16
- # @option attributes [String] :new_account_email the target account email (mandatory)
19
+ # @option attributes [String] :new_account_identifier the target account identifier
20
+ # @option attributes [String] :new_account_email the target account email (deprecated, use :new_account_identifier instead)
17
21
  # @param options [Hash]
18
22
  # @return [Dnsimple::Response<Dnsimple::Struct::DomainPush>]
19
23
  #
20
24
  # @raise [Dnsimple::RequestError]
21
25
  def initiate_push(account_id, domain_id, attributes, options = {})
22
- Extra.validate_mandatory_attributes(attributes, [:new_account_email])
23
26
  response = client.post(Client.versioned("/%s/domains/%s/pushes" % [account_id, domain_id]), attributes, options)
24
27
 
25
28
  Dnsimple::Response.new(response, Struct::DomainPush.new(response["data"]))
@@ -9,6 +9,9 @@ module Dnsimple
9
9
  # @return [String] The account email.
10
10
  attr_accessor :email
11
11
 
12
+ # @return [String] The account name.
13
+ attr_accessor :name
14
+
12
15
  # @return [String] The identifier of the plan the account is subscribed to.
13
16
  attr_accessor :plan_identifier
14
17
  end
@@ -27,6 +27,9 @@ module Dnsimple
27
27
  # @return [Bool] True if the domain WHOIS privacy is enabled, false otherwise.
28
28
  attr_accessor :private_whois
29
29
 
30
+ # @return [Bool] True if the domain Trustee service is enabled, false otherwise.
31
+ attr_accessor :trustee_service
32
+
30
33
  # @return [String] The timestamp when domain will expire.
31
34
  attr_accessor :expires_at
32
35
 
@@ -17,6 +17,9 @@ module Dnsimple
17
17
 
18
18
  # @return [Float] The price for transfer
19
19
  attr_accessor :transfer_price
20
+
21
+ # @return [Float] The Trustee service price
22
+ attr_accessor :trustee_service_price
20
23
  end
21
24
  end
22
25
  end
@@ -24,6 +24,9 @@ module Dnsimple
24
24
  # @return [Bool] True if the domain WHOIS privacy was requested.
25
25
  attr_accessor :whois_privacy
26
26
 
27
+ # @return [Bool] True if the domain Trustee service was requested.
28
+ attr_accessor :trustee_service
29
+
27
30
  # @return [String] When the domain renewal was created in DNSimple.
28
31
  attr_accessor :created_at
29
32
 
@@ -21,6 +21,9 @@ module Dnsimple
21
21
  # @return [Bool] True if the domain WHOIS privacy was requested.
22
22
  attr_accessor :whois_privacy
23
23
 
24
+ # @return [Bool] True if the domain Trustee service was requested.
25
+ attr_accessor :trustee_service
26
+
24
27
  # @return [String,nil] The reason if transfer failed.
25
28
  attr_accessor :status_description
26
29
 
@@ -30,6 +30,12 @@ module Dnsimple
30
30
  # @return [Boolean] True if DNSimple supports inbound transfers for this TLD.
31
31
  attr_accessor :transfer_enabled
32
32
 
33
+ # @return [Boolean] True if Trustee service is enabled for this TLD.
34
+ attr_accessor :trustee_service_enabled
35
+
36
+ # @return [Boolean] True if Trustee service is required for this TLD.
37
+ attr_accessor :trustee_service_required
38
+
33
39
  # @return [String, nil] Type of data interface required for DNSSEC for this TLD.
34
40
  attr_accessor :dnssec_interface_type
35
41
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Dnsimple
4
- VERSION = "12.1.1"
4
+ VERSION = "12.3.0"
5
5
  end
@@ -30,4 +30,15 @@ class AccountsTest < Minitest::Test
30
30
  assert_kind_of(Dnsimple::Struct::Account, result.first)
31
31
  assert_kind_of(Dnsimple::Struct::Account, result.last)
32
32
  end
33
+
34
+ test "returns the account name" do
35
+ stub_request(:get, %r{/v2/accounts$})
36
+ .to_return(read_http_fixture("listAccounts/success-account.http"))
37
+
38
+ response = @subject.accounts
39
+
40
+ result = response.data.first
41
+
42
+ assert_equal("John", result.name)
43
+ end
33
44
  end
@@ -36,6 +36,18 @@ class DomainsPushesTest < Minitest::Test
36
36
  assert_kind_of(Integer, result.id)
37
37
  end
38
38
 
39
+ test "initiate push with account identifier builds correct request" do
40
+ stub_request(:post, %r{/v2/#{@account_id}/domains/#{@domain_id}/pushes$})
41
+ .to_return(read_http_fixture("initiatePush/success.http"))
42
+
43
+ attributes = { new_account_identifier: "abc123" }
44
+ @subject.initiate_push(@account_id, @domain_id, attributes)
45
+
46
+ assert_requested(:post, "https://api.dnsimple.test/v2/#{@account_id}/domains/#{@domain_id}/pushes",
47
+ body: attributes,
48
+ headers: { "Accept" => "application/json" })
49
+ end
50
+
39
51
  test "pushes builds correct request" do
40
52
  stub_request(:get, %r{/v2/2020/pushes})
41
53
  .to_return(read_http_fixture("listPushes/success.http"))
@@ -172,6 +172,7 @@ class DomainsTest < Minitest::Test
172
172
  assert_equal("registered", result.state)
173
173
  refute(result.auto_renew)
174
174
  refute(result.private_whois)
175
+ refute(result.trustee_service)
175
176
  assert_equal("2021-06-05T02:15:00Z", result.expires_at)
176
177
  assert_equal("2020-06-04T19:15:14Z", result.created_at)
177
178
  assert_equal("2020-06-04T19:15:21Z", result.updated_at)
@@ -62,6 +62,11 @@ class RegistrarTest < Minitest::Test
62
62
  assert_in_delta(20.0, result.registration_price)
63
63
  assert_in_delta(20.0, result.renewal_price)
64
64
  assert_in_delta(20.0, result.transfer_price)
65
+ if result.trustee_service_price.nil?
66
+ assert_nil result.trustee_service_price
67
+ else
68
+ assert_in_delta(20.0, result.trustee_service_price)
69
+ end
65
70
  end
66
71
 
67
72
  test "get domain prices when tld is not supported raises error" do
@@ -78,7 +83,7 @@ class RegistrarTest < Minitest::Test
78
83
  stub_request(:post, %r{/v2/#{@account_id}/registrar/domains/.+/registrations$})
79
84
  .to_return(read_http_fixture("registerDomain/success.http"))
80
85
 
81
- attributes = { registrant_id: "10" }
86
+ attributes = { registrant_id: "10", trustee_service: true }
82
87
  @subject.register_domain(@account_id, domain_name = "example.com", attributes)
83
88
 
84
89
  assert_requested(:post, "https://api.dnsimple.test/v2/#{@account_id}/registrar/domains/#{domain_name}/registrations",
@@ -100,6 +105,7 @@ class RegistrarTest < Minitest::Test
100
105
  assert_kind_of(Dnsimple::Struct::DomainRegistration, result)
101
106
  assert_kind_of(Integer, result.id)
102
107
  assert_kind_of(Integer, result.domain_id)
108
+ refute(result.trustee_service)
103
109
  end
104
110
 
105
111
  test "register domain when attributes are incomplete raises argument error" do
@@ -132,6 +138,7 @@ class RegistrarTest < Minitest::Test
132
138
  assert_kind_of(Dnsimple::Struct::DomainRegistration, result)
133
139
  assert_kind_of(Integer, result.id)
134
140
  assert_kind_of(Integer, result.domain_id)
141
+ refute(result.trustee_service)
135
142
  end
136
143
 
137
144
 
@@ -204,7 +211,7 @@ class RegistrarTest < Minitest::Test
204
211
  stub_request(:post, %r{/v2/#{@account_id}/registrar/domains/.+/transfers$})
205
212
  .to_return(read_http_fixture("transferDomain/success.http"))
206
213
 
207
- attributes = { registrant_id: "10", auth_code: "x1y2z3" }
214
+ attributes = { registrant_id: "10", auth_code: "x1y2z3", trustee_service: true }
208
215
  @subject.transfer_domain(@account_id, domain_name = "example.com", attributes)
209
216
 
210
217
  assert_requested(:post, "https://api.dnsimple.test/v2/#{@account_id}/registrar/domains/#{domain_name}/transfers",
@@ -226,6 +233,7 @@ class RegistrarTest < Minitest::Test
226
233
  assert_kind_of(Dnsimple::Struct::DomainTransfer, result)
227
234
  assert_kind_of(Integer, result.id)
228
235
  assert_kind_of(Integer, result.domain_id)
236
+ refute(result.trustee_service)
229
237
  end
230
238
 
231
239
  test "transfer domain when attributes are incomplete raises argument error" do
@@ -281,6 +289,7 @@ class RegistrarTest < Minitest::Test
281
289
  assert_equal("cancelled", result.state)
282
290
  refute(result.auto_renew)
283
291
  refute(result.whois_privacy)
292
+ refute(result.trustee_service)
284
293
  assert_equal("Canceled by customer", result.status_description)
285
294
  assert_equal("2020-06-05T18:08:00Z", result.created_at)
286
295
  assert_equal("2020-06-05T18:10:01Z", result.updated_at)
@@ -314,6 +323,7 @@ class RegistrarTest < Minitest::Test
314
323
  assert_equal("transferring", result.state)
315
324
  refute(result.auto_renew)
316
325
  refute(result.whois_privacy)
326
+ refute(result.trustee_service)
317
327
  assert_nil(result.status_description)
318
328
  assert_equal("2020-06-05T18:08:00Z", result.created_at)
319
329
  assert_equal("2020-06-05T18:08:04Z", result.updated_at)
@@ -58,6 +58,8 @@ class TldsTest < Minitest::Test
58
58
  assert_kind_of(Dnsimple::Struct::Tld, result)
59
59
  assert_kind_of(Integer, result.tld_type)
60
60
  assert_kind_of(String, result.tld)
61
+ refute(result.trustee_service_enabled)
62
+ refute(result.trustee_service_required)
61
63
  end
62
64
  end
63
65
 
@@ -120,6 +122,8 @@ class TldsTest < Minitest::Test
120
122
  assert_equal("com", result.tld)
121
123
  assert_equal(1, result.tld_type)
122
124
  assert(result.whois_privacy)
125
+ refute(result.trustee_service_enabled)
126
+ refute(result.trustee_service_required)
123
127
  refute(result.auto_renew_only)
124
128
  assert(result.idn)
125
129
  assert_equal(1, result.minimum_registration)
@@ -17,4 +17,4 @@ x-permitted-cross-domain-policies: none
17
17
  x-xss-protection: 1; mode=block
18
18
  strict-transport-security: max-age=31536000
19
19
 
20
- {"data":[{"id":123,"email":"john@example.com","plan_identifier":"dnsimple-personal","created_at":"2011-09-11T17:15:58Z","updated_at":"2016-06-03T15:02:26Z"}]}
20
+ {"data":[{"id":123,"email":"john@example.com","name":"John","plan_identifier":"dnsimple-personal","created_at":"2011-09-11T17:15:58Z","updated_at":"2016-06-03T15:02:26Z"}]}
@@ -17,5 +17,5 @@ x-permitted-cross-domain-policies: none
17
17
  x-xss-protection: 1; mode=block
18
18
  strict-transport-security: max-age=31536000
19
19
 
20
- {"data":[{"id":123,"email":"john@example.com","plan_identifier":"dnsimple-personal","created_at":"2011-09-11T17:15:58Z","updated_at":"2016-06-03T15:02:26Z"},{"id":456,"email":"ops@company.com","plan_identifier":"teams-v1-monthly","created_at":"2012-03-16T16:02:54Z","updated_at":"2016-06-14T11:23:16Z"}]}
20
+ {"data":[{"id":123,"email":"john@example.com","name":"John","plan_identifier":"dnsimple-personal","created_at":"2011-09-11T17:15:58Z","updated_at":"2016-06-03T15:02:26Z"},{"id":456,"email":"ops@company.com","name":"Ops Company","plan_identifier":"teams-v1-monthly","created_at":"2012-03-16T16:02:54Z","updated_at":"2016-06-14T11:23:16Z"}]}
21
21
 
@@ -15,4 +15,4 @@ x-xss-protection: 1; mode=block
15
15
  x-download-options: noopen
16
16
  x-permitted-cross-domain-policies: none
17
17
 
18
- {"data":{"id":361,"domain_id":182245,"registrant_id":2715,"state":"transferring","auto_renew":false,"whois_privacy":false,"status_description":null,"created_at":"2020-06-05T18:08:00Z","updated_at":"2020-06-05T18:08:04Z"}}
18
+ {"data":{"id":361,"domain_id":182245,"registrant_id":2715,"state":"transferring","auto_renew":false,"whois_privacy":false,"trustee_service":false,"status_description":null,"created_at":"2020-06-05T18:08:00Z","updated_at":"2020-06-05T18:08:04Z"}}
@@ -13,4 +13,4 @@ x-request-id: e3c6fac1-a36d-42c3-8a04-d68f127add18
13
13
  x-runtime: 0.605907
14
14
  strict-transport-security: max-age=31536000
15
15
 
16
- {"data":{"domain":"ruby.codes","available":true,"premium":true}}
16
+ {"data":{"domain":"ruby.codes","available":true,"premium":true}}
@@ -17,4 +17,4 @@ x-download-options: noopen
17
17
  x-permitted-cross-domain-policies: none
18
18
  strict-transport-security: max-age=31536000
19
19
 
20
- {"data":{"id":181984,"account_id":1385,"registrant_id":2715,"name":"example-alpha.com","unicode_name":"example-alpha.com","state":"registered","auto_renew":false,"private_whois":false,"expires_on":"2021-06-05","expires_at":"2021-06-05T02:15:00Z","created_at":"2020-06-04T19:15:14Z","updated_at":"2020-06-04T19:15:21Z"}}
20
+ {"data":{"id":181984,"account_id":1385,"registrant_id":2715,"name":"example-alpha.com","unicode_name":"example-alpha.com","state":"registered","auto_renew":false,"private_whois":false,"trustee_service":false,"expires_on":"2021-06-05","expires_at":"2021-06-05T02:15:00Z","created_at":"2020-06-04T19:15:14Z","updated_at":"2020-06-04T19:15:21Z"}}
@@ -18,4 +18,4 @@ x-permitted-cross-domain-policies: none
18
18
  content-security-policy: frame-ancestors 'none'
19
19
  strict-transport-security: max-age=31536000
20
20
 
21
- {"data":{"domain":"bingo.pizza","premium":true,"registration_price":20.0,"renewal_price":20.0,"transfer_price":20.0,"restore_price":20.0}}
21
+ {"data":{"domain":"bingo.pizza","premium":true,"registration_price":20.0,"renewal_price":20.0,"transfer_price":20.0,"restore_price":20.0,"trustee_service_price":20.0}}
@@ -17,4 +17,4 @@ x-download-options: noopen
17
17
  x-permitted-cross-domain-policies: none
18
18
  strict-transport-security: max-age=31536000
19
19
 
20
- {"data":{"id":361,"domain_id":104040,"registrant_id":2715,"period":1,"state":"registering","auto_renew":false,"whois_privacy":false,"created_at":"2023-01-27T17:44:32Z","updated_at":"2023-01-27T17:44:40Z"}}
20
+ {"data":{"id":361,"domain_id":104040,"registrant_id":2715,"period":1,"state":"registering","auto_renew":false,"whois_privacy":false,"trustee_service":false,"created_at":"2023-01-27T17:44:32Z","updated_at":"2023-01-27T17:44:40Z"}}
@@ -17,4 +17,4 @@ x-download-options: noopen
17
17
  x-permitted-cross-domain-policies: none
18
18
  strict-transport-security: max-age=31536000
19
19
 
20
- {"data":{"id":361,"domain_id":182245,"registrant_id":2715,"state":"cancelled","auto_renew":false,"whois_privacy":false,"status_description":"Canceled by customer","created_at":"2020-06-05T18:08:00Z","updated_at":"2020-06-05T18:10:01Z"}}
20
+ {"data":{"id":361,"domain_id":182245,"registrant_id":2715,"state":"cancelled","auto_renew":false,"whois_privacy":false,"trustee_service":false,"status_description":"Canceled by customer","created_at":"2020-06-05T18:08:00Z","updated_at":"2020-06-05T18:10:01Z"}}
@@ -17,4 +17,4 @@ x-permitted-cross-domain-policies: none
17
17
  x-xss-protection: 1; mode=block
18
18
  strict-transport-security: max-age=31536000
19
19
 
20
- {"data":{"tld":"com","tld_type":1,"whois_privacy":true,"auto_renew_only":false,"idn":true,"minimum_registration":1,"registration_enabled":true,"renewal_enabled":true,"transfer_enabled":true,"dnssec_interface_type":"ds","name_server_min":"2","name_server_max":"13"}}
20
+ {"data":{"tld":"com","tld_type":1,"whois_privacy":true,"auto_renew_only":false,"idn":true,"minimum_registration":1,"registration_enabled":true,"renewal_enabled":true,"transfer_enabled":true,"dnssec_interface_type":"ds","name_server_min":"2","name_server_max":"13","trustee_service_enabled":false,"trustee_service_required":false}}
@@ -17,4 +17,4 @@ x-permitted-cross-domain-policies: none
17
17
  x-xss-protection: 1; mode=block
18
18
  strict-transport-security: max-age=31536000
19
19
 
20
- {"data":[{"id":123,"email":"john@example.com","plan_identifier":"dnsimple-personal","created_at":"2011-09-11T17:15:58Z","updated_at":"2016-06-03T15:02:26Z"}]}
20
+ {"data":[{"id":123,"email":"john@example.com","name":"John","plan_identifier":"dnsimple-personal","created_at":"2011-09-11T17:15:58Z","updated_at":"2016-06-03T15:02:26Z"}]}
@@ -17,4 +17,4 @@ x-permitted-cross-domain-policies: none
17
17
  x-xss-protection: 1; mode=block
18
18
  strict-transport-security: max-age=31536000
19
19
 
20
- {"data":[{"id":123,"email":"john@example.com","plan_identifier":"dnsimple-personal","created_at":"2011-09-11T17:15:58Z","updated_at":"2016-06-03T15:02:26Z"},{"id":456,"email":"ops@company.com","plan_identifier":"teams-v1-monthly","created_at":"2012-03-16T16:02:54Z","updated_at":"2016-06-14T11:23:16Z"}]}
20
+ {"data":[{"id":123,"email":"john@example.com","name":"John","plan_identifier":"dnsimple-personal","created_at":"2011-09-11T17:15:58Z","updated_at":"2016-06-03T15:02:26Z"},{"id":456,"email":"ops@company.com","name":"Ops Company","plan_identifier":"teams-v1-monthly","created_at":"2012-03-16T16:02:54Z","updated_at":"2016-06-14T11:23:16Z"}]}
@@ -17,4 +17,4 @@ x-permitted-cross-domain-policies: none
17
17
  x-xss-protection: 1; mode=block
18
18
  strict-transport-security: max-age=31536000
19
19
 
20
- {"data":[{"tld":"ac","tld_type":2,"whois_privacy":false,"auto_renew_only":true,"idn":false,"minimum_registration":1,"registration_enabled":true,"renewal_enabled":true,"transfer_enabled":false,"dnssec_interface_type":"ds","name_server_min":"2","name_server_max":"13"},{"tld":"academy","tld_type":3,"whois_privacy":true,"auto_renew_only":false,"idn":true,"minimum_registration":1,"registration_enabled":true,"renewal_enabled":true,"transfer_enabled":true,"dnssec_interface_type":"key","name_server_min":"2","name_server_max":"13"}],"pagination":{"current_page":1,"per_page":2,"total_entries":195,"total_pages":98}}
20
+ {"data":[{"tld":"ac","tld_type":2,"whois_privacy":false,"auto_renew_only":true,"idn":false,"minimum_registration":1,"registration_enabled":true,"renewal_enabled":true,"transfer_enabled":false,"dnssec_interface_type":"ds","name_server_min":"2","name_server_max":"13","trustee_service_enabled":false,"trustee_service_required":false},{"tld":"academy","tld_type":3,"whois_privacy":true,"auto_renew_only":false,"idn":true,"minimum_registration":1,"registration_enabled":true,"renewal_enabled":true,"transfer_enabled":true,"dnssec_interface_type":"key","name_server_min":"2","name_server_max":"13","trustee_service_enabled":false,"trustee_service_required":false}],"pagination":{"current_page":1,"per_page":2,"total_entries":195,"total_pages":98}}
@@ -17,4 +17,4 @@ x-permitted-cross-domain-policies: none
17
17
  x-xss-protection: 1; mode=block
18
18
  strict-transport-security: max-age=31536000
19
19
 
20
- {"data":{"id":1,"domain_id":999,"registrant_id":2,"period":1,"state":"new","auto_renew":false,"whois_privacy":false,"created_at":"2016-12-09T19:35:31Z","updated_at":"2016-12-09T19:35:31Z"}}
20
+ {"data":{"id":1,"domain_id":999,"registrant_id":2,"period":1,"state":"new","auto_renew":false,"whois_privacy":false,"trustee_service":false,"created_at":"2016-12-09T19:35:31Z","updated_at":"2016-12-09T19:35:31Z"}}
@@ -17,4 +17,4 @@ x-permitted-cross-domain-policies: none
17
17
  x-xss-protection: 1; mode=block
18
18
  strict-transport-security: max-age=31536000
19
19
 
20
- {"data":{"id":1,"domain_id":999,"registrant_id":2,"state":"transferring","auto_renew":false,"whois_privacy":false,"created_at":"2016-12-09T19:43:41Z","updated_at":"2016-12-09T19:43:43Z"}}
20
+ {"data":{"id":1,"domain_id":999,"registrant_id":2,"state":"transferring","auto_renew":false,"whois_privacy":false,"trustee_service":false,"created_at":"2016-12-09T19:43:41Z","updated_at":"2016-12-09T19:43:43Z"}}
@@ -12,4 +12,4 @@ x-request-id: 15a7f3a5-7ee5-4e36-ac5a-8c21c2e1fffd
12
12
  x-runtime: 0.141588
13
13
  strict-transport-security: max-age=31536000
14
14
 
15
- {"data":{"user":null,"account":{"id":1,"email":"example-account@example.com","plan_identifier":"teams-v1-monthly","created_at":"2015-09-18T23:04:37Z","updated_at":"2016-06-09T20:03:39Z"}}}
15
+ {"data":{"user":null,"account":{"id":1,"email":"example-account@example.com","name":"Example Account","plan_identifier":"teams-v1-monthly","created_at":"2015-09-18T23:04:37Z","updated_at":"2016-06-09T20:03:39Z"}}}
@@ -12,4 +12,4 @@ x-request-id: 15a7f3a5-7ee5-4e36-ac5a-8c21c2e1fffd
12
12
  x-runtime: 0.141588
13
13
  strict-transport-security: max-age=31536000
14
14
 
15
- {"data":{"user":null,"account":{"id":1,"email":"example-account@example.com","plan_identifier":"teams-v1-monthly","created_at":"2015-09-18T23:04:37Z","updated_at":"2016-06-09T20:03:39Z"}}}
15
+ {"data":{"user":null,"account":{"id":1,"email":"example-account@example.com","name":"Example Account","plan_identifier":"teams-v1-monthly","created_at":"2015-09-18T23:04:37Z","updated_at":"2016-06-09T20:03:39Z"}}}
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: 12.1.1
4
+ version: 12.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - DNSimple
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-03-11 00:00:00.000000000 Z
11
+ date: 2026-04-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty