dnsimple 5.2.0 → 6.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +3 -0
- data/.rubocop.yml +4 -1
- data/.rubocop_dnsimple.yml +1 -38
- data/.rubocop_todo.yml +63 -5
- data/.travis.yml +7 -3
- data/CHANGELOG.md +10 -0
- data/CONTRIBUTING.md +2 -2
- data/Gemfile +3 -1
- data/LICENSE.txt +1 -1
- data/README.md +4 -4
- data/lib/dnsimple/client.rb +11 -3
- data/lib/dnsimple/client/domains.rb +0 -18
- data/lib/dnsimple/client/registrar.rb +20 -0
- data/lib/dnsimple/client/registrar_whois_privacy.rb +1 -1
- data/lib/dnsimple/default.rb +1 -1
- data/lib/dnsimple/extra.rb +1 -1
- data/lib/dnsimple/response.rb +1 -3
- data/lib/dnsimple/struct.rb +1 -0
- data/lib/dnsimple/struct/certificate.rb +0 -19
- data/lib/dnsimple/struct/domain.rb +0 -20
- data/lib/dnsimple/struct/domain_price.rb +24 -0
- data/lib/dnsimple/version.rb +1 -1
- data/spec/dnsimple/client/certificates_spec.rb +0 -1
- data/spec/dnsimple/client/client_service_spec.rb +1 -1
- data/spec/dnsimple/client/contacts_spec.rb +2 -2
- data/spec/dnsimple/client/domains_delegation_signer_records_spec.rb +1 -1
- data/spec/dnsimple/client/domains_email_forwards_spec.rb +8 -8
- data/spec/dnsimple/client/domains_pushes_spec.rb +2 -2
- data/spec/dnsimple/client/domains_spec.rb +1 -29
- data/spec/dnsimple/client/registrar_delegation_spec.rb +2 -2
- data/spec/dnsimple/client/registrar_spec.rb +46 -3
- data/spec/dnsimple/client/services_domains_spec.rb +2 -4
- data/spec/dnsimple/client/services_spec.rb +1 -3
- data/spec/dnsimple/client/templates_records_spec.rb +1 -1
- data/spec/dnsimple/client/templates_spec.rb +2 -2
- data/spec/dnsimple/client/webhooks_spec.rb +1 -1
- data/spec/dnsimple/client/zones_records_spec.rb +2 -2
- data/spec/dnsimple/client/zones_spec.rb +1 -1
- data/spec/fixtures.http/accounts/success-account.http +0 -1
- data/spec/fixtures.http/accounts/success-user.http +0 -1
- data/spec/fixtures.http/addCollaborator/invite-success.http +0 -1
- data/spec/fixtures.http/addCollaborator/success.http +0 -1
- data/spec/fixtures.http/appliedServices/success.http +0 -1
- data/spec/fixtures.http/cancelDomainTransfer/success.http +0 -1
- data/spec/fixtures.http/changeDomainDelegation/success.http +0 -1
- data/spec/fixtures.http/changeDomainDelegationToVanity/success.http +0 -1
- data/spec/fixtures.http/checkDomain/success.http +0 -1
- data/spec/fixtures.http/checkDomainPremiumPrice/error_400_not_a_premium_domain.http +18 -0
- data/spec/fixtures.http/checkDomainPremiumPrice/error_400_tld_not_supported.http +18 -0
- data/spec/fixtures.http/checkDomainPremiumPrice/success.http +20 -0
- data/spec/fixtures.http/checkZoneDistribution/error.http +0 -1
- data/spec/fixtures.http/checkZoneDistribution/failure.http +0 -1
- data/spec/fixtures.http/checkZoneDistribution/success.http +0 -1
- data/spec/fixtures.http/checkZoneRecordDistribution/error.http +0 -1
- data/spec/fixtures.http/checkZoneRecordDistribution/failure.http +0 -1
- data/spec/fixtures.http/checkZoneRecordDistribution/success.http +0 -1
- data/spec/fixtures.http/createContact/created.http +0 -1
- data/spec/fixtures.http/createDelegationSignerRecord/created.http +0 -1
- data/spec/fixtures.http/createDelegationSignerRecord/validation-error.http +0 -1
- data/spec/fixtures.http/createDomain/created.http +0 -1
- data/spec/fixtures.http/createEmailForward/created.http +21 -17
- data/spec/fixtures.http/createPrimaryServer/created.http +21 -0
- data/spec/fixtures.http/createSecondaryZone/created.http +21 -0
- data/spec/fixtures.http/createTemplate/created.http +0 -1
- data/spec/fixtures.http/createTemplateRecord/created.http +0 -1
- data/spec/fixtures.http/createWebhook/created.http +0 -1
- data/spec/fixtures.http/createZoneRecord/created-apex.http +0 -1
- data/spec/fixtures.http/createZoneRecord/created.http +0 -1
- data/spec/fixtures.http/deleteContact/error-contact-in-use.http +18 -0
- data/spec/fixtures.http/deleteEmailForward/success.http +12 -7
- data/spec/fixtures.http/disableDnssec/not-enabled.http +0 -1
- data/spec/fixtures.http/disableWhoisPrivacy/success.http +0 -1
- data/spec/fixtures.http/downloadCertificate/success.http +0 -1
- data/spec/fixtures.http/enableDnssec/success.http +0 -1
- data/spec/fixtures.http/enableVanityNameServers/success.http +0 -1
- data/spec/fixtures.http/enableWhoisPrivacy/created.http +0 -1
- data/spec/fixtures.http/enableWhoisPrivacy/success.http +0 -1
- data/spec/fixtures.http/getCertificate/success.http +0 -1
- data/spec/fixtures.http/getCertificatePrivateKey/success.http +0 -1
- data/spec/fixtures.http/getContact/success.http +0 -1
- data/spec/fixtures.http/getDelegationSignerRecord/success.http +0 -1
- data/spec/fixtures.http/getDnssec/success.http +0 -1
- data/spec/fixtures.http/getDomain/success.http +0 -1
- data/spec/fixtures.http/getDomainDelegation/success-empty.http +0 -1
- data/spec/fixtures.http/getDomainDelegation/success.http +0 -1
- data/spec/fixtures.http/getDomainPremiumPrice/failure.http +0 -1
- data/spec/fixtures.http/getDomainPremiumPrice/success.http +0 -1
- data/spec/fixtures.http/getDomainPrices/failure.http +19 -0
- data/spec/fixtures.http/getDomainPrices/success.http +21 -0
- data/spec/fixtures.http/getDomainTransfer/success.http +0 -1
- data/spec/fixtures.http/getEmailForward/success.http +14 -10
- data/spec/fixtures.http/getPrimaryServer/success.http +21 -0
- data/spec/fixtures.http/getService/success.http +0 -1
- data/spec/fixtures.http/getTemplate/success.http +0 -1
- data/spec/fixtures.http/getTemplateRecord/success.http +0 -1
- data/spec/fixtures.http/getTld/success.http +0 -1
- data/spec/fixtures.http/getTldExtendedAttributes/success-attributes.http +0 -1
- data/spec/fixtures.http/getTldExtendedAttributes/success-noattributes.http +0 -1
- data/spec/fixtures.http/getTldExtendedAttributes/success.http +0 -1
- data/spec/fixtures.http/getWebhook/success.http +0 -1
- data/spec/fixtures.http/getWhoisPrivacy/success.http +0 -1
- data/spec/fixtures.http/getZone/success.http +0 -1
- data/spec/fixtures.http/getZoneFile/success.http +0 -1
- data/spec/fixtures.http/getZoneRecord/success.http +0 -1
- data/spec/fixtures.http/initiatePush/success.http +0 -1
- data/spec/fixtures.http/issueLetsencryptCertificate/success.http +0 -1
- data/spec/fixtures.http/issueRenewalLetsencryptCertificate/success.http +0 -1
- data/spec/fixtures.http/linkPrimaryServer/success.http +21 -0
- data/spec/fixtures.http/listAccounts/success-account.http +0 -1
- data/spec/fixtures.http/listAccounts/success-user.http +0 -1
- data/spec/fixtures.http/listCertificates/success.http +0 -1
- data/spec/fixtures.http/listCollaborators/success.http +0 -1
- data/spec/fixtures.http/listContacts/success.http +0 -1
- data/spec/fixtures.http/listDelegationSignerRecords/success.http +0 -1
- data/spec/fixtures.http/listDomains/success.http +0 -1
- data/spec/fixtures.http/listEmailForwards/success.http +0 -1
- data/spec/fixtures.http/listPrimaryServers/success.http +21 -0
- data/spec/fixtures.http/listPushes/success.http +0 -1
- data/spec/fixtures.http/listServices/success.http +0 -1
- data/spec/fixtures.http/listTemplateRecords/success.http +0 -1
- data/spec/fixtures.http/listTemplates/success.http +0 -1
- data/spec/fixtures.http/listTlds/success.http +0 -1
- data/spec/fixtures.http/listWebhooks/success.http +0 -1
- data/spec/fixtures.http/listZoneRecords/success.http +0 -1
- data/spec/fixtures.http/listZones/success.http +0 -1
- data/spec/fixtures.http/method-not-allowed.http +0 -1
- data/spec/fixtures.http/notfound-certificate.http +0 -1
- data/spec/fixtures.http/notfound-collaborator.http +0 -1
- data/spec/fixtures.http/notfound-contact.http +0 -1
- data/spec/fixtures.http/notfound-delegationsignerrecord.http +0 -1
- data/spec/fixtures.http/notfound-domain.http +0 -1
- data/spec/fixtures.http/notfound-domainpush.http +0 -1
- data/spec/fixtures.http/notfound-emailforward.http +0 -1
- data/spec/fixtures.http/notfound-record.http +0 -1
- data/spec/fixtures.http/notfound-template.http +0 -1
- data/spec/fixtures.http/notfound-webhook.http +0 -1
- data/spec/fixtures.http/notfound-whoisprivacy.http +0 -1
- data/spec/fixtures.http/notfound-zone.http +0 -1
- data/spec/fixtures.http/oauthAccessToken/error-invalid-request.http +0 -1
- data/spec/fixtures.http/oauthAccessToken/success.http +0 -1
- data/spec/fixtures.http/pages-1of3.http +0 -1
- data/spec/fixtures.http/pages-2of3.http +0 -1
- data/spec/fixtures.http/pages-3of3.http +0 -1
- data/spec/fixtures.http/purchaseLetsencryptCertificate/success.http +0 -1
- data/spec/fixtures.http/purchaseRenewalLetsencryptCertificate/success.http +0 -1
- data/spec/fixtures.http/registerDomain/success.http +0 -1
- data/spec/fixtures.http/renewDomain/error-tooearly.http +0 -1
- data/spec/fixtures.http/renewDomain/success.http +0 -1
- data/spec/fixtures.http/renewWhoisPrivacy/success.http +0 -1
- data/spec/fixtures.http/renewWhoisPrivacy/whois-privacy-duplicated-order.http +0 -1
- data/spec/fixtures.http/renewWhoisPrivacy/whois-privacy-not-found.http +0 -1
- data/spec/fixtures.http/response.http +0 -1
- data/spec/fixtures.http/transferDomain/error-indnsimple.http +0 -1
- data/spec/fixtures.http/transferDomain/error-missing-authcode.http +0 -1
- data/spec/fixtures.http/transferDomain/success.http +0 -1
- data/spec/fixtures.http/unlinkPrimaryServer/success.http +21 -0
- data/spec/fixtures.http/updateContact/success.http +0 -1
- data/spec/fixtures.http/updateTemplate/success.http +0 -1
- data/spec/fixtures.http/updateZoneRecord/success.http +0 -1
- data/spec/fixtures.http/validation-error.http +0 -1
- data/spec/fixtures.http/whoami/success-account.http +0 -1
- data/spec/fixtures.http/whoami/success-user.http +0 -1
- data/spec/fixtures.http/whoami/success.http +0 -1
- data/spec/spec_helper.rb +1 -1
- metadata +31 -8
- data/spec/fixtures.http/resetDomainToken/success.http +0 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a4f667eba7dc3bc3e7718657059de2cc752f966d748b0698326feefad1f93111
|
4
|
+
data.tar.gz: 82eabdcd7a27df808db076d4d65bfb196343c3aa607e42d61ba1ff8f7b328349
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8ee87e28d8fd2fef38a9282905146831321e9a443c08216e2399fc577ba957da835df45d8a31052a4c8a12c7db2373ad8b96ed0b7a86072de20b6c2772b3e56c
|
7
|
+
data.tar.gz: dae840d8c7d5f3c86af8f959ba07b5310f6e852e351b84c42166621e181de41604fb1d43be6ffe1c651002840f37dcc3b16eebadf6c9beed90d1c46e9f693aa5
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
data/.rubocop_dnsimple.yml
CHANGED
@@ -8,6 +8,7 @@ AllCops:
|
|
8
8
|
Exclude:
|
9
9
|
# Exclude .gemspec files because they are generally auto-generated
|
10
10
|
- '*.gemspec'
|
11
|
+
NewCops: enable
|
11
12
|
|
12
13
|
# In most cases, Gems are sorted alphabetically.
|
13
14
|
# However, in some few cases the order is relevant due to dependencies.
|
@@ -377,41 +378,3 @@ Layout/MultilineOperationIndentation:
|
|
377
378
|
#
|
378
379
|
Layout/SpaceInsidePercentLiteralDelimiters:
|
379
380
|
Enabled: false
|
380
|
-
|
381
|
-
|
382
|
-
# New cops
|
383
|
-
# We'll remove them once they become defaults.
|
384
|
-
# See https://docs.rubocop.org/en/latest/versioning/
|
385
|
-
|
386
|
-
|
387
|
-
Layout/SpaceAroundMethodCallOperator:
|
388
|
-
Enabled: true
|
389
|
-
|
390
|
-
Lint/RaiseException:
|
391
|
-
Enabled: true
|
392
|
-
|
393
|
-
Lint/StructNewOverride:
|
394
|
-
Enabled: true
|
395
|
-
|
396
|
-
Style/ExponentialNotation:
|
397
|
-
Enabled: true
|
398
|
-
|
399
|
-
Layout/EmptyLinesAroundAttributeAccessor:
|
400
|
-
Enabled: true
|
401
|
-
|
402
|
-
Style/SlicingWithRange:
|
403
|
-
Enabled: true
|
404
|
-
|
405
|
-
# Introduced in rubocop 0.84.0
|
406
|
-
Lint/DeprecatedOpenSSLConstant:
|
407
|
-
Enabled: true
|
408
|
-
|
409
|
-
# Introduced in rubocop 0.85.0
|
410
|
-
Lint/MixedRegexpCaptureTypes:
|
411
|
-
Enabled: true
|
412
|
-
|
413
|
-
Style/RedundantRegexpCharacterClass:
|
414
|
-
Enabled: true
|
415
|
-
|
416
|
-
Style/RedundantRegexpEscape:
|
417
|
-
Enabled: true
|
data/.rubocop_todo.yml
CHANGED
@@ -1,14 +1,72 @@
|
|
1
1
|
# This configuration was generated by
|
2
2
|
# `rubocop --auto-gen-config`
|
3
|
-
# on
|
3
|
+
# on 2021-04-05 15:23:33 UTC using RuboCop version 1.12.1.
|
4
4
|
# The point is for the user to remove these configuration records
|
5
5
|
# one by one as the offenses are removed from the code base.
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
7
7
|
# versions of RuboCop, may require this file to be generated again.
|
8
8
|
|
9
|
-
|
10
|
-
|
9
|
+
# Offense count: 6
|
10
|
+
# Configuration parameters: Prefixes.
|
11
|
+
# Prefixes: when, with, without
|
12
|
+
RSpec/ContextWording:
|
13
|
+
Exclude:
|
14
|
+
- 'spec/dnsimple/client/domains_collaborators_spec.rb'
|
15
|
+
- 'spec/dnsimple/options/list_options_spec.rb'
|
16
|
+
|
17
|
+
# Offense count: 70
|
18
|
+
# Configuration parameters: Max.
|
19
|
+
RSpec/ExampleLength:
|
11
20
|
Enabled: false
|
21
|
+
|
22
|
+
# Offense count: 1
|
23
|
+
RSpec/LeakyConstantDeclaration:
|
12
24
|
Exclude:
|
13
|
-
- 'spec
|
14
|
-
|
25
|
+
- 'spec/dnsimple/client/client_service_spec.rb'
|
26
|
+
|
27
|
+
# Offense count: 21
|
28
|
+
# Configuration parameters: .
|
29
|
+
# SupportedStyles: have_received, receive
|
30
|
+
RSpec/MessageSpies:
|
31
|
+
EnforcedStyle: receive
|
32
|
+
|
33
|
+
# Offense count: 117
|
34
|
+
RSpec/MultipleExpectations:
|
35
|
+
Max: 16
|
36
|
+
|
37
|
+
# Offense count: 374
|
38
|
+
# Configuration parameters: IgnoreSharedExamples.
|
39
|
+
RSpec/NamedSubject:
|
40
|
+
Enabled: false
|
41
|
+
|
42
|
+
# Offense count: 10
|
43
|
+
RSpec/StubbedMock:
|
44
|
+
Exclude:
|
45
|
+
- 'spec/dnsimple/client_spec.rb'
|
46
|
+
|
47
|
+
# Offense count: 16
|
48
|
+
RSpec/SubjectStub:
|
49
|
+
Exclude:
|
50
|
+
- 'spec/dnsimple/client/certificates_spec.rb'
|
51
|
+
- 'spec/dnsimple/client/contacts_spec.rb'
|
52
|
+
- 'spec/dnsimple/client/domains_delegation_signer_records_spec.rb'
|
53
|
+
- 'spec/dnsimple/client/domains_email_forwards_spec.rb'
|
54
|
+
- 'spec/dnsimple/client/domains_spec.rb'
|
55
|
+
- 'spec/dnsimple/client/services_spec.rb'
|
56
|
+
- 'spec/dnsimple/client/templates_records_spec.rb'
|
57
|
+
- 'spec/dnsimple/client/templates_spec.rb'
|
58
|
+
- 'spec/dnsimple/client/tlds_spec.rb'
|
59
|
+
- 'spec/dnsimple/client/zones_records_spec.rb'
|
60
|
+
- 'spec/dnsimple/client/zones_spec.rb'
|
61
|
+
- 'spec/dnsimple/client_spec.rb'
|
62
|
+
|
63
|
+
# Offense count: 5
|
64
|
+
# Configuration parameters: IgnoreNameless, IgnoreSymbolicNames.
|
65
|
+
RSpec/VerifiedDoubles:
|
66
|
+
Exclude:
|
67
|
+
- 'spec/dnsimple/client_spec.rb'
|
68
|
+
|
69
|
+
# Offense count: 39
|
70
|
+
# Configuration parameters: AllowedConstants.
|
71
|
+
Style/Documentation:
|
72
|
+
Enabled: false
|
data/.travis.yml
CHANGED
@@ -5,13 +5,17 @@ rvm:
|
|
5
5
|
- 2.5
|
6
6
|
- 2.6
|
7
7
|
- 2.7
|
8
|
+
- 3.0
|
9
|
+
- ruby-head
|
10
|
+
|
11
|
+
matrix:
|
12
|
+
allow_failures:
|
13
|
+
- rvm: ruby-head
|
8
14
|
|
9
15
|
env:
|
10
16
|
- COVERALL=1
|
11
17
|
|
12
|
-
before_install:
|
13
|
-
- gem install bundler -v 1.17.3
|
14
|
-
|
15
18
|
notifications:
|
19
|
+
email: false
|
16
20
|
slack:
|
17
21
|
secure: "N9zPR5jnF1TBiqvb3mCV6Wem3TIvqu4tXiob2P66vBMwmj1ewWvyUzNLwAEOCDc3mRfsI50IYXHewckAUpCWW7XEJlT/pv8llMsoiHqArb7SGJyDdy3ZRr35L7glixs/ikod+xhRKXMM3jML/2MgSa+Culzhl42tMUFDk+bBBQU="
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,16 @@
|
|
2
2
|
|
3
3
|
This project uses [Semantic Versioning 2.0.0](http://semver.org/).
|
4
4
|
|
5
|
+
## main
|
6
|
+
|
7
|
+
## 6.0.0
|
8
|
+
|
9
|
+
- NEW: Added `registrar.get_domain_prices` to retrieve whether a domain is premium and the prices to register, transfer, and renew. (dnsimple/dnsimple-ruby#230)
|
10
|
+
- REMOVED: `domain.reset_domain_token` endpoint no longer exists and the client method is removed.
|
11
|
+
(dnsimple/dnsimple-ruby#231)
|
12
|
+
- REMOVED: The deprecated `Domain.expires_on` is removed. (dnsimple/dnsimple-ruby#232)
|
13
|
+
- REMOVED: The deprecated `Certificate.expires_on` is removed. (dnsimple/dnsimple-ruby#232)
|
14
|
+
|
5
15
|
## 5.2.0
|
6
16
|
|
7
17
|
- CHANGED: `Certificate#expires_on` (date only) is deprecated in favor of `Certificate#expires_at` (timestamp). (dnsimple/dnsimple-ruby#190)
|
data/CONTRIBUTING.md
CHANGED
@@ -36,13 +36,13 @@ The following instructions uses `$VERSION` as a placeholder, where `$VERSION` is
|
|
36
36
|
|
37
37
|
1. Run the test suite and ensure all the tests pass.
|
38
38
|
|
39
|
-
1. Finalize the `##
|
39
|
+
1. Finalize the `## main` section in `CHANGELOG.md` assigning the version.
|
40
40
|
|
41
41
|
1. Commit and push the changes
|
42
42
|
|
43
43
|
```shell
|
44
44
|
git commit -a -m "Release $VERSION"
|
45
|
-
git push origin
|
45
|
+
git push origin main
|
46
46
|
```
|
47
47
|
|
48
48
|
1. Wait for CI to complete.
|
data/Gemfile
CHANGED
@@ -5,5 +5,7 @@ source 'https://rubygems.org'
|
|
5
5
|
gemspec
|
6
6
|
|
7
7
|
gem 'coveralls', require: false
|
8
|
-
gem 'rubocop', '
|
8
|
+
gem 'rubocop', '1.12.1', require: false
|
9
9
|
gem 'rubocop-performance', require: false
|
10
|
+
gem 'rubocop-rake', require: false
|
11
|
+
gem 'rubocop-rspec', require: false
|
data/LICENSE.txt
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
The MIT License (MIT)
|
2
2
|
|
3
|
-
Copyright (c) 2010-
|
3
|
+
Copyright (c) 2010-2021 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
@@ -2,8 +2,8 @@
|
|
2
2
|
|
3
3
|
A Ruby client for the [DNSimple API v2](https://developer.dnsimple.com/v2/).
|
4
4
|
|
5
|
-
[![Build Status](https://travis-ci.com/dnsimple/dnsimple-ruby.svg?branch=
|
6
|
-
[![Coverage Status](https://img.shields.io/coveralls/dnsimple/dnsimple-ruby.svg)](https://coveralls.io/r/dnsimple/dnsimple-ruby?branch=
|
5
|
+
[![Build Status](https://travis-ci.com/dnsimple/dnsimple-ruby.svg?branch=main)](https://travis-ci.com/dnsimple/dnsimple-ruby)
|
6
|
+
[![Coverage Status](https://img.shields.io/coveralls/dnsimple/dnsimple-ruby.svg)](https://coveralls.io/r/dnsimple/dnsimple-ruby?branch=main)
|
7
7
|
|
8
8
|
[DNSimple](https://dnsimple.com/) provides DNS hosting and domain registration that is simple and friendly.
|
9
9
|
We provide a full API and an easy-to-use web interface so you can get your domain registered and set up with a minimal amount of effort.
|
@@ -20,7 +20,7 @@ gem install dnsimple
|
|
20
20
|
Or use Bundler and define it as a dependency in your Gemfile:
|
21
21
|
|
22
22
|
```
|
23
|
-
gem 'dnsimple', '~>
|
23
|
+
gem 'dnsimple', '~> 6.0'
|
24
24
|
```
|
25
25
|
|
26
26
|
## Usage
|
@@ -90,4 +90,4 @@ We recommend to customize the user agent. If you are building a library or integ
|
|
90
90
|
|
91
91
|
## License
|
92
92
|
|
93
|
-
Copyright (c) 2010-
|
93
|
+
Copyright (c) 2010-2021 DNSimple Corporation. This is Free Software distributed under the MIT license.
|
data/lib/dnsimple/client.rb
CHANGED
@@ -42,22 +42,30 @@ module Dnsimple
|
|
42
42
|
# @!attribute username
|
43
43
|
# @see https://developer.dnsimple.com/v2/#authentication
|
44
44
|
# @return [String] DNSimple username for Basic Authentication
|
45
|
+
attr_accessor :username
|
46
|
+
|
45
47
|
# @!attribute password
|
46
48
|
# @see https://developer.dnsimple.com/v2/#authentication
|
47
49
|
# @return [String] DNSimple password for Basic Authentication
|
50
|
+
attr_accessor :password
|
51
|
+
|
48
52
|
# @!attribute domain_api_token
|
49
53
|
# @see https://developer.dnsimple.com/v2/#authentication
|
50
54
|
# @return [String] Domain API access token for authentication
|
55
|
+
attr_accessor :domain_api_token
|
56
|
+
|
51
57
|
# @!attribute access_token
|
52
58
|
# @see https://developer.dnsimple.com/v2/#authentication
|
53
59
|
# @return [String] Domain API access token for authentication
|
60
|
+
attr_accessor :access_token
|
61
|
+
|
54
62
|
# @!attribute user_agent
|
55
63
|
# @return [String] Configure User-Agent header for requests.
|
64
|
+
attr_accessor :user_agent
|
65
|
+
|
56
66
|
# @!attribute proxy
|
57
67
|
# @return [String,nil] Configure address:port values for proxy server
|
58
|
-
|
59
|
-
attr_accessor :username, :password, :domain_api_token, :access_token,
|
60
|
-
:user_agent, :proxy
|
68
|
+
attr_accessor :proxy
|
61
69
|
|
62
70
|
|
63
71
|
def initialize(options = {})
|
@@ -114,24 +114,6 @@ module Dnsimple
|
|
114
114
|
|
115
115
|
Dnsimple::Response.new(response, nil)
|
116
116
|
end
|
117
|
-
|
118
|
-
# Resets the domain token.
|
119
|
-
#
|
120
|
-
# @see https://developer.dnsimple.com/v2/domains/#reset-token
|
121
|
-
#
|
122
|
-
# @param [Integer] account_id the account ID
|
123
|
-
# @param [#to_s] domain_id The domain ID or domain name
|
124
|
-
# @param [Hash] options
|
125
|
-
# @return [Dnsimple::Response<nil>]
|
126
|
-
#
|
127
|
-
# @raise [Dnsimple::NotFoundError]
|
128
|
-
# @raise [Dnsimple::RequestError]
|
129
|
-
def reset_domain_token(account_id, domain_id, options = {})
|
130
|
-
response = client.post(Client.versioned("/%s/domains/%s/token" % [account_id, domain_id]), nil, options)
|
131
|
-
|
132
|
-
Dnsimple::Response.new(response, Struct::Domain.new(response["data"]))
|
133
|
-
end
|
134
|
-
|
135
117
|
end
|
136
118
|
end
|
137
119
|
end
|
@@ -50,6 +50,26 @@ module Dnsimple
|
|
50
50
|
Dnsimple::Response.new(response, Struct::DomainPremiumPrice.new(response["data"]))
|
51
51
|
end
|
52
52
|
|
53
|
+
# Get prices for a domain.
|
54
|
+
# @see https://developer.dnsimple.com/v2/registrar/#getDomainPrices
|
55
|
+
#
|
56
|
+
# @example Check prices for example.com:
|
57
|
+
# client.registrar.get_domain_prices(1010, "example.com")
|
58
|
+
#
|
59
|
+
# @param [Integer] account_id the Account id
|
60
|
+
# @param [String] domain_name the domain name to find the prices
|
61
|
+
# @param [Hash] options
|
62
|
+
#
|
63
|
+
# @return [Struct::DomainPrice]
|
64
|
+
#
|
65
|
+
# @raise [RequestError] When the request fails.
|
66
|
+
def get_domain_prices(account_id, domain_name, options = {})
|
67
|
+
endpoint = Client.versioned("/%s/registrar/domains/%s/prices" % [account_id, domain_name])
|
68
|
+
response = client.get(endpoint, options)
|
69
|
+
|
70
|
+
Dnsimple::Response.new(response, Struct::DomainPrice.new(response["data"]))
|
71
|
+
end
|
72
|
+
|
53
73
|
# Registers a domain.
|
54
74
|
#
|
55
75
|
# @see https://developer.dnsimple.com/v2/registrar/#register
|
@@ -78,7 +78,7 @@ module Dnsimple
|
|
78
78
|
#
|
79
79
|
# @raise [RequestError] When the request fails.
|
80
80
|
def renew_whois_privacy(account_id, domain_name, options = {})
|
81
|
-
endpoint = whois_privacy_endpoint(account_id, domain_name)
|
81
|
+
endpoint = "#{whois_privacy_endpoint(account_id, domain_name)}/renewals"
|
82
82
|
response = client.post(endpoint, nil, options)
|
83
83
|
|
84
84
|
Dnsimple::Response.new(response, Struct::WhoisPrivacyRenewal.new(response["data"]))
|
data/lib/dnsimple/default.rb
CHANGED
data/lib/dnsimple/extra.rb
CHANGED
@@ -36,7 +36,7 @@ module Dnsimple
|
|
36
36
|
this[current_key] = if this_value.is_a?(Hash) && other_value.is_a?(Hash)
|
37
37
|
deep_merge(this_value, other_value, &block)
|
38
38
|
else
|
39
|
-
if
|
39
|
+
if block && key?(current_key)
|
40
40
|
block.call(current_key, this_value, other_value)
|
41
41
|
else
|
42
42
|
other_value
|
data/lib/dnsimple/response.rb
CHANGED
@@ -41,9 +41,7 @@ module Dnsimple
|
|
41
41
|
|
42
42
|
# The CollectionResponse is a specific type of Response where the data is a collection of enumerable objects.
|
43
43
|
class CollectionResponse < Response
|
44
|
-
|
45
|
-
super
|
46
|
-
end
|
44
|
+
|
47
45
|
end
|
48
46
|
|
49
47
|
# The PaginatedResponse is a specific type of Response that also exposes pagination metadata.
|
data/lib/dnsimple/struct.rb
CHANGED
@@ -27,6 +27,7 @@ require_relative 'struct/dnssec'
|
|
27
27
|
require_relative 'struct/domain'
|
28
28
|
require_relative 'struct/domain_check'
|
29
29
|
require_relative 'struct/domain_premium_price'
|
30
|
+
require_relative 'struct/domain_price'
|
30
31
|
require_relative 'struct/domain_push'
|
31
32
|
require_relative 'struct/domain_registration'
|
32
33
|
require_relative 'struct/domain_transfer'
|
@@ -4,13 +4,6 @@ module Dnsimple
|
|
4
4
|
module Struct
|
5
5
|
|
6
6
|
class Certificate < Base
|
7
|
-
|
8
|
-
def initialize(attributes = {})
|
9
|
-
attributes.delete("expires_on")
|
10
|
-
super
|
11
|
-
@expires_on = Date.parse(expires_at).to_s if expires_at
|
12
|
-
end
|
13
|
-
|
14
7
|
# @return [Integer] The certificate ID in DNSimple.
|
15
8
|
attr_accessor :id
|
16
9
|
|
@@ -49,18 +42,6 @@ module Dnsimple
|
|
49
42
|
|
50
43
|
# @return [String] The timestamp when the certificate will expire.
|
51
44
|
attr_accessor :expires_at
|
52
|
-
|
53
|
-
# @deprecated Please use #expires_at instead.
|
54
|
-
# @return [String] The date when the certificate will expire.
|
55
|
-
def expires_on
|
56
|
-
warn "[DEPRECATION] Certificate#expires_on is deprecated. Please use `expires_at` instead."
|
57
|
-
@expires_on
|
58
|
-
end
|
59
|
-
|
60
|
-
def expires_on=(expiration_date)
|
61
|
-
warn "[DEPRECATION] Certificate#expires_on= is deprecated. Please use `expires_at=` instead."
|
62
|
-
@expires_on = expiration_date
|
63
|
-
end
|
64
45
|
end
|
65
46
|
|
66
47
|
end
|
@@ -4,13 +4,6 @@ module Dnsimple
|
|
4
4
|
module Struct
|
5
5
|
|
6
6
|
class Domain < Base
|
7
|
-
|
8
|
-
def initialize(attributes = {})
|
9
|
-
attributes.delete("expires_on")
|
10
|
-
super
|
11
|
-
@expires_on = Date.parse(expires_at).to_s if expires_at
|
12
|
-
end
|
13
|
-
|
14
7
|
# @return [Integer] The domain ID in DNSimple.
|
15
8
|
attr_accessor :id
|
16
9
|
|
@@ -43,19 +36,6 @@ module Dnsimple
|
|
43
36
|
|
44
37
|
# @return [String] When the domain was last updated in DNSimple.
|
45
38
|
attr_accessor :updated_at
|
46
|
-
|
47
|
-
# @deprecated Please use #expires_at instead.
|
48
|
-
# @return [String] The date the domain will expire.
|
49
|
-
def expires_on
|
50
|
-
warn "[DEPRECATION] Domain#expires_on is deprecated. Please use `expires_at` instead."
|
51
|
-
@expires_on
|
52
|
-
end
|
53
|
-
|
54
|
-
def expires_on=(expiration_date)
|
55
|
-
warn "[DEPRECATION] Domain#expires_on= is deprecated. Please use `expires_at=` instead."
|
56
|
-
@expires_on = expiration_date
|
57
|
-
end
|
58
|
-
|
59
39
|
end
|
60
40
|
end
|
61
41
|
end
|