dnsimple 4.0.0 → 4.1.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 (135) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/README.md +1 -8
  4. data/lib/dnsimple/client/certificates.rb +7 -7
  5. data/lib/dnsimple/client/collaborators.rb +3 -3
  6. data/lib/dnsimple/client/contacts.rb +6 -6
  7. data/lib/dnsimple/client/domains.rb +6 -6
  8. data/lib/dnsimple/client/domains_email_forwards.rb +5 -5
  9. data/lib/dnsimple/client/domains_pushes.rb +6 -6
  10. data/lib/dnsimple/client/registrar.rb +37 -11
  11. data/lib/dnsimple/client/registrar_auto_renewal.rb +2 -2
  12. data/lib/dnsimple/client/registrar_delegation.rb +4 -4
  13. data/lib/dnsimple/client/registrar_whois_privacy.rb +3 -3
  14. data/lib/dnsimple/client/services_domains.rb +3 -3
  15. data/lib/dnsimple/client/templates.rb +6 -6
  16. data/lib/dnsimple/client/templates_domains.rb +1 -1
  17. data/lib/dnsimple/client/templates_records.rb +7 -7
  18. data/lib/dnsimple/client/vanity_name_servers.rb +2 -2
  19. data/lib/dnsimple/client/webhooks.rb +4 -4
  20. data/lib/dnsimple/client/zones.rb +4 -4
  21. data/lib/dnsimple/client/zones_records.rb +9 -9
  22. data/lib/dnsimple/response.rb +7 -7
  23. data/lib/dnsimple/struct.rb +4 -0
  24. data/lib/dnsimple/struct/account.rb +1 -1
  25. data/lib/dnsimple/struct/certificate.rb +3 -3
  26. data/lib/dnsimple/struct/collaborator.rb +3 -3
  27. data/lib/dnsimple/struct/contact.rb +2 -2
  28. data/lib/dnsimple/struct/domain.rb +3 -3
  29. data/lib/dnsimple/struct/domain_premium_price.rb +13 -0
  30. data/lib/dnsimple/struct/domain_push.rb +4 -4
  31. data/lib/dnsimple/struct/domain_registration.rb +37 -0
  32. data/lib/dnsimple/struct/domain_renewal.rb +28 -0
  33. data/lib/dnsimple/struct/domain_transfer.rb +34 -0
  34. data/lib/dnsimple/struct/email_forward.rb +2 -2
  35. data/lib/dnsimple/struct/oauth_token.rb +1 -1
  36. data/lib/dnsimple/struct/service.rb +3 -3
  37. data/lib/dnsimple/struct/template.rb +4 -4
  38. data/lib/dnsimple/struct/template_record.rb +4 -4
  39. data/lib/dnsimple/struct/tld.rb +2 -2
  40. data/lib/dnsimple/struct/user.rb +1 -1
  41. data/lib/dnsimple/struct/webhook.rb +1 -1
  42. data/lib/dnsimple/struct/whois_privacy.rb +1 -1
  43. data/lib/dnsimple/struct/zone.rb +2 -2
  44. data/lib/dnsimple/struct/zone_record.rb +4 -4
  45. data/lib/dnsimple/version.rb +1 -1
  46. data/spec/dnsimple/client/certificates_spec.rb +2 -2
  47. data/spec/dnsimple/client/contacts_spec.rb +2 -2
  48. data/spec/dnsimple/client/domains_email_forwards_spec.rb +2 -2
  49. data/spec/dnsimple/client/domains_spec.rb +2 -2
  50. data/spec/dnsimple/client/identity_spec.rb +2 -2
  51. data/spec/dnsimple/client/registrar_auto_renewal_spec.rb +2 -2
  52. data/spec/dnsimple/client/registrar_spec.rb +57 -7
  53. data/spec/dnsimple/client/services_domains_spec.rb +2 -2
  54. data/spec/dnsimple/client/services_spec.rb +8 -4
  55. data/spec/dnsimple/client/templates_records_spec.rb +4 -4
  56. data/spec/dnsimple/client/templates_spec.rb +4 -4
  57. data/spec/dnsimple/client/zones_records_spec.rb +4 -4
  58. data/spec/dnsimple/client/zones_spec.rb +2 -2
  59. data/spec/fixtures.http/accounts/success-account.http +21 -0
  60. data/spec/fixtures.http/accounts/success-user.http +21 -0
  61. data/spec/fixtures.http/addCollaborator/invite-success.http +1 -1
  62. data/spec/fixtures.http/addCollaborator/success.http +1 -1
  63. data/spec/fixtures.http/appliedServices/success.http +1 -1
  64. data/spec/fixtures.http/applyService/{created.http → success.http} +0 -0
  65. data/spec/fixtures.http/changeDomainDelegationToVanity/success.http +1 -1
  66. data/spec/fixtures.http/checkDomain/success.http +17 -17
  67. data/spec/fixtures.http/createContact/created.http +17 -17
  68. data/spec/fixtures.http/createDomain/created.http +1 -1
  69. data/spec/fixtures.http/createEmailForward/created.http +1 -1
  70. data/spec/fixtures.http/createTemplate/created.http +1 -1
  71. data/spec/fixtures.http/createTemplateRecord/created.http +1 -1
  72. data/spec/fixtures.http/createWebhook/created.http +17 -17
  73. data/spec/fixtures.http/createZoneRecord/created-apex.http +17 -0
  74. data/spec/fixtures.http/createZoneRecord/created.http +9 -13
  75. data/spec/fixtures.http/deleteContact/success.http +13 -13
  76. data/spec/fixtures.http/deleteEmailForward/success.http +13 -12
  77. data/spec/fixtures.http/deleteWebhook/success.http +13 -13
  78. data/spec/fixtures.http/disableDomainAutoRenewal/success.http +13 -0
  79. data/spec/fixtures.http/disableWhoisPrivacy/success.http +1 -1
  80. data/spec/fixtures.http/enableDomainAutoRenewal/success.http +13 -0
  81. data/spec/fixtures.http/enableVanityNameServers/success.http +1 -1
  82. data/spec/fixtures.http/enableWhoisPrivacy/created.http +1 -1
  83. data/spec/fixtures.http/enableWhoisPrivacy/success.http +1 -1
  84. data/spec/fixtures.http/getCertificate/success.http +1 -1
  85. data/spec/fixtures.http/getContact/success.http +17 -17
  86. data/spec/fixtures.http/getDomain/success.http +16 -16
  87. data/spec/fixtures.http/getDomainPremiumPrice/failure.http +16 -0
  88. data/spec/fixtures.http/getDomainPremiumPrice/success.http +21 -0
  89. data/spec/fixtures.http/getEmailForward/success.http +17 -17
  90. data/spec/fixtures.http/getService/success.http +1 -1
  91. data/spec/fixtures.http/getTemplate/success.http +1 -1
  92. data/spec/fixtures.http/getTemplateRecord/success.http +1 -1
  93. data/spec/fixtures.http/getTldExtendedAttributes/success-attributes.http +17 -0
  94. data/spec/fixtures.http/getWebhook/success.http +17 -17
  95. data/spec/fixtures.http/getWhoisPrivacy/success.http +1 -1
  96. data/spec/fixtures.http/getZone/success.http +17 -17
  97. data/spec/fixtures.http/getZoneRecord/success.http +1 -1
  98. data/spec/fixtures.http/initiatePush/success.http +1 -1
  99. data/spec/fixtures.http/listAccounts/success-account.http +1 -1
  100. data/spec/fixtures.http/listAccounts/success-user.http +1 -1
  101. data/spec/fixtures.http/listCertificates/success.http +1 -1
  102. data/spec/fixtures.http/listCollaborators/success.http +1 -1
  103. data/spec/fixtures.http/listContacts/success.http +17 -17
  104. data/spec/fixtures.http/listDomains/success.http +1 -1
  105. data/spec/fixtures.http/listEmailForwards/success.http +1 -1
  106. data/spec/fixtures.http/listPushes/success.http +1 -1
  107. data/spec/fixtures.http/listServices/success.http +12 -8
  108. data/spec/fixtures.http/listTemplateRecords/success.http +1 -1
  109. data/spec/fixtures.http/listTemplates/success.http +1 -1
  110. data/spec/fixtures.http/listWebhooks/success.http +17 -17
  111. data/spec/fixtures.http/listZoneRecords/success.http +1 -1
  112. data/spec/fixtures.http/listZones/success.http +17 -17
  113. data/spec/fixtures.http/method-not-allowed.http +11 -11
  114. data/spec/fixtures.http/notfound-contact.http +12 -12
  115. data/spec/fixtures.http/notfound-record.http +11 -11
  116. data/spec/fixtures.http/notfound-whoisprivacy.http +12 -0
  117. data/spec/fixtures.http/notfound-zone.http +11 -11
  118. data/spec/fixtures.http/oauthAccessToken/error-invalid-request.http +16 -0
  119. data/spec/fixtures.http/oauthAccessToken/success.http +17 -17
  120. data/spec/fixtures.http/registerDomain/success.http +21 -17
  121. data/spec/fixtures.http/renewDomain/success.http +13 -9
  122. data/spec/fixtures.http/resetDomainToken/success.http +1 -1
  123. data/spec/fixtures.http/success-with-malformed-json.http +13 -0
  124. data/spec/fixtures.http/transferDomain/success.http +13 -9
  125. data/spec/fixtures.http/updateContact/success.http +17 -17
  126. data/spec/fixtures.http/updateTemplate/success.http +1 -1
  127. data/spec/fixtures.http/updateZoneRecord/success.http +1 -1
  128. data/spec/fixtures.http/validation-error.http +19 -0
  129. data/spec/fixtures.http/whoami/{success_account.http → success-account.http} +15 -15
  130. data/spec/fixtures.http/whoami/{success_user.http → success-user.http} +15 -15
  131. data/spec/fixtures.http/whoami/success.http +15 -15
  132. metadata +37 -14
  133. data/.ruby-version +0 -1
  134. data/spec/fixtures.http/disableAutoRenewal/success.http +0 -12
  135. data/spec/fixtures.http/enableAutoRenewal/success.http +0 -12
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bfd2d022a76ad12b6b4259ce10a2f349c618a31f
4
- data.tar.gz: 30bb0e50b7d8ed4662c113c70a84c584ae1d9a55
3
+ metadata.gz: e0f3e109fc2b3c88b76f2f569764e32792a626f7
4
+ data.tar.gz: e092631aa456c81f5a77076fab26334f2c9f93a0
5
5
  SHA512:
6
- metadata.gz: 45b87521f74759ff510845caa7f3b661ce80af3d40aecaa962655296b07b5fab90ceb358e3f180a0a5f736105faadcb38a55078771961073303f496838a5d219
7
- data.tar.gz: 364c11eb5e67241ff9123e67fa4ce5af26358c8d03eee7f5692b480cf882f56b155144f1c853f92b4b9072a97b69ed55f0fcb9792bb4b7448dd66830c0185b36
6
+ metadata.gz: f6393c8b54b069a15bd4cdce2e259586f7dde2c979b50bcddbeae5aa40015b08e6c6429851eba324daabbb7e27d05aa42f333bc09244032bb22790967762b9a6
7
+ data.tar.gz: 6f403fdb0107e7f8e50bee41ce24244ee5a1ae398835670bbdf19b369b0116f8d70788dd72f07bf1fd61e82821b277acb798807ea605b00f2593391f060693ad
@@ -2,6 +2,13 @@
2
2
 
3
3
  This project uses [Semantic Versioning 2.0.0](http://semver.org/).
4
4
 
5
+ #### 4.1.0
6
+
7
+ - NEW: Added domain premium price support (dnsimple/dnsimple-ruby#143)
8
+
9
+ - CHANGED: Updated registration, transfer, renewal response payload (dnsimple/dnsimple-developer#111, dnsimple/dnsimple-ruby#140).
10
+ - CHANGED: Normalize unique string identifiers to SID (dnsimple/dnsimple-ruby#141)
11
+
5
12
 
6
13
  #### 4.0.0
7
14
 
data/README.md CHANGED
@@ -9,13 +9,6 @@ A Ruby client for the [DNSimple API v2](https://developer.dnsimple.com/v2/).
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.
10
10
 
11
11
 
12
- ## :warning: Beta Warning
13
-
14
- This branch targets the development of the API client for the [DNSimple API v2](https://developer.dnsimple.com/v2/). If you are looking for the stable version of the client for [DNSimple API v1](https://developer.dnsimple.com/v1/) then use the [`master-v1`](https://github.com/dnsimple/dnsimple-ruby/tree/master-v1) branch.
15
-
16
- This library is currently in beta version, the methods and the implementation should be considered a work-in-progress. Changes in the method naming, method signatures, public or internal APIs may happen during the beta period.
17
-
18
-
19
12
  ## Installation
20
13
 
21
14
  You can install the gem manually:
@@ -27,7 +20,7 @@ $ gem install dnsimple
27
20
  Or use Bundler and define it as a dependency in your Gemfile:
28
21
 
29
22
  ```
30
- gem 'dnsimple', '~> 3.0'
23
+ gem 'dnsimple', '~> 4.0'
31
24
  ```
32
25
 
33
26
  ## Usage
@@ -16,7 +16,7 @@ module Dnsimple
16
16
  # @example List certificates, provide a sorting policy
17
17
  # client.certificates.list(1010, "example.com", sort: "email:asc")
18
18
  #
19
- # @param [Fixnum] account_id the account ID
19
+ # @param [Integer] account_id the account ID
20
20
  # @param [#to_s] domain_name the domain name
21
21
  # @param [Hash] options the filtering and sorting options
22
22
  # @option options [Integer] :page current page (pagination)
@@ -34,9 +34,9 @@ module Dnsimple
34
34
  #
35
35
  # @see https://developer.dnsimple.com/v2/domains/certificates/#get
36
36
  #
37
- # @param [Fixnum] account_id the account ID
37
+ # @param [Integer] account_id the account ID
38
38
  # @param [#to_s] domain_id the domain ID or domain name
39
- # @param [Fixnum] certificate_id the certificate ID
39
+ # @param [Integer] certificate_id the certificate ID
40
40
  # @param [Hash] options
41
41
  # @return [Dnsimple::Response<Dnsimple::Struct::Certificate>]
42
42
  #
@@ -52,9 +52,9 @@ module Dnsimple
52
52
  #
53
53
  # @see https://developer.dnsimple.com/v2/domains/certificates/#download
54
54
  #
55
- # @param [Fixnum] account_id the account ID
55
+ # @param [Integer] account_id the account ID
56
56
  # @param [#to_s] domain_id the domain ID or domain name
57
- # @param [Fixnum] certificate_id the certificate ID
57
+ # @param [Integer] certificate_id the certificate ID
58
58
  # @param [Hash] options
59
59
  # @return [Dnsimple::Response<Dnsimple::Struct::CertificateBundle>]
60
60
  #
@@ -70,9 +70,9 @@ module Dnsimple
70
70
  #
71
71
  # @see https://developer.dnsimple.com/v2/domains/certificates/#get-private-key
72
72
  #
73
- # @param [Fixnum] account_id the account ID
73
+ # @param [Integer] account_id the account ID
74
74
  # @param [#to_s] domain_id the domain ID or domain name
75
- # @param [Fixnum] certificate_id the certificate ID
75
+ # @param [Integer] certificate_id the certificate ID
76
76
  # @param [Hash] options
77
77
  # @return [Dnsimple::Response<Dnsimple::Struct::CertificateBundle>]
78
78
  #
@@ -12,7 +12,7 @@ module Dnsimple
12
12
  # @example List collaborators, provide a specific page
13
13
  # client.domains.collaborators(1010, "example.com", page: 2)
14
14
  #
15
- # @param [Fixnum] account_id the account ID
15
+ # @param [Integer] account_id the account ID
16
16
  # @param [#to_s] domain_id the domain ID or name
17
17
  # @param [Hash] request options
18
18
  # @option options [Integer] :page current page (pagination)
@@ -33,7 +33,7 @@ module Dnsimple
33
33
  # @example Add collaborator
34
34
  # client.domains.add_collaborator(1010, "example.com", email: "user@example.com")
35
35
  #
36
- # @param [Fixnum] account_id the account ID
36
+ # @param [Integer] account_id the account ID
37
37
  # @param [#to_s] domain_id the domain ID or name
38
38
  # @param [Hash] user attributes
39
39
  # @param attributes [String] :email user email (mandatory)
@@ -57,7 +57,7 @@ module Dnsimple
57
57
  # @example Remove collaborator
58
58
  # client.domains.remove_collaborator(1010, "example.com", 999)
59
59
  #
60
- # @param [Fixnum] account_id the account ID
60
+ # @param [Integer] account_id the account ID
61
61
  # @param [#to_s] domain_id the domain ID or name
62
62
  # @param [#to_s] contact_id the contact ID
63
63
  # @param [Hash] request options
@@ -16,7 +16,7 @@ module Dnsimple
16
16
  # @example List contacts, provide a sorting policy
17
17
  # client.contacts.list(1010, sort: "email:asc")
18
18
  #
19
- # @param [Fixnum] account_id the account ID
19
+ # @param [Integer] account_id the account ID
20
20
  # @param [Hash] options the filtering and sorting options
21
21
  # @option options [Integer] :page current page (pagination)
22
22
  # @option options [Integer] :per_page number of entries to return (pagination)
@@ -43,7 +43,7 @@ module Dnsimple
43
43
  # @see https://developer.dnsimple.com/v2/contacts/#list
44
44
  # @see #contacts
45
45
  #
46
- # @param [Fixnum] account_id the account ID
46
+ # @param [Integer] account_id the account ID
47
47
  # @param [Hash] options the filtering and sorting options
48
48
  # @option options [Integer] :page current page (pagination)
49
49
  # @option options [Integer] :per_page number of entries to return (pagination)
@@ -60,7 +60,7 @@ module Dnsimple
60
60
  #
61
61
  # @see https://developer.dnsimple.com/v2/contacts/#create
62
62
  #
63
- # @param [Fixnum] account_id the account ID
63
+ # @param [Integer] account_id the account ID
64
64
  # @param [Hash] attributes
65
65
  # @param [Hash] options
66
66
  # @return [Dnsimple::Response<Dnsimple::Struct::Contact>]
@@ -78,7 +78,7 @@ module Dnsimple
78
78
  #
79
79
  # @see https://developer.dnsimple.com/v2/contacts/#get
80
80
  #
81
- # @param [Fixnum] account_id the account ID
81
+ # @param [Integer] account_id the account ID
82
82
  # @param [#to_s] contact_id the contact ID
83
83
  # @param [Hash] options
84
84
  # @return [Dnsimple::Response<Dnsimple::Struct::Contact>]
@@ -95,7 +95,7 @@ module Dnsimple
95
95
  #
96
96
  # @see https://developer.dnsimple.com/v2/contacts/#update
97
97
  #
98
- # @param [Fixnum] account_id the account ID
98
+ # @param [Integer] account_id the account ID
99
99
  # @param [#to_s] contact_id the contact ID
100
100
  # @param [Hash] attributes
101
101
  # @param [Hash] options
@@ -115,7 +115,7 @@ module Dnsimple
115
115
  #
116
116
  # @see https://developer.dnsimple.com/v2/contacts/#delete
117
117
  #
118
- # @param [Fixnum] account_id the account ID
118
+ # @param [Integer] account_id the account ID
119
119
  # @param [#to_s] contact_id the contact ID
120
120
  # @param [Hash] options
121
121
  # @return [Dnsimple::Response<nil>]
@@ -19,7 +19,7 @@ module Dnsimple
19
19
  # @example List domains, provide a filtering policy
20
20
  # client.domains.list(1010, filter: { name_like: "example" })
21
21
  #
22
- # @param [Fixnum] account_id the account ID
22
+ # @param [Integer] account_id the account ID
23
23
  # @param [Hash] options the filtering and sorting options
24
24
  # @option options [Integer] :page current page (pagination)
25
25
  # @option options [Integer] :per_page number of entries to return (pagination)
@@ -47,7 +47,7 @@ module Dnsimple
47
47
  # @see https://developer.dnsimple.com/v2/domains/#list
48
48
  # @see #domains
49
49
  #
50
- # @param [Fixnum] account_id the account ID
50
+ # @param [Integer] account_id the account ID
51
51
  # @param [Hash] options the filtering and sorting option
52
52
  # @option options [Integer] :page current page (pagination)
53
53
  # @option options [Integer] :per_page number of entries to return (pagination)
@@ -65,7 +65,7 @@ module Dnsimple
65
65
  #
66
66
  # @see https://developer.dnsimple.com/v2/domains/#create
67
67
  #
68
- # @param [Fixnum] account_id the account ID
68
+ # @param [Integer] account_id the account ID
69
69
  # @param [Hash] attributes
70
70
  # @param [Hash] options
71
71
  # @return [Dnsimple::Response<Dnsimple::Struct::Domain>]
@@ -84,7 +84,7 @@ module Dnsimple
84
84
  #
85
85
  # @see https://developer.dnsimple.com/v2/domains/#get
86
86
  #
87
- # @param [Fixnum] account_id the account ID
87
+ # @param [Integer] account_id the account ID
88
88
  # @param [#to_s] domain_id The domain ID or domain name
89
89
  # @param [Hash] options
90
90
  # @return [Dnsimple::Response<Dnsimple::Struct::Domain>]
@@ -103,7 +103,7 @@ module Dnsimple
103
103
  #
104
104
  # @see https://developer.dnsimple.com/v2/domains/#delete
105
105
  #
106
- # @param [Fixnum] account_id the account ID
106
+ # @param [Integer] account_id the account ID
107
107
  # @param [#to_s] domain_id The domain ID or domain name
108
108
  # @param [Hash] options
109
109
  # @return [Dnsimple::Response<nil>]
@@ -121,7 +121,7 @@ module Dnsimple
121
121
  #
122
122
  # @see https://developer.dnsimple.com/v2/domains/#reset-token
123
123
  #
124
- # @param [Fixnum] account_id the account ID
124
+ # @param [Integer] account_id the account ID
125
125
  # @param [#to_s] domain_id The domain ID or domain name
126
126
  # @param [Hash] options
127
127
  # @return [Dnsimple::Response<nil>]
@@ -15,7 +15,7 @@ module Dnsimple
15
15
  # @example List email forwards, provide a sorting policy
16
16
  # client.domains.email_forwards(1010, "example.com", sort: "from:asc")
17
17
  #
18
- # @param [Fixnum] account_id the account ID
18
+ # @param [Integer] account_id the account ID
19
19
  # @param [#to_s] domain_id The domain ID or domain name
20
20
  # @param [Hash] options the filtering and sorting options
21
21
  # @option options [Integer] :page current page (pagination)
@@ -42,7 +42,7 @@ module Dnsimple
42
42
  # @see https://developer.dnsimple.com/v2/domains/email-forwards/#list
43
43
  # @see #email_forwards
44
44
  #
45
- # @param [Fixnum] account_id the account ID
45
+ # @param [Integer] account_id the account ID
46
46
  # @param [#to_s] domain_id The domain ID or domain name
47
47
  # @param [Hash] options the filtering and sorting option
48
48
  # @option options [Integer] :page current page (pagination)
@@ -59,7 +59,7 @@ module Dnsimple
59
59
  #
60
60
  # @see https://developer.dnsimple.com/v2/domains/email-forwards/#create
61
61
  #
62
- # @param [Fixnum] account_id the account ID
62
+ # @param [Integer] account_id the account ID
63
63
  # @param [#to_s] domain_id The domain ID or domain name
64
64
  # @param [Hash] attributes
65
65
  # @param [Hash] options
@@ -77,7 +77,7 @@ module Dnsimple
77
77
  #
78
78
  # @see https://developer.dnsimple.com/v2/domains/email-forwards/#get
79
79
  #
80
- # @param [Fixnum] account_id the account ID
80
+ # @param [Integer] account_id the account ID
81
81
  # @param [#to_s] domain_id The domain ID or domain name
82
82
  # @param [#to_s] email_forward_id The email forward ID
83
83
  # @param [Hash] options
@@ -97,7 +97,7 @@ module Dnsimple
97
97
  #
98
98
  # @see https://developer.dnsimple.com/v2/domains/email-forwards/#delete
99
99
  #
100
- # @param [Fixnum] account_id the account ID
100
+ # @param [Integer] account_id the account ID
101
101
  # @param [#to_s] domain_id The domain ID or domain name
102
102
  # @param [#to_s] email_forward_id The email forward ID
103
103
  # @param [Hash] options
@@ -9,7 +9,7 @@ module Dnsimple
9
9
  # @example Initiate a domain pushe for example.com:
10
10
  # client.domains.initiate_push(1010, "example.com", new_account_email: "admin@target-account.test")
11
11
  #
12
- # @param [Fixnum] account_id the account ID
12
+ # @param [Integer] account_id the account ID
13
13
  # @param [#to_s] domain_id The domain ID or domain name
14
14
  # @param [Hash] attributes
15
15
  # @option attributes [String] :new_account_email the target account email (mandatory)
@@ -34,7 +34,7 @@ module Dnsimple
34
34
  # @example List domain pushes, provide a specific page
35
35
  # client.domains.pushes(2020, page: 2)
36
36
  #
37
- # @param [Fixnum] account_id the account ID
37
+ # @param [Integer] account_id the account ID
38
38
  # @param [Hash] options
39
39
  # @option options [Integer] :page current page (pagination)
40
40
  # @option options [Integer] :per_page number of entries to return (pagination)
@@ -55,8 +55,8 @@ module Dnsimple
55
55
  # @example Accept a domain push in the target account:
56
56
  # client.domains.accept_push(2020, 1, contact_id: 2)
57
57
  #
58
- # @param [Fixnum] account_id the target account ID
59
- # @param [Fixnum] push_id the domain push ID
58
+ # @param [Integer] account_id the target account ID
59
+ # @param [Integer] push_id the domain push ID
60
60
  # @param [Hash] options
61
61
  # @param [Hash] attributes
62
62
  # @option attributes [Integer] :contact_id the contact ID (mandatory)
@@ -78,8 +78,8 @@ module Dnsimple
78
78
  # @example Reject a domain push in the target account:
79
79
  # client.domains.reject_push(2020, 1, contact_id: 2)
80
80
  #
81
- # @param [Fixnum] account_id the target account ID
82
- # @param [Fixnum] push_id the domain push ID
81
+ # @param [Integer] account_id the target account ID
82
+ # @param [Integer] push_id the domain push ID
83
83
  # @param [Hash] options
84
84
  # @return [Dnsimple::Response<nil>]
85
85
  #
@@ -9,7 +9,7 @@ module Dnsimple
9
9
  # @example Check whether example.com is available:
10
10
  # client.registrar.check(1010, "example.com")
11
11
  #
12
- # @param [Fixnum] account_id the account ID
12
+ # @param [Integer] account_id the account ID
13
13
  # @param [#to_s] domain_name the domain name to check
14
14
  # @param [Hash] options
15
15
  # @return [Struct::DomainCheck]
@@ -22,6 +22,32 @@ module Dnsimple
22
22
  Dnsimple::Response.new(response, Struct::DomainCheck.new(response["data"]))
23
23
  end
24
24
 
25
+ # Checks the premium price for a domain
26
+ #
27
+ # @see https://developer.dnsimple.com/v2/registrar/#premium-price
28
+ #
29
+ # @example Check the ruby.codes premium price:
30
+ # client.registrar.domain_premium_price(1010, "ruby.codes")
31
+ #
32
+ # @example Check the ruby.codes premium price for transfer:
33
+ # client.registrar.domain_premium_price(1010, "ruby.codes", action: "transfer")
34
+ #
35
+ # @param [Integer] account_id the account ID
36
+ # @param [#to_s] domain_name the domain name to check
37
+ # @param [Hash] options
38
+ # @option options [String] :action Optional action between "registration",
39
+ # "renewal", and "transfer". If omitted, it defaults to "registration".
40
+ # @return [Struct::DomainPremiumPrice]
41
+ #
42
+ # @raise [RequestError] When the request fails.
43
+ def domain_premium_price(account_id, domain_name, options = {})
44
+ endpoint = Client.versioned("/%s/registrar/domains/%s/premium_price" % [account_id, domain_name])
45
+ options[:query] = { action: options.delete(:action) } if options.key?(:action)
46
+ response = client.get(endpoint, options)
47
+
48
+ Dnsimple::Response.new(response, Struct::DomainPremiumPrice.new(response["data"]))
49
+ end
50
+
25
51
  # Registers a domain.
26
52
  #
27
53
  # @see https://developer.dnsimple.com/v2/registrar/#register
@@ -30,11 +56,11 @@ module Dnsimple
30
56
  # including WHOIS privacy for the domain and enabling auto renewal:
31
57
  # client.registrar.register(1010, "example.com", registrant_id: 1234, private_whois: true, auto_renew: true)
32
58
  #
33
- # @param [Fixnum] account_id the account ID
59
+ # @param [Integer] account_id the account ID
34
60
  # @param [#to_s] domain_name the domain name to register
35
61
  # @param [Hash] attributes
36
62
  # @param [Hash] options
37
- # @return [Struct::Domain]
63
+ # @return [Struct::DomainRegistration]
38
64
  #
39
65
  # @raise [RequestError] When the request fails.
40
66
  def register_domain(account_id, domain_name, attributes, options = {})
@@ -42,7 +68,7 @@ module Dnsimple
42
68
  endpoint = Client.versioned("/%s/registrar/domains/%s/registration" % [account_id, domain_name])
43
69
  response = client.post(endpoint, attributes, options)
44
70
 
45
- Dnsimple::Response.new(response, Struct::Domain.new(response["data"]))
71
+ Dnsimple::Response.new(response, Struct::DomainRegistration.new(response["data"]))
46
72
  end
47
73
 
48
74
  # Renews a domain.
@@ -52,18 +78,18 @@ module Dnsimple
52
78
  # @example Renew example.com for 3 years:
53
79
  # client.registrar.renew(1010, "example.com", period: 3)
54
80
  #
55
- # @param [Fixnum] account_id the account ID
81
+ # @param [Integer] account_id the account ID
56
82
  # @param [#to_s] domain_name the domain name to renew
57
83
  # @param [Hash] attributes
58
84
  # @param [Hash] options
59
- # @return [Struct::Domain]
85
+ # @return [Struct::DomainRenewal]
60
86
  #
61
87
  # @raise [RequestError] When the request fails.
62
88
  def renew_domain(account_id, domain_name, attributes = nil, options = {})
63
89
  endpoint = Client.versioned("/%s/registrar/domains/%s/renewal" % [account_id, domain_name])
64
90
  response = client.post(endpoint, attributes, options)
65
91
 
66
- Dnsimple::Response.new(response, Struct::Domain.new(response["data"]))
92
+ Dnsimple::Response.new(response, Struct::DomainRenewal.new(response["data"]))
67
93
  end
68
94
 
69
95
  # Starts the transfer of a domain to DNSimple.
@@ -73,11 +99,11 @@ module Dnsimple
73
99
  # @example Initiate the transfer for example.com using the contact 1234 as registrant:
74
100
  # client.registrar.transfer(1010, "example.com", registrant_id: 1234, auth_code: "x1y2z3")
75
101
  #
76
- # @param [Fixnum] account_id the account ID
102
+ # @param [Integer] account_id the account ID
77
103
  # @param [#to_s] domain_name the domain name to transfer
78
104
  # @param [Hash] attributes
79
105
  # @param [Hash] options
80
- # @return [Struct::Domain]
106
+ # @return [Struct::DomainTransfer]
81
107
  #
82
108
  # @raise [RequestError] When the request fails.
83
109
  def transfer_domain(account_id, domain_name, attributes, options = {})
@@ -85,7 +111,7 @@ module Dnsimple
85
111
  endpoint = Client.versioned("/%s/registrar/domains/%s/transfer" % [account_id, domain_name])
86
112
  response = client.post(endpoint, attributes, options)
87
113
 
88
- Dnsimple::Response.new(response, Struct::Domain.new(response["data"]))
114
+ Dnsimple::Response.new(response, Struct::DomainTransfer.new(response["data"]))
89
115
  end
90
116
 
91
117
  # Requests the transfer of a domain out of DNSimple.
@@ -95,7 +121,7 @@ module Dnsimple
95
121
  # @example Request to transfer of example.com out of DNSimple:
96
122
  # client.registrar.transfer_out(1010, "example.com")
97
123
  #
98
- # @param [Fixnum] account_id the account ID
124
+ # @param [Integer] account_id the account ID
99
125
  # @param [#to_s] domain_name the domain name to transfer out
100
126
  # @param [Hash] options
101
127
  # @return [Dnsimple::Response<nil>]
@@ -6,7 +6,7 @@ module Dnsimple
6
6
  #
7
7
  # @see https://developer.dnsimple.com/v2/registrar/auto-renewal/
8
8
  #
9
- # @param [Fixnum] account_id the account ID
9
+ # @param [Integer] account_id the account ID
10
10
  # @param [#to_s] domain_name the domain name
11
11
  # @param [Hash] options
12
12
  # @return [Dnsimple::Response<nil>]
@@ -23,7 +23,7 @@ module Dnsimple
23
23
  #
24
24
  # @see https://developer.dnsimple.com/v2/registrar/auto-renewal/
25
25
  #
26
- # @param [Fixnum] account_id the account ID
26
+ # @param [Integer] account_id the account ID
27
27
  # @param [#to_s] domain_name the domain name
28
28
  # @param [Hash] options
29
29
  # @return [Dnsimple::Response<nil>]
@@ -9,7 +9,7 @@ module Dnsimple
9
9
  # @example List the name servers example.com is delegating to:
10
10
  # client.registrar.domain_delegation(1010, "example.com")
11
11
  #
12
- # @param [Fixnum] account_id the account ID
12
+ # @param [Integer] account_id the account ID
13
13
  # @param [#to_s] domain_name the domain name to check
14
14
  # @param [Hash] options
15
15
  # @return [Dnsimple::Response<Array>]
@@ -30,7 +30,7 @@ module Dnsimple
30
30
  # client.registrar.change_domain_delegation(1010, "example.com",
31
31
  # ["ns1.dnsimple.com", "ns2.dnsimple.com", "ns3.dnsimple.com", "ns4.dnsimple.com"])
32
32
  #
33
- # @param [Fixnum] account_id the account ID
33
+ # @param [Integer] account_id the account ID
34
34
  # @param [#to_s] domain_name the domain name to check
35
35
  # @param [Array] attributes
36
36
  # @param [Hash] options
@@ -52,7 +52,7 @@ module Dnsimple
52
52
  # client.registrar.change_domain_delegation_to_vanity(1010, "example.com",
53
53
  # ["ns1.example.com", "ns2.example.com", "ns3.example.com", "ns4.example.com"])
54
54
  #
55
- # @param [Fixnum] account_id the account ID
55
+ # @param [Integer] account_id the account ID
56
56
  # @param [#to_s] domain_name the domain name to check
57
57
  # @param [Array] attributes
58
58
  # @param [Hash] options
@@ -73,7 +73,7 @@ module Dnsimple
73
73
  # @example Disable vanity name servers for example.com:
74
74
  # client.registrar.change_domain_delegation_from_vanity(1010, "example.com")
75
75
  #
76
- # @param [Fixnum] account_id the account ID
76
+ # @param [Integer] account_id the account ID
77
77
  # @param [#to_s] domain_name the domain name to check
78
78
  # @param [Hash] options
79
79
  # @return [Dnsimple::Response<nil>]