dnsimple 4.3.0 → 4.4.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 (46) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +5 -0
  3. data/.rubocop_dnsimple.yml +28 -8
  4. data/.travis.yml +12 -7
  5. data/CHANGELOG.md +7 -0
  6. data/LICENSE.txt +1 -1
  7. data/README.md +1 -1
  8. data/lib/dnsimple/client.rb +1 -1
  9. data/lib/dnsimple/client/certificates.rb +185 -28
  10. data/lib/dnsimple/client/registrar.rb +5 -5
  11. data/lib/dnsimple/struct.rb +2 -0
  12. data/lib/dnsimple/struct/certificate.rb +9 -0
  13. data/lib/dnsimple/struct/certificate_purchase.rb +25 -0
  14. data/lib/dnsimple/struct/certificate_renewal.rb +28 -0
  15. data/lib/dnsimple/struct/domain_registration.rb +0 -3
  16. data/lib/dnsimple/struct/domain_renewal.rb +0 -3
  17. data/lib/dnsimple/struct/domain_transfer.rb +0 -3
  18. data/lib/dnsimple/struct/extended_attribute.rb +1 -1
  19. data/lib/dnsimple/struct/service.rb +1 -1
  20. data/lib/dnsimple/struct/whoami.rb +2 -2
  21. data/lib/dnsimple/version.rb +1 -1
  22. data/spec/dnsimple/client/certificates_spec.rb +225 -1
  23. data/spec/dnsimple/client/collaborators_spec.rb +1 -1
  24. data/spec/dnsimple/client/contacts_spec.rb +1 -1
  25. data/spec/dnsimple/client/domains_delegation_signer_records_spec.rb +1 -1
  26. data/spec/dnsimple/client/domains_dnssec_spec.rb +2 -2
  27. data/spec/dnsimple/client/domains_email_forwards_spec.rb +1 -1
  28. data/spec/dnsimple/client/domains_pushes_spec.rb +1 -1
  29. data/spec/dnsimple/client/domains_spec.rb +3 -3
  30. data/spec/dnsimple/client/registrar_spec.rb +3 -3
  31. data/spec/dnsimple/client/registrar_whois_privacy_spec.rb +3 -3
  32. data/spec/dnsimple/client/services_spec.rb +1 -1
  33. data/spec/dnsimple/client/tlds_spec.rb +7 -7
  34. data/spec/dnsimple/client/zones_records_spec.rb +2 -2
  35. data/spec/dnsimple/client/zones_spec.rb +2 -2
  36. data/spec/fixtures.http/{transferDomainOut → authorizeDomainTransferOut}/success.http +0 -0
  37. data/spec/fixtures.http/getCertificate/success.http +1 -1
  38. data/spec/fixtures.http/issueLetsencryptCertificate/success.http +21 -0
  39. data/spec/fixtures.http/issueRenewalLetsencryptCertificate/success.http +21 -0
  40. data/spec/fixtures.http/listCertificates/success.http +1 -1
  41. data/spec/fixtures.http/purchaseLetsencryptCertificate/success.http +21 -0
  42. data/spec/fixtures.http/purchaseRenewalLetsencryptCertificate/success.http +21 -0
  43. data/spec/fixtures.http/whoami/success-account.http +1 -1
  44. data/spec/fixtures.http/whoami/success-user.http +1 -1
  45. data/spec/fixtures.http/whoami/success.http +1 -1
  46. metadata +15 -5
@@ -55,7 +55,7 @@ describe Dnsimple::Client, ".domains" do
55
55
  it "exposes the pagination information" do
56
56
  response = subject.email_forwards(account_id, domain_id)
57
57
 
58
- expect(response.respond_to?(:page)).to be_truthy
58
+ expect(response.respond_to?(:page)).to be(true)
59
59
  expect(response.page).to eq(1)
60
60
  expect(response.per_page).to be_a(Integer)
61
61
  expect(response.total_entries).to be_a(Integer)
@@ -76,7 +76,7 @@ describe Dnsimple::Client, ".domains" do
76
76
  it "exposes the pagination information" do
77
77
  response = subject.pushes(account_id)
78
78
 
79
- expect(response.respond_to?(:page)).to be_truthy
79
+ expect(response.respond_to?(:page)).to be(true)
80
80
  expect(response.page).to eq(1)
81
81
  expect(response.per_page).to be_a(Integer)
82
82
  expect(response.total_entries).to be_a(Integer)
@@ -60,7 +60,7 @@ describe Dnsimple::Client, ".domains" do
60
60
  it "exposes the pagination information" do
61
61
  response = subject.domains(account_id)
62
62
 
63
- expect(response.respond_to?(:page)).to be_truthy
63
+ expect(response.respond_to?(:page)).to be(true)
64
64
  expect(response.page).to eq(1)
65
65
  expect(response.per_page).to be_a(Integer)
66
66
  expect(response.total_entries).to be_a(Integer)
@@ -148,8 +148,8 @@ describe Dnsimple::Client, ".domains" do
148
148
  expect(result.registrant_id).to eq(nil)
149
149
  expect(result.name).to eq("example-alpha.com")
150
150
  expect(result.state).to eq("hosted")
151
- expect(result.auto_renew).to eq(false)
152
- expect(result.private_whois).to eq(false)
151
+ expect(result.auto_renew).to be(false)
152
+ expect(result.private_whois).to be(false)
153
153
  expect(result.expires_on).to eq(nil)
154
154
  expect(result.created_at).to eq("2014-12-06T15:56:55Z")
155
155
  expect(result.updated_at).to eq("2015-12-09T00:20:56Z")
@@ -27,8 +27,8 @@ describe Dnsimple::Client, ".registrar" do
27
27
  result = response.data
28
28
  expect(result).to be_a(Dnsimple::Struct::DomainCheck)
29
29
  expect(result.domain).to eq("ruby.codes")
30
- expect(result.available).to be_truthy
31
- expect(result.premium).to be_truthy
30
+ expect(result.available).to be(true)
31
+ expect(result.premium).to be(true)
32
32
  end
33
33
  end
34
34
 
@@ -217,7 +217,7 @@ describe Dnsimple::Client, ".registrar" do
217
217
 
218
218
  before do
219
219
  stub_request(:post, %r{/v2/#{account_id}/registrar/domains/.+/authorize_transfer_out$})
220
- .to_return(read_http_fixture("transferDomainOut/success.http"))
220
+ .to_return(read_http_fixture("authorizeDomainTransferOut/success.http"))
221
221
  end
222
222
 
223
223
  it "builds the correct request" do
@@ -27,7 +27,7 @@ describe Dnsimple::Client, ".registrar" do
27
27
  result = response.data
28
28
  expect(result).to be_a(Dnsimple::Struct::WhoisPrivacy)
29
29
  expect(result.domain_id).to be_kind_of(Integer)
30
- expect(result.enabled).to be_truthy
30
+ expect(result.enabled).to be(true)
31
31
  expect(result.expires_on).to be_kind_of(String)
32
32
  end
33
33
  end
@@ -56,7 +56,7 @@ describe Dnsimple::Client, ".registrar" do
56
56
  result = response.data
57
57
  expect(result).to be_a(Dnsimple::Struct::WhoisPrivacy)
58
58
  expect(result.domain_id).to be_kind_of(Integer)
59
- expect(result.enabled).to be_truthy
59
+ expect(result.enabled).to be(true)
60
60
  expect(result.expires_on).to be_kind_of(String)
61
61
  end
62
62
  end
@@ -111,7 +111,7 @@ describe Dnsimple::Client, ".registrar" do
111
111
  result = response.data
112
112
  expect(result).to be_a(Dnsimple::Struct::WhoisPrivacy)
113
113
  expect(result.domain_id).to be_kind_of(Integer)
114
- expect(result.enabled).to be_falsey
114
+ expect(result.enabled).to be(false)
115
115
  expect(result.expires_on).to be_kind_of(String)
116
116
  end
117
117
  end
@@ -98,7 +98,7 @@ describe Dnsimple::Client, ".services" do
98
98
  expect(service.sid).to eq("service1")
99
99
  expect(service.description).to eq("First service example.")
100
100
  expect(service.setup_description).to be_nil
101
- expect(service.requires_setup).to eq(true)
101
+ expect(service.requires_setup).to be(true)
102
102
  expect(service.default_subdomain).to be_nil
103
103
 
104
104
  settings = service.settings
@@ -51,7 +51,7 @@ describe Dnsimple::Client, ".tlds" do
51
51
  it "exposes the pagination information" do
52
52
  response = subject.tlds
53
53
 
54
- expect(response.respond_to?(:page)).to be_truthy
54
+ expect(response.respond_to?(:page)).to be(true)
55
55
  expect(response.page).to eq(1)
56
56
  expect(response.per_page).to be_a(Integer)
57
57
  expect(response.total_entries).to be_a(Integer)
@@ -98,13 +98,13 @@ describe Dnsimple::Client, ".tlds" do
98
98
  expect(result).to be_a(Dnsimple::Struct::Tld)
99
99
  expect(result.tld).to eq('com')
100
100
  expect(result.tld_type).to eq(1)
101
- expect(result.whois_privacy).to eq(true)
102
- expect(result.auto_renew_only).to eq(false)
103
- expect(result.idn).to eq(true)
101
+ expect(result.whois_privacy).to be(true)
102
+ expect(result.auto_renew_only).to be(false)
103
+ expect(result.idn).to be(true)
104
104
  expect(result.minimum_registration).to eq(1)
105
- expect(result.registration_enabled).to eq(true)
106
- expect(result.renewal_enabled).to eq(true)
107
- expect(result.transfer_enabled).to eq(true)
105
+ expect(result.registration_enabled).to be(true)
106
+ expect(result.renewal_enabled).to be(true)
107
+ expect(result.transfer_enabled).to be(true)
108
108
  end
109
109
  end
110
110
 
@@ -62,7 +62,7 @@ describe Dnsimple::Client, ".zones" do
62
62
  it "exposes the pagination information" do
63
63
  response = subject.records(account_id, zone_id)
64
64
 
65
- expect(response.respond_to?(:page)).to be_truthy
65
+ expect(response.respond_to?(:page)).to be(true)
66
66
  expect(response.page).to eq(1)
67
67
  expect(response.per_page).to be_a(Integer)
68
68
  expect(response.total_entries).to be_a(Integer)
@@ -183,7 +183,7 @@ describe Dnsimple::Client, ".zones" do
183
183
  expect(result.content).to eq("mxa.example.com")
184
184
  expect(result.ttl).to eq(600)
185
185
  expect(result.priority).to eq(10)
186
- expect(result.system_record).to eq(false)
186
+ expect(result.system_record).to be(false)
187
187
  expect(result.regions).to eq(%w(SV1 IAD))
188
188
  expect(result.created_at).to eq("2016-10-05T09:51:35Z")
189
189
  expect(result.updated_at).to eq("2016-10-05T09:51:35Z")
@@ -60,7 +60,7 @@ describe Dnsimple::Client, ".zones" do
60
60
  it "exposes the pagination information" do
61
61
  response = subject.zones(account_id)
62
62
 
63
- expect(response.respond_to?(:page)).to be_truthy
63
+ expect(response.respond_to?(:page)).to be(true)
64
64
  expect(response.page).to eq(1)
65
65
  expect(response.per_page).to be_a(Integer)
66
66
  expect(response.total_entries).to be_a(Integer)
@@ -118,7 +118,7 @@ describe Dnsimple::Client, ".zones" do
118
118
  expect(result.id).to eq(1)
119
119
  expect(result.account_id).to eq(1010)
120
120
  expect(result.name).to eq("example-alpha.com")
121
- expect(result.reverse).to eq(false)
121
+ expect(result.reverse).to be(false)
122
122
  expect(result.created_at).to eq("2015-04-23T07:40:03Z")
123
123
  expect(result.updated_at).to eq("2015-04-23T07:40:03Z")
124
124
  end
@@ -18,4 +18,4 @@ X-Permitted-Cross-Domain-Policies: none
18
18
  X-XSS-Protection: 1; mode=block
19
19
  Strict-Transport-Security: max-age=31536000
20
20
 
21
- {"data":{"id":1,"domain_id":2,"name":"www","common_name":"www.weppos.net","years":1,"csr":"-----BEGIN CERTIFICATE REQUEST-----\nMIICljCCAX4CAQAwGTEXMBUGA1UEAwwOd3d3LndlcHBvcy5uZXQwggEiMA0GCSqG\nSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3MJwx9ahBG3kAwRjQdRvYZqtovUaxY6jp\nhd09975gO+2eYPDbc1yhNftVJ4KBT0zdEqzX0CwIlxE1MsnZ2YOsC7IJO531hMBp\ndBxM4tSG07xPz70AVUi9rY6YCUoJHmxoFbclpHFbtXZocR393WyzUK8047uM2mlz\n03AZKcMdyfeuo2/9TcxpTSCkklGqwqS9wtTogckaDHJDoBunAkMioGfOSMe7Yi6E\nYRtG4yPJYsDaq2yPJWV8+i0PFR1Wi5RCnPt0YdQWstHuZrxABi45+XVkzKtz3TUc\nYxrvPBucVa6uzd953u8CixNFkiOefvb/dajsv1GIwH6/Cvc1ftz1AgMBAAGgODA2\nBgkqhkiG9w0BCQ4xKTAnMCUGA1UdEQQeMByCDnd3dy53ZXBwb3MubmV0ggp3ZXBw\nb3MubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQCDnVBO9RdJX0eFeZzlv5c8yG8duhKP\nl0Vl+V88fJylb/cbNj9qFPkKTK0vTXmS2XUFBChKPtLucp8+Z754UswX+QCsdc7U\nTTSG0CkyilcSubdZUERGej1XfrVQhrokk7Fu0Jh3BdT6REP0SIDTpA8ku/aRQiAp\np+h19M37S7+w/DMGDAq2LSX8jOpJ1yIokRDyLZpmwyLxutC21DXMGoJ3xZeUFrUT\nqRNwzkn2dJzgTrPkzhaXalUBqv+nfXHqHaWljZa/O0NVCFrHCdTdd53/6EE2Yabv\nq5SFTkRCpaxrvM/7a8Tr4ixD1/VKD6rw3+WC00000000000000000000\n-----END CERTIFICATE REQUEST-----\n","state":"issued","authority_identifier":"letsencrypt","created_at":"2016-06-11T18:47:08Z","updated_at":"2016-06-11T18:47:37Z","expires_on":"2016-09-09"}}
21
+ {"data":{"id":1,"domain_id":2,"contact_id":3,"name":"www","common_name":"www.weppos.net","years":1,"csr":"-----BEGIN CERTIFICATE REQUEST-----\nMIICljCCAX4CAQAwGTEXMBUGA1UEAwwOd3d3LndlcHBvcy5uZXQwggEiMA0GCSqG\nSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3MJwx9ahBG3kAwRjQdRvYZqtovUaxY6jp\nhd09975gO+2eYPDbc1yhNftVJ4KBT0zdEqzX0CwIlxE1MsnZ2YOsC7IJO531hMBp\ndBxM4tSG07xPz70AVUi9rY6YCUoJHmxoFbclpHFbtXZocR393WyzUK8047uM2mlz\n03AZKcMdyfeuo2/9TcxpTSCkklGqwqS9wtTogckaDHJDoBunAkMioGfOSMe7Yi6E\nYRtG4yPJYsDaq2yPJWV8+i0PFR1Wi5RCnPt0YdQWstHuZrxABi45+XVkzKtz3TUc\nYxrvPBucVa6uzd953u8CixNFkiOefvb/dajsv1GIwH6/Cvc1ftz1AgMBAAGgODA2\nBgkqhkiG9w0BCQ4xKTAnMCUGA1UdEQQeMByCDnd3dy53ZXBwb3MubmV0ggp3ZXBw\nb3MubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQCDnVBO9RdJX0eFeZzlv5c8yG8duhKP\nl0Vl+V88fJylb/cbNj9qFPkKTK0vTXmS2XUFBChKPtLucp8+Z754UswX+QCsdc7U\nTTSG0CkyilcSubdZUERGej1XfrVQhrokk7Fu0Jh3BdT6REP0SIDTpA8ku/aRQiAp\np+h19M37S7+w/DMGDAq2LSX8jOpJ1yIokRDyLZpmwyLxutC21DXMGoJ3xZeUFrUT\nqRNwzkn2dJzgTrPkzhaXalUBqv+nfXHqHaWljZa/O0NVCFrHCdTdd53/6EE2Yabv\nq5SFTkRCpaxrvM/7a8Tr4ixD1/VKD6rw3+WC00000000000000000000\n-----END CERTIFICATE REQUEST-----\n","state":"issued","auto_renew":false,"alternate_names":["weppos.net", "www.weppos.net"],"authority_identifier":"letsencrypt","created_at":"2016-06-11T18:47:08Z","updated_at":"2016-06-11T18:47:37Z","expires_on":"2016-09-09"}}
@@ -0,0 +1,21 @@
1
+ HTTP/1.1 202 Accepted
2
+ Server: nginx
3
+ Date: Wed, 18 Oct 2017 15:42:19 GMT
4
+ Content-Type: application/json; charset=utf-8
5
+ Transfer-Encoding: chunked
6
+ Connection: keep-alive
7
+ X-RateLimit-Limit: 2400
8
+ X-RateLimit-Remaining: 2398
9
+ X-RateLimit-Reset: 1508344833
10
+ ETag: W/"2d6bbf090ba2144b097e33cb3d8964e4"
11
+ Cache-Control: max-age=0, private, must-revalidate
12
+ X-Request-Id: 50628584-cc2f-4543-8775-4f7c8196078b
13
+ X-Runtime: 0.771481
14
+ X-Content-Type-Options: nosniff
15
+ X-Download-Options: noopen
16
+ X-Frame-Options: DENY
17
+ X-Permitted-Cross-Domain-Policies: none
18
+ X-XSS-Protection: 1; mode=block
19
+ Strict-Transport-Security: max-age=31536000
20
+
21
+ {"data":{"id":200,"domain_id":300,"contact_id":100,"name":"www","common_name":"www.example.com","years":1,"csr":null,"state":"requesting","auto_renew":false,"alternate_names":[],"authority_identifier":"letsencrypt","created_at":"2017-10-18T15:40:32Z","updated_at":"2017-10-18T15:42:18Z","expires_on":null}}
@@ -0,0 +1,21 @@
1
+ HTTP/1.1 202 Accepted
2
+ Server: nginx
3
+ Date: Thu, 19 Oct 2017 08:22:17 GMT
4
+ Content-Type: application/json; charset=utf-8
5
+ Transfer-Encoding: chunked
6
+ Connection: keep-alive
7
+ X-RateLimit-Limit: 2400
8
+ X-RateLimit-Remaining: 2398
9
+ X-RateLimit-Reset: 1508404733
10
+ ETag: W/"8dfa538f5255d47f11d016dbb1c26059"
11
+ Cache-Control: max-age=0, private, must-revalidate
12
+ X-Request-Id: 185ad43f-1e34-43fb-a4aa-0359c9f95f2d
13
+ X-Runtime: 0.853294
14
+ X-Content-Type-Options: nosniff
15
+ X-Download-Options: noopen
16
+ X-Frame-Options: DENY
17
+ X-Permitted-Cross-Domain-Policies: none
18
+ X-XSS-Protection: 1; mode=block
19
+ Strict-Transport-Security: max-age=31536000
20
+
21
+ {"data":{"id":300,"domain_id":300,"contact_id":100,"name":"www","common_name":"www.example.com","years":1,"csr":null,"state":"requesting","auto_renew":false,"alternate_names":[],"authority_identifier":"letsencrypt","created_at":"2017-10-19T08:18:53Z","updated_at":"2017-10-19T08:22:17Z","expires_on":null}}
@@ -18,4 +18,4 @@ X-Permitted-Cross-Domain-Policies: none
18
18
  X-XSS-Protection: 1; mode=block
19
19
  Strict-Transport-Security: max-age=31536000
20
20
 
21
- {"data":[{"id":1,"domain_id":10,"name":"www","common_name":"www.weppos.net","years":1,"csr":"-----BEGIN CERTIFICATE REQUEST-----\nMIICljCCAX4CAQAwGTEXMBUGA1UEAwwOd3d3LndlcHBvcy5uZXQwggEiMA0GCSqG\nSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3MJwx9ahBG3kAwRjQdRvYZqtovUaxY6jp\nhd09975gO+2eYPDbc1yhNftVJ4KBT0zdEqzX0CwIlxE1MsnZ2YOsC7IJO531hMBp\ndBxM4tSG07xPz70AVUi9rY6YCUoJHmxoFbclpHFbtXZocR393WyzUK8047uM2mlz\n03AZKcMdyfeuo2/9TcxpTSCkklGqwqS9wtTogckaDHJDoBunAkMioGfOSMe7Yi6E\nYRtG4yPJYsDaq2yPJWV8+i0PFR1Wi5RCnPt0YdQWstHuZrxABi45+XVkzKtz3TUc\nYxrvPBucVa6uzd953u8CixNFkiOefvb/dajsv1GIwH6/Cvc1ftz1AgMBAAGgODA2\nBgkqhkiG9w0BCQ4xKTAnMCUGA1UdEQQeMByCDnd3dy53ZXBwb3MubmV0ggp3ZXBw\nb3MubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQCDnVBO9RdJX0eFeZzlv5c8yG8duhKP\n0000000000000/cbNj9qFPkKTK0vTXmS2XUFBChKPtLucp8+Z754UswX+QCsdc7U\nTTSG0CkyilcSubdZUERGej1XfrVQhrokk7Fu0Jh3BdT6REP0SIDTpA8ku/aRQiAp\np+h19M37S7+w/DMGDAq2LSX8jOpJ1yIokRDyLZpmwyLxutC21DXMGoJ3xZeUFrUT\nqRNwzkn2dJzgTrPkzhaXalUBqv+nfXHqHaWljZa/O0NVCFrHCdTdd53/6EE2Yabv\nq5SFTkRCpaxrvM/7a8Tr4ixD1/VKD6rw3+WCvyS4GWK7knhiI1nZH3PI\n-----END CERTIFICATE REQUEST-----\n","state":"issued","authority_identifier":"letsencrypt","created_at":"2016-06-11T18:47:08Z","updated_at":"2016-06-11T18:47:37Z","expires_on":"2016-09-09"},{"id":2,"domain_id":10,"name":"www","common_name":"www.weppos.net","years":1,"csr":"-----BEGIN CERTIFICATE REQUEST-----\nMIICljCCAX4CAQAwGTEXMBUGA1UEAwwOd3d3LndlcHBvcy5uZXQwggEiMA0GCSqG\nSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDEhv18Sz4nQtjCDseXREuFIZW88yK7M5gM\nw2WuVmxTfn3MGprPtIevPJ0gzR4foMpnOKjR/wW8DpbvvNPNo5FAsYf+mr84rMft\nUjOQWfqcraWWHmss/Ytq45uTie8M1/C4Pr+FFfbOwwWz/DqVao5RQ34q+LIPpV62\nwRkg0m14FqT8gjNNM0XAsrfT7M+kvfsS+FbyJ7G9K0tj3wgqaEuKAQtJn7MPflM8\nfG0TqLJ+NSuI/Zfmtol3XzBD/AoViu0F8Sqp5OR8Ej4ZdmbKR+om+U+MX9LwF8MD\nwCtMAIaGF4JkgrpiGrbAKIpXwkuxJ8wWrkwhxu18z/OhJEBW+wFjAgMBAAGgODA2\nBgkqhkiG9w0BCQ4xKTAnMCUGA1UdEQQeMByCDnd3dy53ZXBwb3MubmV0ggp3ZXBw\nb3MubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBuDDwhTjU7pAGHU1dUthfznvFqjY2I\n7CNEaUSxlXdxyZs34cwx28F7iMDE8Gh7B3QkuS3c2CTtAQsxnWKebgLYJ8w8XLN1\n9mZtNhT8yXKzLDfC9KuzKw467sbxYf8bLsuyFdQ8sBNp+8es9OwVgYsPwZ4NBtOn\nQlwtBBBdxrF5zCQgQXZsFmymf/o4nLU66ouW1MVjoG608dthoBYiIIiPRx3c+Rjd\ni8JHn2qIKF7AJfJy/H8TLgtE1bt08tfDA9ztuX2zb/lvXrVu4aLBjOF+Fn3b+EqX\n6gR0m+Id0b3t3ORN1QU0SBiyrXXJbo6E+cpYKeWlnkf0000000000000\n-----END CERTIFICATE REQUEST-----\n","state":"issued","authority_identifier":"letsencrypt","created_at":"2016-05-25T15:56:06Z","updated_at":"2016-05-25T17:10:39Z","expires_on":null}],"pagination":{"current_page":1,"per_page":30,"total_entries":2,"total_pages":1}}
21
+ {"data":[{"id":1,"domain_id":10,"contact_id":3,"name":"www","common_name":"www.weppos.net","years":1,"csr":"-----BEGIN CERTIFICATE REQUEST-----\nMIICljCCAX4CAQAwGTEXMBUGA1UEAwwOd3d3LndlcHBvcy5uZXQwggEiMA0GCSqG\nSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3MJwx9ahBG3kAwRjQdRvYZqtovUaxY6jp\nhd09975gO+2eYPDbc1yhNftVJ4KBT0zdEqzX0CwIlxE1MsnZ2YOsC7IJO531hMBp\ndBxM4tSG07xPz70AVUi9rY6YCUoJHmxoFbclpHFbtXZocR393WyzUK8047uM2mlz\n03AZKcMdyfeuo2/9TcxpTSCkklGqwqS9wtTogckaDHJDoBunAkMioGfOSMe7Yi6E\nYRtG4yPJYsDaq2yPJWV8+i0PFR1Wi5RCnPt0YdQWstHuZrxABi45+XVkzKtz3TUc\nYxrvPBucVa6uzd953u8CixNFkiOefvb/dajsv1GIwH6/Cvc1ftz1AgMBAAGgODA2\nBgkqhkiG9w0BCQ4xKTAnMCUGA1UdEQQeMByCDnd3dy53ZXBwb3MubmV0ggp3ZXBw\nb3MubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQCDnVBO9RdJX0eFeZzlv5c8yG8duhKP\n0000000000000/cbNj9qFPkKTK0vTXmS2XUFBChKPtLucp8+Z754UswX+QCsdc7U\nTTSG0CkyilcSubdZUERGej1XfrVQhrokk7Fu0Jh3BdT6REP0SIDTpA8ku/aRQiAp\np+h19M37S7+w/DMGDAq2LSX8jOpJ1yIokRDyLZpmwyLxutC21DXMGoJ3xZeUFrUT\nqRNwzkn2dJzgTrPkzhaXalUBqv+nfXHqHaWljZa/O0NVCFrHCdTdd53/6EE2Yabv\nq5SFTkRCpaxrvM/7a8Tr4ixD1/VKD6rw3+WCvyS4GWK7knhiI1nZH3PI\n-----END CERTIFICATE REQUEST-----\n","state":"issued","auto_renew":false,"alternate_names":[],"authority_identifier":"letsencrypt","created_at":"2016-06-11T18:47:08Z","updated_at":"2016-06-11T18:47:37Z","expires_on":"2016-09-09"},{"id":2,"domain_id":10,"contact_id":3,"name":"www","common_name":"www.weppos.net","years":1,"csr":"-----BEGIN CERTIFICATE REQUEST-----\nMIICljCCAX4CAQAwGTEXMBUGA1UEAwwOd3d3LndlcHBvcy5uZXQwggEiMA0GCSqG\nSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDEhv18Sz4nQtjCDseXREuFIZW88yK7M5gM\nw2WuVmxTfn3MGprPtIevPJ0gzR4foMpnOKjR/wW8DpbvvNPNo5FAsYf+mr84rMft\nUjOQWfqcraWWHmss/Ytq45uTie8M1/C4Pr+FFfbOwwWz/DqVao5RQ34q+LIPpV62\nwRkg0m14FqT8gjNNM0XAsrfT7M+kvfsS+FbyJ7G9K0tj3wgqaEuKAQtJn7MPflM8\nfG0TqLJ+NSuI/Zfmtol3XzBD/AoViu0F8Sqp5OR8Ej4ZdmbKR+om+U+MX9LwF8MD\nwCtMAIaGF4JkgrpiGrbAKIpXwkuxJ8wWrkwhxu18z/OhJEBW+wFjAgMBAAGgODA2\nBgkqhkiG9w0BCQ4xKTAnMCUGA1UdEQQeMByCDnd3dy53ZXBwb3MubmV0ggp3ZXBw\nb3MubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQBuDDwhTjU7pAGHU1dUthfznvFqjY2I\n7CNEaUSxlXdxyZs34cwx28F7iMDE8Gh7B3QkuS3c2CTtAQsxnWKebgLYJ8w8XLN1\n9mZtNhT8yXKzLDfC9KuzKw467sbxYf8bLsuyFdQ8sBNp+8es9OwVgYsPwZ4NBtOn\nQlwtBBBdxrF5zCQgQXZsFmymf/o4nLU66ouW1MVjoG608dthoBYiIIiPRx3c+Rjd\ni8JHn2qIKF7AJfJy/H8TLgtE1bt08tfDA9ztuX2zb/lvXrVu4aLBjOF+Fn3b+EqX\n6gR0m+Id0b3t3ORN1QU0SBiyrXXJbo6E+cpYKeWlnkf0000000000000\n-----END CERTIFICATE REQUEST-----\n","state":"issued","auto_renew":false,"alternate_names":[],"authority_identifier":"letsencrypt","created_at":"2016-05-25T15:56:06Z","updated_at":"2016-05-25T17:10:39Z","expires_on":null}],"pagination":{"current_page":1,"per_page":30,"total_entries":2,"total_pages":1}}
@@ -0,0 +1,21 @@
1
+ HTTP/1.1 201 Created
2
+ Server: nginx
3
+ Date: Wed, 18 Oct 2017 15:40:32 GMT
4
+ Content-Type: application/json; charset=utf-8
5
+ Transfer-Encoding: chunked
6
+ Connection: keep-alive
7
+ X-RateLimit-Limit: 2400
8
+ X-RateLimit-Remaining: 2399
9
+ X-RateLimit-Reset: 1508344832
10
+ ETag: W/"88b289ef19331082113a0c9cb32376da"
11
+ Cache-Control: max-age=0, private, must-revalidate
12
+ X-Request-Id: 119f2d5b-2521-49ec-804d-715a10eeabc6
13
+ X-Runtime: 0.095302
14
+ X-Content-Type-Options: nosniff
15
+ X-Download-Options: noopen
16
+ X-Frame-Options: DENY
17
+ X-Permitted-Cross-Domain-Policies: none
18
+ X-XSS-Protection: 1; mode=block
19
+ Strict-Transport-Security: max-age=31536000
20
+
21
+ {"data":{"id":300,"certificate_id":300,"state":"requesting","auto_renew":false,"created_at":"2017-10-19T08:18:53Z","updated_at":"2017-10-19T08:22:17Z","expires_on":null}}
@@ -0,0 +1,21 @@
1
+ HTTP/1.1 201 Created
2
+ Server: nginx
3
+ Date: Thu, 19 Oct 2017 08:18:53 GMT
4
+ Content-Type: application/json; charset=utf-8
5
+ Transfer-Encoding: chunked
6
+ Connection: keep-alive
7
+ X-RateLimit-Limit: 2400
8
+ X-RateLimit-Remaining: 2399
9
+ X-RateLimit-Reset: 1508404733
10
+ ETag: W/"bda500d2cac6b1c4903e77e8113e9cdf"
11
+ Cache-Control: max-age=0, private, must-revalidate
12
+ X-Request-Id: 64115047-ced5-40d1-b673-e2fc51ad7587
13
+ X-Runtime: 0.072374
14
+ X-Content-Type-Options: nosniff
15
+ X-Download-Options: noopen
16
+ X-Frame-Options: DENY
17
+ X-Permitted-Cross-Domain-Policies: none
18
+ X-XSS-Protection: 1; mode=block
19
+ Strict-Transport-Security: max-age=31536000
20
+
21
+ {"data":{"id":999,"old_certificate_id":200,"new_certificate_id":300,"state":"new","auto_renew":false,"created_at":"2017-10-19T08:18:53Z","updated_at":"2017-10-19T08:18:53Z"}}
@@ -13,4 +13,4 @@ X-Request-Id: 15a7f3a5-7ee5-4e36-ac5a-8c21c2e1fffd
13
13
  X-Runtime: 0.141588
14
14
  Strict-Transport-Security: max-age=31536000
15
15
 
16
- {"data":{"user":null,"account":{"id":1,"email":"example-account@example.com"}}}
16
+ {"data":{"user":null,"account":{"id":1,"email":"example-account@example.com","plan_identifier":"dnsimple-professional","created_at":"2015-09-18T23:04:37Z","updated_at":"2016-06-09T20:03:39Z"}}}
@@ -13,4 +13,4 @@ X-Request-Id: 15a7f3a5-7ee5-4e36-ac5a-8c21c2e1fffd
13
13
  X-Runtime: 0.141588
14
14
  Strict-Transport-Security: max-age=31536000
15
15
 
16
- {"data":{"user":{"id":1,"email":"example-user@example.com"},"account":null}}
16
+ {"data":{"user":{"id":1,"email":"example-user@example.com","created_at":"2015-09-18T23:04:37Z","updated_at":"2016-06-09T20:03:39Z"},"account":null}}
@@ -13,4 +13,4 @@ X-Request-Id: 15a7f3a5-7ee5-4e36-ac5a-8c21c2e1fffd
13
13
  X-Runtime: 0.141588
14
14
  Strict-Transport-Security: max-age=31536000
15
15
 
16
- {"data":{"user":null,"account":{"id":1,"email":"example-account@example.com"}}}
16
+ {"data":{"user":null,"account":{"id":1,"email":"example-account@example.com","plan_identifier":"dnsimple-professional","created_at":"2015-09-18T23:04:37Z","updated_at":"2016-06-09T20:03:39Z"}}}
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dnsimple
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.3.0
4
+ version: 4.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anthony Eden
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2017-06-20 00:00:00.000000000 Z
14
+ date: 2018-01-23 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: httparty
@@ -146,6 +146,8 @@ files:
146
146
  - lib/dnsimple/struct/account.rb
147
147
  - lib/dnsimple/struct/certificate.rb
148
148
  - lib/dnsimple/struct/certificate_bundle.rb
149
+ - lib/dnsimple/struct/certificate_purchase.rb
150
+ - lib/dnsimple/struct/certificate_renewal.rb
149
151
  - lib/dnsimple/struct/collaborator.rb
150
152
  - lib/dnsimple/struct/contact.rb
151
153
  - lib/dnsimple/struct/delegation_signer_record.rb
@@ -210,6 +212,7 @@ files:
210
212
  - spec/fixtures.http/appliedServices/success.http
211
213
  - spec/fixtures.http/applyService/success.http
212
214
  - spec/fixtures.http/applyTemplate/success.http
215
+ - spec/fixtures.http/authorizeDomainTransferOut/success.http
213
216
  - spec/fixtures.http/badgateway.http
214
217
  - spec/fixtures.http/changeDomainDelegation/success.http
215
218
  - spec/fixtures.http/changeDomainDelegationFromVanity/success.http
@@ -268,6 +271,8 @@ files:
268
271
  - spec/fixtures.http/getZoneFile/success.http
269
272
  - spec/fixtures.http/getZoneRecord/success.http
270
273
  - spec/fixtures.http/initiatePush/success.http
274
+ - spec/fixtures.http/issueLetsencryptCertificate/success.http
275
+ - spec/fixtures.http/issueRenewalLetsencryptCertificate/success.http
271
276
  - spec/fixtures.http/listAccounts/success-account.http
272
277
  - spec/fixtures.http/listAccounts/success-user.http
273
278
  - spec/fixtures.http/listCertificates/success.http
@@ -302,6 +307,8 @@ files:
302
307
  - spec/fixtures.http/pages-1of3.http
303
308
  - spec/fixtures.http/pages-2of3.http
304
309
  - spec/fixtures.http/pages-3of3.http
310
+ - spec/fixtures.http/purchaseLetsencryptCertificate/success.http
311
+ - spec/fixtures.http/purchaseRenewalLetsencryptCertificate/success.http
305
312
  - spec/fixtures.http/registerDomain/success.http
306
313
  - spec/fixtures.http/rejectPush/success.http
307
314
  - spec/fixtures.http/removeCollaborator/success.http
@@ -313,7 +320,6 @@ files:
313
320
  - spec/fixtures.http/transferDomain/error-indnsimple.http
314
321
  - spec/fixtures.http/transferDomain/error-missing-authcode.http
315
322
  - spec/fixtures.http/transferDomain/success.http
316
- - spec/fixtures.http/transferDomainOut/success.http
317
323
  - spec/fixtures.http/unapplyService/success.http
318
324
  - spec/fixtures.http/updateContact/success.http
319
325
  - spec/fixtures.http/updateTemplate/success.http
@@ -344,7 +350,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
344
350
  version: '0'
345
351
  requirements: []
346
352
  rubyforge_project:
347
- rubygems_version: 2.6.10
353
+ rubygems_version: 2.6.13
348
354
  signing_key:
349
355
  specification_version: 4
350
356
  summary: The DNSimple API client for Ruby
@@ -387,6 +393,7 @@ test_files:
387
393
  - spec/fixtures.http/appliedServices/success.http
388
394
  - spec/fixtures.http/applyService/success.http
389
395
  - spec/fixtures.http/applyTemplate/success.http
396
+ - spec/fixtures.http/authorizeDomainTransferOut/success.http
390
397
  - spec/fixtures.http/badgateway.http
391
398
  - spec/fixtures.http/changeDomainDelegation/success.http
392
399
  - spec/fixtures.http/changeDomainDelegationFromVanity/success.http
@@ -445,6 +452,8 @@ test_files:
445
452
  - spec/fixtures.http/getZoneFile/success.http
446
453
  - spec/fixtures.http/getZoneRecord/success.http
447
454
  - spec/fixtures.http/initiatePush/success.http
455
+ - spec/fixtures.http/issueLetsencryptCertificate/success.http
456
+ - spec/fixtures.http/issueRenewalLetsencryptCertificate/success.http
448
457
  - spec/fixtures.http/listAccounts/success-account.http
449
458
  - spec/fixtures.http/listAccounts/success-user.http
450
459
  - spec/fixtures.http/listCertificates/success.http
@@ -479,6 +488,8 @@ test_files:
479
488
  - spec/fixtures.http/pages-1of3.http
480
489
  - spec/fixtures.http/pages-2of3.http
481
490
  - spec/fixtures.http/pages-3of3.http
491
+ - spec/fixtures.http/purchaseLetsencryptCertificate/success.http
492
+ - spec/fixtures.http/purchaseRenewalLetsencryptCertificate/success.http
482
493
  - spec/fixtures.http/registerDomain/success.http
483
494
  - spec/fixtures.http/rejectPush/success.http
484
495
  - spec/fixtures.http/removeCollaborator/success.http
@@ -490,7 +501,6 @@ test_files:
490
501
  - spec/fixtures.http/transferDomain/error-indnsimple.http
491
502
  - spec/fixtures.http/transferDomain/error-missing-authcode.http
492
503
  - spec/fixtures.http/transferDomain/success.http
493
- - spec/fixtures.http/transferDomainOut/success.http
494
504
  - spec/fixtures.http/unapplyService/success.http
495
505
  - spec/fixtures.http/updateContact/success.http
496
506
  - spec/fixtures.http/updateTemplate/success.http