gandi_v5 0.9.1 → 0.10.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 (49) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +18 -0
  3. data/README.md +10 -6
  4. data/lib/gandi_v5.rb +2 -0
  5. data/lib/gandi_v5/domain.rb +39 -1
  6. data/lib/gandi_v5/domain/transfer_in.rb +2 -0
  7. data/lib/gandi_v5/domain/web_forwarding.rb +182 -0
  8. data/lib/gandi_v5/email.rb +2 -0
  9. data/lib/gandi_v5/email/forward.rb +1 -1
  10. data/lib/gandi_v5/email/mailbox.rb +1 -1
  11. data/lib/gandi_v5/live_dns/domain/snapshot.rb +1 -1
  12. data/lib/gandi_v5/live_dns/domain/tsig_key.rb +1 -1
  13. data/lib/gandi_v5/simple_hosting/instance.rb +6 -0
  14. data/lib/gandi_v5/simple_hosting/instance/virtual_host.rb +87 -2
  15. data/lib/gandi_v5/simple_hosting/instance/virtual_host/linked_dns_zone.rb +1 -1
  16. data/lib/gandi_v5/template.rb +271 -0
  17. data/lib/gandi_v5/template/dispatch.rb +109 -0
  18. data/lib/gandi_v5/template/payload.rb +64 -0
  19. data/lib/gandi_v5/template/payload/dns_record.rb +23 -0
  20. data/lib/gandi_v5/template/payload/web_forwarding.rb +82 -0
  21. data/lib/gandi_v5/version.rb +1 -1
  22. data/spec/fixtures/bodies/GandiV5_Domain_WebForwarding/fetch.yml +9 -0
  23. data/spec/fixtures/bodies/GandiV5_Domain_WebForwarding/list.yml +9 -0
  24. data/spec/fixtures/bodies/GandiV5_Template/fetch.yml +41 -0
  25. data/spec/fixtures/bodies/GandiV5_Template/list.yml +20 -0
  26. data/spec/fixtures/bodies/GandiV5_Template_Dispatch/fetch.yml +49 -0
  27. data/spec/spec_helper.rb +8 -7
  28. data/spec/units/gandi_v5/domain/web_forwarding_spec.rb +150 -0
  29. data/spec/units/gandi_v5/domain_spec.rb +50 -0
  30. data/spec/units/gandi_v5/simple_hosting/instance/virtual_host_spec.rb +125 -0
  31. data/spec/units/gandi_v5/simple_hosting/instance_spec.rb +8 -0
  32. data/spec/units/gandi_v5/template/dispatch_spec.rb +70 -0
  33. data/spec/units/gandi_v5/template/payload/web_forwarding_spec.rb +44 -0
  34. data/spec/units/gandi_v5/template_spec.rb +341 -0
  35. data/spec/units/gandi_v5_spec.rb +1 -1
  36. metadata +73 -47
  37. data/spec/units/gandi_v5/billing/info_spec.rb +0 -4
  38. data/spec/units/gandi_v5/domain/availability/product/period_spec.rb +0 -4
  39. data/spec/units/gandi_v5/domain/availability/product/price_spec.rb +0 -4
  40. data/spec/units/gandi_v5/domain/availability/product_spec.rb +0 -4
  41. data/spec/units/gandi_v5/domain/availability/tax_spec.rb +0 -4
  42. data/spec/units/gandi_v5/domain/contract_spec.rb +0 -4
  43. data/spec/units/gandi_v5/domain/dates_spec.rb +0 -4
  44. data/spec/units/gandi_v5/domain/restore_information_spec.rb +0 -4
  45. data/spec/units/gandi_v5/error_spec.rb +0 -4
  46. data/spec/units/gandi_v5/sharing_space_spec.rb +0 -4
  47. data/spec/units/gandi_v5/simple_hosting/instance/database_spec.rb +0 -4
  48. data/spec/units/gandi_v5/simple_hosting/instance/language_spec.rb +0 -4
  49. data/spec/units/gandi_v5/simple_hosting/instance/upgrade_spec.rb +0 -4
@@ -246,7 +246,7 @@ describe GandiV5 do
246
246
 
247
247
  describe '.paginated_get' do
248
248
  let(:url) { "#{GandiV5::BASE}test/url" }
249
- let(:do_nothing) { ->(_this_data) { nil } }
249
+ let(:do_nothing) { ->(_this_data) {} }
250
250
 
251
251
  it 'Keeps fetching until getting a partial list' do
252
252
  headers1 = { params: { 'page' => 1, 'per_page' => 2 } }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gandi_v5
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Gauld
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-12-25 00:00:00.000000000 Z
11
+ date: 2021-01-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dotenv
@@ -58,20 +58,6 @@ dependencies:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
60
  version: '2.1'
61
- - !ruby/object:Gem::Dependency
62
- name: coveralls
63
- requirement: !ruby/object:Gem::Requirement
64
- requirements:
65
- - - "~>"
66
- - !ruby/object:Gem::Version
67
- version: '0.8'
68
- type: :development
69
- prerelease: false
70
- version_requirements: !ruby/object:Gem::Requirement
71
- requirements:
72
- - - "~>"
73
- - !ruby/object:Gem::Version
74
- version: '0.8'
75
61
  - !ruby/object:Gem::Dependency
76
62
  name: guard
77
63
  requirement: !ruby/object:Gem::Requirement
@@ -202,14 +188,14 @@ dependencies:
202
188
  requirements:
203
189
  - - "~>"
204
190
  - !ruby/object:Gem::Version
205
- version: '0.87'
191
+ version: '1.7'
206
192
  type: :development
207
193
  prerelease: false
208
194
  version_requirements: !ruby/object:Gem::Requirement
209
195
  requirements:
210
196
  - - "~>"
211
197
  - !ruby/object:Gem::Version
212
- version: '0.87'
198
+ version: '1.7'
213
199
  - !ruby/object:Gem::Dependency
214
200
  name: rubocop-performance
215
201
  requirement: !ruby/object:Gem::Requirement
@@ -224,20 +210,62 @@ dependencies:
224
210
  - - "~>"
225
211
  - !ruby/object:Gem::Version
226
212
  version: '1.7'
213
+ - !ruby/object:Gem::Dependency
214
+ name: rubocop-rake
215
+ requirement: !ruby/object:Gem::Requirement
216
+ requirements:
217
+ - - "~>"
218
+ - !ruby/object:Gem::Version
219
+ version: 0.5.1
220
+ type: :development
221
+ prerelease: false
222
+ version_requirements: !ruby/object:Gem::Requirement
223
+ requirements:
224
+ - - "~>"
225
+ - !ruby/object:Gem::Version
226
+ version: 0.5.1
227
+ - !ruby/object:Gem::Dependency
228
+ name: rubocop-rspec
229
+ requirement: !ruby/object:Gem::Requirement
230
+ requirements:
231
+ - - "~>"
232
+ - !ruby/object:Gem::Version
233
+ version: '2.1'
234
+ type: :development
235
+ prerelease: false
236
+ version_requirements: !ruby/object:Gem::Requirement
237
+ requirements:
238
+ - - "~>"
239
+ - !ruby/object:Gem::Version
240
+ version: '2.1'
227
241
  - !ruby/object:Gem::Dependency
228
242
  name: simplecov
229
243
  requirement: !ruby/object:Gem::Requirement
230
244
  requirements:
231
245
  - - "~>"
232
246
  - !ruby/object:Gem::Version
233
- version: '0.7'
247
+ version: '0.18'
234
248
  type: :development
235
249
  prerelease: false
236
250
  version_requirements: !ruby/object:Gem::Requirement
237
251
  requirements:
238
252
  - - "~>"
239
253
  - !ruby/object:Gem::Version
240
- version: '0.7'
254
+ version: '0.18'
255
+ - !ruby/object:Gem::Dependency
256
+ name: simplecov-lcov
257
+ requirement: !ruby/object:Gem::Requirement
258
+ requirements:
259
+ - - "~>"
260
+ - !ruby/object:Gem::Version
261
+ version: '0.8'
262
+ type: :development
263
+ prerelease: false
264
+ version_requirements: !ruby/object:Gem::Requirement
265
+ requirements:
266
+ - - "~>"
267
+ - !ruby/object:Gem::Version
268
+ version: '0.8'
241
269
  - !ruby/object:Gem::Dependency
242
270
  name: timecop
243
271
  requirement: !ruby/object:Gem::Requirement
@@ -319,6 +347,7 @@ files:
319
347
  - lib/gandi_v5/domain/tld.rb
320
348
  - lib/gandi_v5/domain/transfer_in.rb
321
349
  - lib/gandi_v5/domain/transfer_in/availability.rb
350
+ - lib/gandi_v5/domain/web_forwarding.rb
322
351
  - lib/gandi_v5/email.rb
323
352
  - lib/gandi_v5/email/forward.rb
324
353
  - lib/gandi_v5/email/mailbox.rb
@@ -344,6 +373,11 @@ files:
344
373
  - lib/gandi_v5/simple_hosting/instance/upgrade.rb
345
374
  - lib/gandi_v5/simple_hosting/instance/virtual_host.rb
346
375
  - lib/gandi_v5/simple_hosting/instance/virtual_host/linked_dns_zone.rb
376
+ - lib/gandi_v5/template.rb
377
+ - lib/gandi_v5/template/dispatch.rb
378
+ - lib/gandi_v5/template/payload.rb
379
+ - lib/gandi_v5/template/payload/dns_record.rb
380
+ - lib/gandi_v5/template/payload/web_forwarding.rb
347
381
  - lib/gandi_v5/version.rb
348
382
  - spec/.rubocop.yml
349
383
  - spec/features/list_domain_renewals_spec.rb
@@ -362,6 +396,8 @@ files:
362
396
  - spec/fixtures/bodies/GandiV5_Domain_TLD/list.yml
363
397
  - spec/fixtures/bodies/GandiV5_Domain_TransferIn/fetch.yml
364
398
  - spec/fixtures/bodies/GandiV5_Domain_TransferIn_Availability/fetch.yml
399
+ - spec/fixtures/bodies/GandiV5_Domain_WebForwarding/fetch.yml
400
+ - spec/fixtures/bodies/GandiV5_Domain_WebForwarding/list.yml
365
401
  - spec/fixtures/bodies/GandiV5_Email_Forward/list.yml
366
402
  - spec/fixtures/bodies/GandiV5_Email_Mailbox/fetch.yml
367
403
  - spec/fixtures/bodies/GandiV5_Email_Mailbox/list.yml
@@ -384,12 +420,14 @@ files:
384
420
  - spec/fixtures/bodies/GandiV5_SimpleHosting_Instance/list.yml
385
421
  - spec/fixtures/bodies/GandiV5_SimpleHosting_Instance_VirtualHost/fetch.yml
386
422
  - spec/fixtures/bodies/GandiV5_SimpleHosting_Instance_VirtualHost/list.yml
423
+ - spec/fixtures/bodies/GandiV5_Template/fetch.yml
424
+ - spec/fixtures/bodies/GandiV5_Template/list.yml
425
+ - spec/fixtures/bodies/GandiV5_Template_Dispatch/fetch.yml
387
426
  - spec/fixtures/vcr/Examples/List_domain_renewals.yml
388
427
  - spec/fixtures/vcr/Examples/List_email_addresses.yml
389
428
  - spec/spec_helper.rb
390
429
  - spec/test.env
391
430
  - spec/units/gandi_v5/billing/info/prepaid_spec.rb
392
- - spec/units/gandi_v5/billing/info_spec.rb
393
431
  - spec/units/gandi_v5/billing_spec.rb
394
432
  - spec/units/gandi_v5/data/converter/array_of_spec.rb
395
433
  - spec/units/gandi_v5/data/converter/integer_spec.rb
@@ -398,20 +436,14 @@ files:
398
436
  - spec/units/gandi_v5/data/converter_spec.rb
399
437
  - spec/units/gandi_v5/data_spec.rb
400
438
  - spec/units/gandi_v5/domain/auto_renew_spec.rb
401
- - spec/units/gandi_v5/domain/availability/product/period_spec.rb
402
- - spec/units/gandi_v5/domain/availability/product/price_spec.rb
403
- - spec/units/gandi_v5/domain/availability/product_spec.rb
404
- - spec/units/gandi_v5/domain/availability/tax_spec.rb
405
439
  - spec/units/gandi_v5/domain/availability_spec.rb
406
440
  - spec/units/gandi_v5/domain/contact_spec.rb
407
- - spec/units/gandi_v5/domain/contract_spec.rb
408
- - spec/units/gandi_v5/domain/dates_spec.rb
409
441
  - spec/units/gandi_v5/domain/live_dns_spec.rb
410
442
  - spec/units/gandi_v5/domain/renewal_information_spec.rb
411
- - spec/units/gandi_v5/domain/restore_information_spec.rb
412
443
  - spec/units/gandi_v5/domain/tld_spec.rb
413
444
  - spec/units/gandi_v5/domain/transfer_in/availability_spec.rb
414
445
  - spec/units/gandi_v5/domain/transfer_in_spec.rb
446
+ - spec/units/gandi_v5/domain/web_forwarding_spec.rb
415
447
  - spec/units/gandi_v5/domain_spec.rb
416
448
  - spec/units/gandi_v5/email/forward_spec.rb
417
449
  - spec/units/gandi_v5/email/mailbox/responder_spec.rb
@@ -419,7 +451,6 @@ files:
419
451
  - spec/units/gandi_v5/email/offer_spec.rb
420
452
  - spec/units/gandi_v5/email/slot_spec.rb
421
453
  - spec/units/gandi_v5/error/gandi_error_spec.rb
422
- - spec/units/gandi_v5/error_spec.rb
423
454
  - spec/units/gandi_v5/live_dns/domain/dnssec_key_spec.rb
424
455
  - spec/units/gandi_v5/live_dns/domain/record_spec.rb
425
456
  - spec/units/gandi_v5/live_dns/domain/snapshot_spec.rb
@@ -428,19 +459,18 @@ files:
428
459
  - spec/units/gandi_v5/live_dns_spec.rb
429
460
  - spec/units/gandi_v5/organization/customer_spec.rb
430
461
  - spec/units/gandi_v5/organization_spec.rb
431
- - spec/units/gandi_v5/sharing_space_spec.rb
432
462
  - spec/units/gandi_v5/simple_hosting/instance/application_spec.rb
433
- - spec/units/gandi_v5/simple_hosting/instance/database_spec.rb
434
- - spec/units/gandi_v5/simple_hosting/instance/language_spec.rb
435
- - spec/units/gandi_v5/simple_hosting/instance/upgrade_spec.rb
436
463
  - spec/units/gandi_v5/simple_hosting/instance/virtual_host/linked_dns_zone_spec.rb
437
464
  - spec/units/gandi_v5/simple_hosting/instance/virtual_host_spec.rb
438
465
  - spec/units/gandi_v5/simple_hosting/instance_spec.rb
439
466
  - spec/units/gandi_v5/simple_hosting_spec.rb
467
+ - spec/units/gandi_v5/template/dispatch_spec.rb
468
+ - spec/units/gandi_v5/template/payload/web_forwarding_spec.rb
469
+ - spec/units/gandi_v5/template_spec.rb
440
470
  - spec/units/gandi_v5_spec.rb
441
471
  homepage: https://github.com/robertgauld/gandi_v5
442
472
  licenses:
443
- - BSD 3 clause
473
+ - BSD-3-Clause
444
474
  metadata:
445
475
  bug_tracker_uri: https://github.com/robertgauld/gandi_v5/issues
446
476
  changelog_uri: https://github.com/robertgauld/gandi_v5/blob/main/CHANGELOG.md
@@ -491,6 +521,8 @@ test_files:
491
521
  - spec/fixtures/bodies/GandiV5_Domain_TLD/list.yml
492
522
  - spec/fixtures/bodies/GandiV5_Domain_TransferIn/fetch.yml
493
523
  - spec/fixtures/bodies/GandiV5_Domain_TransferIn_Availability/fetch.yml
524
+ - spec/fixtures/bodies/GandiV5_Domain_WebForwarding/fetch.yml
525
+ - spec/fixtures/bodies/GandiV5_Domain_WebForwarding/list.yml
494
526
  - spec/fixtures/bodies/GandiV5_Email_Forward/list.yml
495
527
  - spec/fixtures/bodies/GandiV5_Email_Mailbox/fetch.yml
496
528
  - spec/fixtures/bodies/GandiV5_Email_Mailbox/list.yml
@@ -513,12 +545,14 @@ test_files:
513
545
  - spec/fixtures/bodies/GandiV5_SimpleHosting_Instance/list.yml
514
546
  - spec/fixtures/bodies/GandiV5_SimpleHosting_Instance_VirtualHost/fetch.yml
515
547
  - spec/fixtures/bodies/GandiV5_SimpleHosting_Instance_VirtualHost/list.yml
548
+ - spec/fixtures/bodies/GandiV5_Template/fetch.yml
549
+ - spec/fixtures/bodies/GandiV5_Template/list.yml
550
+ - spec/fixtures/bodies/GandiV5_Template_Dispatch/fetch.yml
516
551
  - spec/fixtures/vcr/Examples/List_domain_renewals.yml
517
552
  - spec/fixtures/vcr/Examples/List_email_addresses.yml
518
553
  - spec/spec_helper.rb
519
554
  - spec/test.env
520
555
  - spec/units/gandi_v5/billing/info/prepaid_spec.rb
521
- - spec/units/gandi_v5/billing/info_spec.rb
522
556
  - spec/units/gandi_v5/billing_spec.rb
523
557
  - spec/units/gandi_v5/data/converter/array_of_spec.rb
524
558
  - spec/units/gandi_v5/data/converter/integer_spec.rb
@@ -527,20 +561,14 @@ test_files:
527
561
  - spec/units/gandi_v5/data/converter_spec.rb
528
562
  - spec/units/gandi_v5/data_spec.rb
529
563
  - spec/units/gandi_v5/domain/auto_renew_spec.rb
530
- - spec/units/gandi_v5/domain/availability/product/period_spec.rb
531
- - spec/units/gandi_v5/domain/availability/product/price_spec.rb
532
- - spec/units/gandi_v5/domain/availability/product_spec.rb
533
- - spec/units/gandi_v5/domain/availability/tax_spec.rb
534
564
  - spec/units/gandi_v5/domain/availability_spec.rb
535
565
  - spec/units/gandi_v5/domain/contact_spec.rb
536
- - spec/units/gandi_v5/domain/contract_spec.rb
537
- - spec/units/gandi_v5/domain/dates_spec.rb
538
566
  - spec/units/gandi_v5/domain/live_dns_spec.rb
539
567
  - spec/units/gandi_v5/domain/renewal_information_spec.rb
540
- - spec/units/gandi_v5/domain/restore_information_spec.rb
541
568
  - spec/units/gandi_v5/domain/tld_spec.rb
542
569
  - spec/units/gandi_v5/domain/transfer_in/availability_spec.rb
543
570
  - spec/units/gandi_v5/domain/transfer_in_spec.rb
571
+ - spec/units/gandi_v5/domain/web_forwarding_spec.rb
544
572
  - spec/units/gandi_v5/domain_spec.rb
545
573
  - spec/units/gandi_v5/email/forward_spec.rb
546
574
  - spec/units/gandi_v5/email/mailbox/responder_spec.rb
@@ -548,7 +576,6 @@ test_files:
548
576
  - spec/units/gandi_v5/email/offer_spec.rb
549
577
  - spec/units/gandi_v5/email/slot_spec.rb
550
578
  - spec/units/gandi_v5/error/gandi_error_spec.rb
551
- - spec/units/gandi_v5/error_spec.rb
552
579
  - spec/units/gandi_v5/live_dns/domain/dnssec_key_spec.rb
553
580
  - spec/units/gandi_v5/live_dns/domain/record_spec.rb
554
581
  - spec/units/gandi_v5/live_dns/domain/snapshot_spec.rb
@@ -557,13 +584,12 @@ test_files:
557
584
  - spec/units/gandi_v5/live_dns_spec.rb
558
585
  - spec/units/gandi_v5/organization/customer_spec.rb
559
586
  - spec/units/gandi_v5/organization_spec.rb
560
- - spec/units/gandi_v5/sharing_space_spec.rb
561
587
  - spec/units/gandi_v5/simple_hosting/instance/application_spec.rb
562
- - spec/units/gandi_v5/simple_hosting/instance/database_spec.rb
563
- - spec/units/gandi_v5/simple_hosting/instance/language_spec.rb
564
- - spec/units/gandi_v5/simple_hosting/instance/upgrade_spec.rb
565
588
  - spec/units/gandi_v5/simple_hosting/instance/virtual_host/linked_dns_zone_spec.rb
566
589
  - spec/units/gandi_v5/simple_hosting/instance/virtual_host_spec.rb
567
590
  - spec/units/gandi_v5/simple_hosting/instance_spec.rb
568
591
  - spec/units/gandi_v5/simple_hosting_spec.rb
592
+ - spec/units/gandi_v5/template/dispatch_spec.rb
593
+ - spec/units/gandi_v5/template/payload/web_forwarding_spec.rb
594
+ - spec/units/gandi_v5/template_spec.rb
569
595
  - spec/units/gandi_v5_spec.rb
@@ -1,4 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe GandiV5::Billing::Info do
4
- end
@@ -1,4 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe GandiV5::Domain::Availability::Product::Period do
4
- end
@@ -1,4 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe GandiV5::Domain::Availability::Product::Price do
4
- end
@@ -1,4 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe GandiV5::Domain::Availability::Product do
4
- end
@@ -1,4 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe GandiV5::Domain::Availability::Tax do
4
- end
@@ -1,4 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe GandiV5::Domain::Contract do
4
- end
@@ -1,4 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe GandiV5::Domain::Dates do
4
- end
@@ -1,4 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe GandiV5::Domain::RestoreInformation do
4
- end
@@ -1,4 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe GandiV5::Error::GandiError do
4
- end
@@ -1,4 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe GandiV5::SharingSpace do
4
- end
@@ -1,4 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe GandiV5::SimpleHosting::Instance::Database do
4
- end
@@ -1,4 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe GandiV5::SimpleHosting::Instance::Language do
4
- end
@@ -1,4 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe GandiV5::SimpleHosting::Instance::Upgrade do
4
- end