dnsimple 4.2.0 → 4.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 (38) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop_dnsimple.yml +128 -74
  3. data/.travis.yml +2 -2
  4. data/CHANGELOG.md +9 -0
  5. data/LICENSE.txt +1 -1
  6. data/README.md +1 -1
  7. data/dnsimple.gemspec +2 -2
  8. data/lib/dnsimple/client/certificates.rb +24 -0
  9. data/lib/dnsimple/client/registrar.rb +4 -4
  10. data/lib/dnsimple/version.rb +1 -1
  11. data/spec/dnsimple/client/accounts_spec.rb +4 -4
  12. data/spec/dnsimple/client/certificates_spec.rb +43 -22
  13. data/spec/dnsimple/client/client_service_spec.rb +6 -6
  14. data/spec/dnsimple/client/collaborators_spec.rb +20 -20
  15. data/spec/dnsimple/client/contacts_spec.rb +30 -30
  16. data/spec/dnsimple/client/domains_delegation_signer_records_spec.rb +25 -25
  17. data/spec/dnsimple/client/domains_dnssec_spec.rb +18 -18
  18. data/spec/dnsimple/client/domains_email_forwards_spec.rb +25 -25
  19. data/spec/dnsimple/client/domains_pushes_spec.rb +22 -22
  20. data/spec/dnsimple/client/domains_spec.rb +27 -27
  21. data/spec/dnsimple/client/identity_spec.rb +8 -8
  22. data/spec/dnsimple/client/oauth_spec.rb +8 -8
  23. data/spec/dnsimple/client/registrar_auto_renewal_spec.rb +12 -12
  24. data/spec/dnsimple/client/registrar_delegation_spec.rb +18 -18
  25. data/spec/dnsimple/client/registrar_spec.rb +37 -37
  26. data/spec/dnsimple/client/registrar_whois_privacy_spec.rb +16 -16
  27. data/spec/dnsimple/client/services_domains_spec.rb +13 -13
  28. data/spec/dnsimple/client/services_spec.rb +10 -10
  29. data/spec/dnsimple/client/templates_domains_spec.rb +4 -4
  30. data/spec/dnsimple/client/templates_records_spec.rb +25 -25
  31. data/spec/dnsimple/client/templates_spec.rb +26 -26
  32. data/spec/dnsimple/client/tlds_spec.rb +16 -16
  33. data/spec/dnsimple/client/vanity_name_servers_spec.rb +8 -8
  34. data/spec/dnsimple/client/webhooks_spec.rb +21 -21
  35. data/spec/dnsimple/client/zones_records_spec.rb +40 -40
  36. data/spec/dnsimple/client/zones_spec.rb +18 -18
  37. data/spec/dnsimple/client_spec.rb +25 -25
  38. metadata +3 -5
@@ -10,15 +10,15 @@ describe Dnsimple::Client, ".zones" do
10
10
  let(:zone_id) { "example.com" }
11
11
 
12
12
  before do
13
- stub_request(:get, %r{/v2/#{account_id}/zones/#{zone_id}/records}).
14
- to_return(read_http_fixture("listZoneRecords/success.http"))
13
+ stub_request(:get, %r{/v2/#{account_id}/zones/#{zone_id}/records})
14
+ .to_return(read_http_fixture("listZoneRecords/success.http"))
15
15
  end
16
16
 
17
17
  it "builds the correct request" do
18
18
  subject.records(account_id, zone_id)
19
19
 
20
- expect(WebMock).to have_requested(:get, "https://api.dnsimple.test/v2/#{account_id}/zones/#{zone_id}/records").
21
- with(headers: { 'Accept' => 'application/json' })
20
+ expect(WebMock).to have_requested(:get, "https://api.dnsimple.test/v2/#{account_id}/zones/#{zone_id}/records")
21
+ .with(headers: { 'Accept' => 'application/json' })
22
22
  end
23
23
 
24
24
  it "supports pagination" do
@@ -71,8 +71,8 @@ describe Dnsimple::Client, ".zones" do
71
71
 
72
72
  context "when the zone does not exist" do
73
73
  it "raises NotFoundError" do
74
- stub_request(:get, %r{/v2}).
75
- to_return(read_http_fixture("notfound-zone.http"))
74
+ stub_request(:get, %r{/v2})
75
+ .to_return(read_http_fixture("notfound-zone.http"))
76
76
 
77
77
  expect {
78
78
  subject.records(account_id, zone_id)
@@ -83,8 +83,8 @@ describe Dnsimple::Client, ".zones" do
83
83
 
84
84
  describe "#all_records" do
85
85
  before do
86
- stub_request(:get, %r{/v2/#{account_id}/zones/#{zone_id}/records}).
87
- to_return(read_http_fixture("listZoneRecords/success.http"))
86
+ stub_request(:get, %r{/v2/#{account_id}/zones/#{zone_id}/records})
87
+ .to_return(read_http_fixture("listZoneRecords/success.http"))
88
88
  end
89
89
 
90
90
  let(:account_id) { 1010 }
@@ -113,8 +113,8 @@ describe Dnsimple::Client, ".zones" do
113
113
  let(:zone_id) { "example.com" }
114
114
 
115
115
  before do
116
- stub_request(:post, %r{/v2/#{account_id}/zones/#{zone_id}/records$}).
117
- to_return(read_http_fixture("createZoneRecord/created.http"))
116
+ stub_request(:post, %r{/v2/#{account_id}/zones/#{zone_id}/records$})
117
+ .to_return(read_http_fixture("createZoneRecord/created.http"))
118
118
  end
119
119
 
120
120
  let(:attributes) { { type: "A", name: "www", content: "127.0.0.1", regions: %w(global) } }
@@ -122,9 +122,9 @@ describe Dnsimple::Client, ".zones" do
122
122
  it "builds the correct request" do
123
123
  subject.create_record(account_id, zone_id, attributes)
124
124
 
125
- expect(WebMock).to have_requested(:post, "https://api.dnsimple.test/v2/#{account_id}/zones/#{zone_id}/records").
126
- with(body: attributes).
127
- with(headers: { 'Accept' => 'application/json' })
125
+ expect(WebMock).to have_requested(:post, "https://api.dnsimple.test/v2/#{account_id}/zones/#{zone_id}/records")
126
+ .with(body: attributes)
127
+ .with(headers: { 'Accept' => 'application/json' })
128
128
  end
129
129
 
130
130
  it "returns the record" do
@@ -142,8 +142,8 @@ describe Dnsimple::Client, ".zones" do
142
142
 
143
143
  context "when the zone does not exist" do
144
144
  it "raises NotFoundError" do
145
- stub_request(:post, %r{/v2}).
146
- to_return(read_http_fixture("notfound-zone.http"))
145
+ stub_request(:post, %r{/v2})
146
+ .to_return(read_http_fixture("notfound-zone.http"))
147
147
 
148
148
  expect {
149
149
  subject.create_record(account_id, zone_id, attributes)
@@ -158,15 +158,15 @@ describe Dnsimple::Client, ".zones" do
158
158
  let(:record_id) { 5 }
159
159
 
160
160
  before do
161
- stub_request(:get, %r{/v2/#{account_id}/zones/#{zone_id}/records/.+$}).
162
- to_return(read_http_fixture("getZoneRecord/success.http"))
161
+ stub_request(:get, %r{/v2/#{account_id}/zones/#{zone_id}/records/.+$})
162
+ .to_return(read_http_fixture("getZoneRecord/success.http"))
163
163
  end
164
164
 
165
165
  it "builds the correct request" do
166
166
  subject.record(account_id, zone_id, record_id)
167
167
 
168
- expect(WebMock).to have_requested(:get, "https://api.dnsimple.test/v2/#{account_id}/zones/#{zone_id}/records/#{record_id}").
169
- with(headers: { 'Accept' => 'application/json' })
168
+ expect(WebMock).to have_requested(:get, "https://api.dnsimple.test/v2/#{account_id}/zones/#{zone_id}/records/#{record_id}")
169
+ .with(headers: { 'Accept' => 'application/json' })
170
170
  end
171
171
 
172
172
  it "returns the record" do
@@ -191,8 +191,8 @@ describe Dnsimple::Client, ".zones" do
191
191
 
192
192
  context "when the zone does not exist" do
193
193
  it "raises NotFoundError" do
194
- stub_request(:get, %r{/v2}).
195
- to_return(read_http_fixture("notfound-zone.http"))
194
+ stub_request(:get, %r{/v2})
195
+ .to_return(read_http_fixture("notfound-zone.http"))
196
196
 
197
197
  expect {
198
198
  subject.record(account_id, zone_id, "0")
@@ -202,8 +202,8 @@ describe Dnsimple::Client, ".zones" do
202
202
 
203
203
  context "when the record does not exist" do
204
204
  it "raises NotFoundError" do
205
- stub_request(:get, %r{/v2}).
206
- to_return(read_http_fixture("notfound-record.http"))
205
+ stub_request(:get, %r{/v2})
206
+ .to_return(read_http_fixture("notfound-record.http"))
207
207
 
208
208
  expect {
209
209
  subject.record(account_id, zone_id, "0")
@@ -218,8 +218,8 @@ describe Dnsimple::Client, ".zones" do
218
218
  let(:record_id) { 5 }
219
219
 
220
220
  before do
221
- stub_request(:patch, %r{/v2/#{account_id}/zones/#{zone_id}/records/.+$}).
222
- to_return(read_http_fixture("updateZoneRecord/success.http"))
221
+ stub_request(:patch, %r{/v2/#{account_id}/zones/#{zone_id}/records/.+$})
222
+ .to_return(read_http_fixture("updateZoneRecord/success.http"))
223
223
  end
224
224
 
225
225
  let(:attributes) { { content: "mxb.example.com", priority: "20", regions: ['global'] } }
@@ -227,9 +227,9 @@ describe Dnsimple::Client, ".zones" do
227
227
  it "builds the correct request" do
228
228
  subject.update_record(account_id, zone_id, record_id, attributes)
229
229
 
230
- expect(WebMock).to have_requested(:patch, "https://api.dnsimple.test/v2/#{account_id}/zones/#{zone_id}/records/#{record_id}").
231
- with(body: attributes).
232
- with(headers: { 'Accept' => 'application/json' })
230
+ expect(WebMock).to have_requested(:patch, "https://api.dnsimple.test/v2/#{account_id}/zones/#{zone_id}/records/#{record_id}")
231
+ .with(body: attributes)
232
+ .with(headers: { 'Accept' => 'application/json' })
233
233
  end
234
234
 
235
235
  it "returns the record" do
@@ -246,8 +246,8 @@ describe Dnsimple::Client, ".zones" do
246
246
 
247
247
  context "when the zone does not exist" do
248
248
  it "raises NotFoundError" do
249
- stub_request(:patch, %r{/v2}).
250
- to_return(read_http_fixture("notfound-zone.http"))
249
+ stub_request(:patch, %r{/v2})
250
+ .to_return(read_http_fixture("notfound-zone.http"))
251
251
 
252
252
  expect {
253
253
  subject.update_record(account_id, zone_id, "0", {})
@@ -257,8 +257,8 @@ describe Dnsimple::Client, ".zones" do
257
257
 
258
258
  context "when the record does not exist" do
259
259
  it "raises NotFoundError" do
260
- stub_request(:patch, %r{/v2}).
261
- to_return(read_http_fixture("notfound-record.http"))
260
+ stub_request(:patch, %r{/v2})
261
+ .to_return(read_http_fixture("notfound-record.http"))
262
262
 
263
263
  expect {
264
264
  subject.update_record(account_id, zone_id, "0", {})
@@ -272,15 +272,15 @@ describe Dnsimple::Client, ".zones" do
272
272
  let(:zone_id) { "example.com" }
273
273
 
274
274
  before do
275
- stub_request(:delete, %r{/v2/#{account_id}/zones/#{zone_id}/records/.+$}).
276
- to_return(read_http_fixture("deleteZoneRecord/success.http"))
275
+ stub_request(:delete, %r{/v2/#{account_id}/zones/#{zone_id}/records/.+$})
276
+ .to_return(read_http_fixture("deleteZoneRecord/success.http"))
277
277
  end
278
278
 
279
279
  it "builds the correct request" do
280
280
  subject.delete_record(account_id, zone_id, record_id = 2)
281
281
 
282
- expect(WebMock).to have_requested(:delete, "https://api.dnsimple.test/v2/#{account_id}/zones/#{zone_id}/records/#{record_id}").
283
- with(headers: { 'Accept' => 'application/json' })
282
+ expect(WebMock).to have_requested(:delete, "https://api.dnsimple.test/v2/#{account_id}/zones/#{zone_id}/records/#{record_id}")
283
+ .with(headers: { 'Accept' => 'application/json' })
284
284
  end
285
285
 
286
286
  it "returns nothing" do
@@ -293,8 +293,8 @@ describe Dnsimple::Client, ".zones" do
293
293
 
294
294
  context "when the zone does not exist" do
295
295
  it "raises NotFoundError" do
296
- stub_request(:delete, %r{/v2}).
297
- to_return(read_http_fixture("notfound-zone.http"))
296
+ stub_request(:delete, %r{/v2})
297
+ .to_return(read_http_fixture("notfound-zone.http"))
298
298
 
299
299
  expect {
300
300
  subject.delete_record(account_id, zone_id, "0")
@@ -304,8 +304,8 @@ describe Dnsimple::Client, ".zones" do
304
304
 
305
305
  context "when the record does not exist" do
306
306
  it "raises NotFoundError" do
307
- stub_request(:delete, %r{/v2}).
308
- to_return(read_http_fixture("notfound-record.http"))
307
+ stub_request(:delete, %r{/v2})
308
+ .to_return(read_http_fixture("notfound-record.http"))
309
309
 
310
310
  expect {
311
311
  subject.delete_record(account_id, zone_id, "0")
@@ -9,15 +9,15 @@ describe Dnsimple::Client, ".zones" do
9
9
  let(:account_id) { 1010 }
10
10
 
11
11
  before do
12
- stub_request(:get, %r{/v2/#{account_id}/zones}).
13
- to_return(read_http_fixture("listZones/success.http"))
12
+ stub_request(:get, %r{/v2/#{account_id}/zones})
13
+ .to_return(read_http_fixture("listZones/success.http"))
14
14
  end
15
15
 
16
16
  it "builds the correct request" do
17
17
  subject.zones(account_id)
18
18
 
19
- expect(WebMock).to have_requested(:get, "https://api.dnsimple.test/v2/#{account_id}/zones").
20
- with(headers: { 'Accept' => 'application/json' })
19
+ expect(WebMock).to have_requested(:get, "https://api.dnsimple.test/v2/#{account_id}/zones")
20
+ .with(headers: { 'Accept' => 'application/json' })
21
21
  end
22
22
 
23
23
  it "supports pagination" do
@@ -70,8 +70,8 @@ describe Dnsimple::Client, ".zones" do
70
70
 
71
71
  describe "#all_zones" do
72
72
  before do
73
- stub_request(:get, %r{/v2/#{account_id}/zones}).
74
- to_return(read_http_fixture("listZones/success.http"))
73
+ stub_request(:get, %r{/v2/#{account_id}/zones})
74
+ .to_return(read_http_fixture("listZones/success.http"))
75
75
  end
76
76
 
77
77
  let(:account_id) { 1010 }
@@ -98,15 +98,15 @@ describe Dnsimple::Client, ".zones" do
98
98
  let(:account_id) { 1010 }
99
99
 
100
100
  before do
101
- stub_request(:get, %r{/v2/#{account_id}/zones/.+$}).
102
- to_return(read_http_fixture("getZone/success.http"))
101
+ stub_request(:get, %r{/v2/#{account_id}/zones/.+$})
102
+ .to_return(read_http_fixture("getZone/success.http"))
103
103
  end
104
104
 
105
105
  it "builds the correct request" do
106
106
  subject.zone(account_id, zone = "example.com")
107
107
 
108
- expect(WebMock).to have_requested(:get, "https://api.dnsimple.test/v2/#{account_id}/zones/#{zone}").
109
- with(headers: { 'Accept' => 'application/json' })
108
+ expect(WebMock).to have_requested(:get, "https://api.dnsimple.test/v2/#{account_id}/zones/#{zone}")
109
+ .with(headers: { 'Accept' => 'application/json' })
110
110
  end
111
111
 
112
112
  it "returns the zone" do
@@ -125,8 +125,8 @@ describe Dnsimple::Client, ".zones" do
125
125
 
126
126
  context "when the zone does not exist" do
127
127
  it "raises NotFoundError" do
128
- stub_request(:get, %r{/v2}).
129
- to_return(read_http_fixture("notfound-zone.http"))
128
+ stub_request(:get, %r{/v2})
129
+ .to_return(read_http_fixture("notfound-zone.http"))
130
130
 
131
131
  expect {
132
132
  subject.zone(account_id, "example.com")
@@ -139,15 +139,15 @@ describe Dnsimple::Client, ".zones" do
139
139
  let(:account_id) { 1010 }
140
140
 
141
141
  before do
142
- stub_request(:get, %r{/v2/#{account_id}/zones/.+$}).
143
- to_return(read_http_fixture("getZoneFile/success.http"))
142
+ stub_request(:get, %r{/v2/#{account_id}/zones/.+$})
143
+ .to_return(read_http_fixture("getZoneFile/success.http"))
144
144
  end
145
145
 
146
146
  it "builds the correct request" do
147
147
  subject.zone_file(account_id, zone = "example.com")
148
148
 
149
- expect(WebMock).to have_requested(:get, "https://api.dnsimple.test/v2/#{account_id}/zones/#{zone}/file").
150
- with(headers: { 'Accept' => 'application/json' })
149
+ expect(WebMock).to have_requested(:get, "https://api.dnsimple.test/v2/#{account_id}/zones/#{zone}/file")
150
+ .with(headers: { 'Accept' => 'application/json' })
151
151
  end
152
152
 
153
153
  it "returns the zone id" do
@@ -161,8 +161,8 @@ describe Dnsimple::Client, ".zones" do
161
161
 
162
162
  context "when the zone file does not exist" do
163
163
  it "raises NotFoundError" do
164
- stub_request(:get, %r{/v2}).
165
- to_return(read_http_fixture("notfound-zone.http"))
164
+ stub_request(:get, %r{/v2})
165
+ .to_return(read_http_fixture("notfound-zone.http"))
166
166
 
167
167
  expect {
168
168
  subject.zone_file(account_id, "example.com")
@@ -40,8 +40,8 @@ describe Dnsimple::Client do
40
40
  subject = described_class.new(access_token: "access-token")
41
41
  subject.execute(:get, "test", {})
42
42
 
43
- expect(WebMock).to have_requested(:get, "https://api.dnsimple.com/test").
44
- with { |req| req.headers["Authorization"] == "Bearer access-token" }
43
+ expect(WebMock).to(have_requested(:get, "https://api.dnsimple.com/test")
44
+ .with { |req| req.headers["Authorization"] == "Bearer access-token" })
45
45
  end
46
46
  end
47
47
 
@@ -116,78 +116,78 @@ describe Dnsimple::Client do
116
116
 
117
117
  subject.request(:get, 'foo', {})
118
118
 
119
- expect(WebMock).to have_requested(:get, "https://api.dnsimple.com/foo").
120
- with(basic_auth: %w(user pass),
121
- headers: { 'Accept' => 'application/json', 'User-Agent' => Dnsimple::Default::USER_AGENT })
119
+ expect(WebMock).to have_requested(:get, "https://api.dnsimple.com/foo")
120
+ .with(basic_auth: %w(user pass),
121
+ headers: { 'Accept' => 'application/json', 'User-Agent' => Dnsimple::Default::USER_AGENT })
122
122
  end
123
123
 
124
124
  it "delegates to HTTParty" do
125
125
  stub_request(:get, %r{/foo})
126
126
 
127
- expect(HTTParty).to receive(:get).
128
- with(
127
+ expect(HTTParty).to receive(:get)
128
+ .with(
129
129
  "#{subject.base_url}foo",
130
130
  format: :json,
131
131
  basic_auth: { username: "user", password: "pass" },
132
132
  headers: { 'Accept' => 'application/json', 'User-Agent' => Dnsimple::Default::USER_AGENT }
133
- ).
134
- and_return(double('response', code: 200))
133
+ )
134
+ .and_return(double('response', code: 200))
135
135
 
136
136
  subject.request(:get, 'foo')
137
137
  end
138
138
 
139
139
  it "properly extracts processes options and encodes data" do
140
- expect(HTTParty).to receive(:put).
141
- with(
140
+ expect(HTTParty).to receive(:put)
141
+ .with(
142
142
  "#{subject.base_url}foo",
143
143
  format: :json,
144
144
  body: JSON.dump(something: "else"),
145
145
  query: { foo: "bar" },
146
146
  basic_auth: { username: "user", password: "pass" },
147
147
  headers: { 'Accept' => 'application/json', 'Content-Type' => 'application/json', 'User-Agent' => Dnsimple::Default::USER_AGENT, "Custom" => "Header" }
148
- ).
149
- and_return(double('response', code: 200))
148
+ )
149
+ .and_return(double('response', code: 200))
150
150
 
151
151
  subject.request(:put, 'foo', { something: "else" }, { query: { foo: "bar" }, headers: { "Custom" => "Header" } })
152
152
  end
153
153
 
154
154
  it "handles non application/json content types" do
155
- expect(HTTParty).to receive(:post).
156
- with(
155
+ expect(HTTParty).to receive(:post)
156
+ .with(
157
157
  "#{subject.base_url}foo",
158
158
  format: :json,
159
159
  body: { something: "else" },
160
160
  basic_auth: { username: "user", password: "pass" },
161
161
  headers: { 'Accept' => 'application/json', 'Content-Type' => 'application/x-www-form-urlencoded', 'User-Agent' => Dnsimple::Default::USER_AGENT }
162
- ).
163
- and_return(double('response', code: 200))
162
+ )
163
+ .and_return(double('response', code: 200))
164
164
 
165
165
  subject.request(:post, 'foo', { something: "else" }, { headers: { "Content-Type" => "application/x-www-form-urlencoded" } })
166
166
  end
167
167
 
168
168
  it "includes options for proxy support" do
169
- expect(HTTParty).to receive(:get).
170
- with(
169
+ expect(HTTParty).to receive(:get)
170
+ .with(
171
171
  "#{subject.base_url}test",
172
172
  format: :json,
173
173
  http_proxyaddr: "example-proxy.com",
174
174
  http_proxyport: "4321",
175
175
  headers: { 'Accept' => 'application/json', 'User-Agent' => Dnsimple::Default::USER_AGENT }
176
- ).
177
- and_return(double('response', code: 200))
176
+ )
177
+ .and_return(double('response', code: 200))
178
178
 
179
179
  subject = described_class.new(proxy: "example-proxy.com:4321")
180
180
  subject.request(:get, "test", nil, {})
181
181
  end
182
182
 
183
183
  it "supports custom user agent" do
184
- expect(HTTParty).to receive(:get).
185
- with(
184
+ expect(HTTParty).to receive(:get)
185
+ .with(
186
186
  "#{subject.base_url}test",
187
187
  format: :json,
188
188
  headers: hash_including("User-Agent" => "#{Dnsimple::Default::USER_AGENT} customAgent")
189
- ).
190
- and_return(double("response", code: 200))
189
+ )
190
+ .and_return(double("response", code: 200))
191
191
 
192
192
  subject = described_class.new(user_agent: "customAgent")
193
193
  subject.request(:get, "test", nil)
metadata CHANGED
@@ -1,18 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dnsimple
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.2.0
4
+ version: 4.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anthony Eden
8
8
  - Simone Carletti
9
9
  - Javier Acero
10
- - Joseph Caudle
11
10
  - Luca Guidi
12
11
  autorequire:
13
12
  bindir: bin
14
13
  cert_chain: []
15
- date: 2017-03-07 00:00:00.000000000 Z
14
+ date: 2017-06-20 00:00:00.000000000 Z
16
15
  dependencies:
17
16
  - !ruby/object:Gem::Dependency
18
17
  name: httparty
@@ -89,7 +88,6 @@ email:
89
88
  - anthony.eden@dnsimple.com
90
89
  - simone.carletti@dnsimple.com
91
90
  - javier.acero@dnsimple.com
92
- - joseph.caudle@dnsimple.com
93
91
  - luca.guidi@dnsimple.com
94
92
  executables: []
95
93
  extensions: []
@@ -346,7 +344,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
346
344
  version: '0'
347
345
  requirements: []
348
346
  rubyforge_project:
349
- rubygems_version: 2.6.8
347
+ rubygems_version: 2.6.10
350
348
  signing_key:
351
349
  specification_version: 4
352
350
  summary: The DNSimple API client for Ruby