gandi_v5 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (107) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +1 -1
  3. data/.travis.yml +1 -0
  4. data/CHANGELOG.md +44 -2
  5. data/Guardfile +5 -6
  6. data/README.md +5 -5
  7. data/doc/GandiV5/Billing/Info/Prepaid.html +817 -0
  8. data/doc/GandiV5/Billing/Info.html +641 -0
  9. data/doc/GandiV5/Billing.html +293 -0
  10. data/doc/GandiV5/Data/ClassMethods.html +223 -0
  11. data/doc/GandiV5/Data/Converter/ArrayOf.html +413 -0
  12. data/doc/GandiV5/Data/Converter/Symbol.html +322 -0
  13. data/doc/GandiV5/Data/Converter/Time.html +330 -0
  14. data/doc/GandiV5/Data/Converter.html +433 -0
  15. data/doc/GandiV5/Data.html +785 -0
  16. data/doc/GandiV5/Domain/AutoRenew.html +1237 -0
  17. data/doc/GandiV5/Domain/Availability/Product/Period.html +220 -0
  18. data/doc/GandiV5/Domain/Availability/Product/Price.html +1031 -0
  19. data/doc/GandiV5/Domain/Availability/Product.html +988 -0
  20. data/doc/GandiV5/Domain/Availability/Tax.html +440 -0
  21. data/doc/GandiV5/Domain/Availability.html +1020 -0
  22. data/doc/GandiV5/Domain/Contact.html +4459 -0
  23. data/doc/GandiV5/Domain/Contract.html +520 -0
  24. data/doc/GandiV5/Domain/Dates.html +1313 -0
  25. data/doc/GandiV5/Domain/RenewalInformation.html +1147 -0
  26. data/doc/GandiV5/Domain/RestoreInformation.html +339 -0
  27. data/doc/GandiV5/Domain/SharingSpace.html +437 -0
  28. data/doc/GandiV5/Domain/TLD.html +1565 -0
  29. data/doc/GandiV5/Domain.html +16847 -0
  30. data/doc/GandiV5/Email/Mailbox/Responder.html +1560 -0
  31. data/doc/GandiV5/Email/Mailbox.html +6307 -0
  32. data/doc/GandiV5/Email/Offer.html +514 -0
  33. data/doc/GandiV5/Email/Slot.html +4244 -0
  34. data/doc/GandiV5/Email.html +144 -0
  35. data/doc/GandiV5/Error/GandiError.html +270 -0
  36. data/doc/GandiV5/Error.html +151 -0
  37. data/doc/GandiV5/LiveDNS/Domain.html +2984 -0
  38. data/doc/GandiV5/LiveDNS/RecordSet.html +1593 -0
  39. data/doc/GandiV5/LiveDNS/Zone/Snapshot.html +1556 -0
  40. data/doc/GandiV5/LiveDNS/Zone.html +8891 -0
  41. data/doc/GandiV5/LiveDNS.html +300 -0
  42. data/doc/GandiV5/Organization.html +2341 -0
  43. data/doc/GandiV5.html +1183 -0
  44. data/doc/_index.html +474 -0
  45. data/doc/class_list.html +51 -0
  46. data/doc/css/common.css +1 -0
  47. data/doc/css/full_list.css +58 -0
  48. data/doc/css/style.css +496 -0
  49. data/doc/file.README.html +175 -0
  50. data/doc/file_list.html +56 -0
  51. data/doc/frames.html +17 -0
  52. data/doc/index.html +175 -0
  53. data/doc/js/app.js +303 -0
  54. data/doc/js/full_list.js +216 -0
  55. data/doc/js/jquery.js +4 -0
  56. data/doc/method_list.html +2427 -0
  57. data/doc/top-level-namespace.html +110 -0
  58. data/gandi_v5.gemspec +1 -1
  59. data/lib/gandi_v5/billing.rb +2 -2
  60. data/lib/gandi_v5/data.rb +2 -0
  61. data/lib/gandi_v5/domain/auto_renew.rb +4 -4
  62. data/lib/gandi_v5/domain/availability/product/period.rb +24 -0
  63. data/lib/gandi_v5/domain/availability/product/price.rb +36 -0
  64. data/lib/gandi_v5/domain/availability/product.rb +52 -0
  65. data/lib/gandi_v5/domain/availability/tax.rb +20 -0
  66. data/lib/gandi_v5/domain/availability.rb +49 -0
  67. data/lib/gandi_v5/domain/tld.rb +57 -0
  68. data/lib/gandi_v5/domain.rb +41 -86
  69. data/lib/gandi_v5/email/mailbox/responder.rb +43 -2
  70. data/lib/gandi_v5/email/mailbox.rb +32 -21
  71. data/lib/gandi_v5/email/offer.rb +2 -2
  72. data/lib/gandi_v5/email/slot.rb +42 -16
  73. data/lib/gandi_v5/error/gandi_error.rb +2 -2
  74. data/lib/gandi_v5/live_dns/domain.rb +59 -45
  75. data/lib/gandi_v5/live_dns/zone/snapshot.rb +27 -8
  76. data/lib/gandi_v5/live_dns/zone.rb +63 -59
  77. data/lib/gandi_v5/live_dns.rb +20 -0
  78. data/lib/gandi_v5/organization.rb +2 -2
  79. data/lib/gandi_v5/version.rb +1 -1
  80. data/lib/gandi_v5.rb +25 -5
  81. data/spec/features/domain_spec.rb +1 -1
  82. data/spec/fixtures/bodies/{GandiV5_Domain/availability.yaml → GandiV5_Domain_Availability/fetch.yaml} +0 -0
  83. data/spec/fixtures/bodies/{GandiV5_Domain/tld.yaml → GandiV5_Domain_TLD/fetch.yaml} +0 -0
  84. data/spec/fixtures/bodies/{GandiV5_Domain/tlds.yaml → GandiV5_Domain_TLD/list.yaml} +0 -0
  85. data/spec/fixtures/bodies/GandiV5_LiveDNS_Zone_Snapshot/{get.yaml → fetch.yaml} +0 -0
  86. data/spec/fixtures/bodies/GandiV5_LiveDNS_Zone_Snapshot/list.yaml +3 -0
  87. data/spec/units/gandi_v5/billing_spec.rb +2 -2
  88. data/spec/units/gandi_v5/domain/auto_renew_spec.rb +5 -5
  89. data/spec/units/gandi_v5/domain/availability/product/period_spec.rb +4 -0
  90. data/spec/units/gandi_v5/domain/availability/product/price_spec.rb +4 -0
  91. data/spec/units/gandi_v5/domain/availability/product_spec.rb +4 -0
  92. data/spec/units/gandi_v5/domain/availability/tax_spec.rb +4 -0
  93. data/spec/units/gandi_v5/domain/availability_spec.rb +43 -0
  94. data/spec/units/gandi_v5/domain/tld_spec.rb +29 -0
  95. data/spec/units/gandi_v5/domain_spec.rb +89 -81
  96. data/spec/units/gandi_v5/email/mailbox/responder_spec.rb +52 -0
  97. data/spec/units/gandi_v5/email/mailbox_spec.rb +56 -27
  98. data/spec/units/gandi_v5/email/offer_spec.rb +1 -1
  99. data/spec/units/gandi_v5/email/slot_spec.rb +101 -13
  100. data/spec/units/gandi_v5/live_dns/domain_spec.rb +70 -40
  101. data/spec/units/gandi_v5/live_dns/zone/snapshot_spec.rb +32 -3
  102. data/spec/units/gandi_v5/live_dns/zone_spec.rb +68 -50
  103. data/spec/units/gandi_v5/live_dns_spec.rb +24 -0
  104. data/spec/units/gandi_v5/organization_spec.rb +1 -1
  105. data/spec/units/gandi_v5_spec.rb +37 -12
  106. metadata +72 -9
  107. data/TODO.md +0 -29
@@ -0,0 +1,4244 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>
7
+ Class: GandiV5::Email::Slot
8
+
9
+ &mdash; Documentation by YARD 0.9.19
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../../css/style.css" type="text/css" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="../../css/common.css" type="text/css" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ pathId = "GandiV5::Email::Slot";
19
+ relpath = '../../';
20
+ </script>
21
+
22
+
23
+ <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
24
+
25
+ <script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
26
+
27
+
28
+ </head>
29
+ <body>
30
+ <div class="nav_wrap">
31
+ <iframe id="nav" src="../../class_list.html?1"></iframe>
32
+ <div id="resizer"></div>
33
+ </div>
34
+
35
+ <div id="main" tabindex="-1">
36
+ <div id="header">
37
+ <div id="menu">
38
+
39
+ <a href="../../_index.html">Index (S)</a> &raquo;
40
+ <span class='title'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Email.html" title="GandiV5::Email (class)">Email</a></span></span>
41
+ &raquo;
42
+ <span class="title">Slot</span>
43
+
44
+ </div>
45
+
46
+ <div id="search">
47
+
48
+ <a class="full_list_link" id="class_list_link"
49
+ href="../../class_list.html">
50
+
51
+ <svg width="24" height="24">
52
+ <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
+ <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
+ <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
+ </svg>
56
+ </a>
57
+
58
+ </div>
59
+ <div class="clear"></div>
60
+ </div>
61
+
62
+ <div id="content"><h1>Class: GandiV5::Email::Slot
63
+
64
+
65
+
66
+ </h1>
67
+ <div class="box_info">
68
+
69
+ <dl>
70
+ <dt>Inherits:</dt>
71
+ <dd>
72
+ <span class="inheritName">Object</span>
73
+
74
+ <ul class="fullTree">
75
+ <li>Object</li>
76
+
77
+ <li class="next">GandiV5::Email::Slot</li>
78
+
79
+ </ul>
80
+ <a href="#" class="inheritanceTree">show all</a>
81
+
82
+ </dd>
83
+ </dl>
84
+
85
+
86
+
87
+
88
+
89
+
90
+ <dl>
91
+ <dt>Includes:</dt>
92
+ <dd><span class='object_link'><a href="../Data.html" title="GandiV5::Data (module)">Data</a></span></dd>
93
+ </dl>
94
+
95
+
96
+
97
+
98
+
99
+
100
+ <dl>
101
+ <dt>Defined in:</dt>
102
+ <dd>lib/gandi_v5/email/slot.rb</dd>
103
+ </dl>
104
+
105
+ </div>
106
+
107
+ <h2>Overview</h2><div class="docstring">
108
+ <div class="discussion">
109
+
110
+ <p>A slot is attached to a domain and (optionally) contains a mailbox. There must be an available slot for a mailbox to be created.</p>
111
+
112
+
113
+ </div>
114
+ </div>
115
+ <div class="tags">
116
+
117
+
118
+ </div>
119
+
120
+
121
+
122
+ <h2>Instance Attribute Summary <small><a href="#" class="summary_toggle">collapse</a></small></h2>
123
+ <ul class="summary">
124
+
125
+ <li class="public ">
126
+ <span class="summary_signature">
127
+
128
+ <a href="#capacity-instance_method" title="#capacity (instance method)">#<strong>capacity</strong> &#x21d2; Integer </a>
129
+
130
+
131
+
132
+ </span>
133
+
134
+
135
+
136
+
137
+ <span class="note title readonly">readonly</span>
138
+
139
+
140
+
141
+
142
+
143
+
144
+
145
+
146
+
147
+ <span class="summary_desc"><div class='inline'>
148
+ <p>Slot capacity (in MB).</p>
149
+ </div></span>
150
+
151
+ </li>
152
+
153
+
154
+ <li class="public ">
155
+ <span class="summary_signature">
156
+
157
+ <a href="#created_at-instance_method" title="#created_at (instance method)">#<strong>created_at</strong> &#x21d2; Time </a>
158
+
159
+
160
+
161
+ </span>
162
+
163
+
164
+
165
+
166
+ <span class="note title readonly">readonly</span>
167
+
168
+
169
+
170
+
171
+
172
+
173
+
174
+
175
+
176
+ <span class="summary_desc"><div class='inline'></div></span>
177
+
178
+ </li>
179
+
180
+
181
+ <li class="public ">
182
+ <span class="summary_signature">
183
+
184
+ <a href="#fqdn-instance_method" title="#fqdn (instance method)">#<strong>fqdn</strong> &#x21d2; Object </a>
185
+
186
+
187
+
188
+ </span>
189
+
190
+
191
+
192
+
193
+ <span class="note title readonly">readonly</span>
194
+
195
+
196
+
197
+
198
+
199
+
200
+
201
+
202
+
203
+ <span class="summary_desc"><div class='inline'>
204
+ <p>Returns the value of attribute fqdn.</p>
205
+ </div></span>
206
+
207
+ </li>
208
+
209
+
210
+ <li class="public ">
211
+ <span class="summary_signature">
212
+
213
+ <a href="#id-instance_method" title="#id (instance method)">#<strong>id</strong> &#x21d2; Integer </a>
214
+
215
+
216
+
217
+ (also: #slot_id)
218
+
219
+ </span>
220
+
221
+
222
+
223
+
224
+ <span class="note title readonly">readonly</span>
225
+
226
+
227
+
228
+
229
+
230
+
231
+
232
+
233
+
234
+ <span class="summary_desc"><div class='inline'></div></span>
235
+
236
+ </li>
237
+
238
+
239
+ <li class="public ">
240
+ <span class="summary_signature">
241
+
242
+ <a href="#mailbox_type-instance_method" title="#mailbox_type (instance method)">#<strong>mailbox_type</strong> &#x21d2; :standard, :premium </a>
243
+
244
+
245
+
246
+ </span>
247
+
248
+
249
+
250
+
251
+ <span class="note title readonly">readonly</span>
252
+
253
+
254
+
255
+
256
+
257
+
258
+
259
+
260
+
261
+ <span class="summary_desc"><div class='inline'></div></span>
262
+
263
+ </li>
264
+
265
+
266
+ <li class="public ">
267
+ <span class="summary_signature">
268
+
269
+ <a href="#refund_amount-instance_method" title="#refund_amount (instance method)">#<strong>refund_amount</strong> &#x21d2; nil, Numeric </a>
270
+
271
+
272
+
273
+ </span>
274
+
275
+
276
+
277
+
278
+ <span class="note title readonly">readonly</span>
279
+
280
+
281
+
282
+
283
+
284
+
285
+
286
+
287
+
288
+ <span class="summary_desc"><div class='inline'>
289
+ <p>Refunded amount if you delete this slot now.</p>
290
+ </div></span>
291
+
292
+ </li>
293
+
294
+
295
+ <li class="public ">
296
+ <span class="summary_signature">
297
+
298
+ <a href="#refund_currency-instance_method" title="#refund_currency (instance method)">#<strong>refund_currency</strong> &#x21d2; nil, String </a>
299
+
300
+
301
+
302
+ </span>
303
+
304
+
305
+
306
+
307
+ <span class="note title readonly">readonly</span>
308
+
309
+
310
+
311
+
312
+
313
+
314
+
315
+
316
+
317
+ <span class="summary_desc"><div class='inline'>
318
+ <p>Refund currency.</p>
319
+ </div></span>
320
+
321
+ </li>
322
+
323
+
324
+ <li class="public ">
325
+ <span class="summary_signature">
326
+
327
+ <a href="#refundable-instance_method" title="#refundable (instance method)">#<strong>refundable</strong> &#x21d2; Boolean </a>
328
+
329
+
330
+
331
+ </span>
332
+
333
+
334
+
335
+
336
+ <span class="note title readonly">readonly</span>
337
+
338
+
339
+
340
+
341
+
342
+
343
+
344
+
345
+
346
+ <span class="summary_desc"><div class='inline'></div></span>
347
+
348
+ </li>
349
+
350
+
351
+ <li class="public ">
352
+ <span class="summary_signature">
353
+
354
+ <a href="#status-instance_method" title="#status (instance method)">#<strong>status</strong> &#x21d2; :active, :inactive </a>
355
+
356
+
357
+
358
+ </span>
359
+
360
+
361
+
362
+
363
+ <span class="note title readonly">readonly</span>
364
+
365
+
366
+
367
+
368
+
369
+
370
+
371
+
372
+
373
+ <span class="summary_desc"><div class='inline'></div></span>
374
+
375
+ </li>
376
+
377
+
378
+ </ul>
379
+
380
+
381
+
382
+
383
+
384
+ <h2>
385
+ Class Method Summary
386
+ <small><a href="#" class="summary_toggle">collapse</a></small>
387
+ </h2>
388
+
389
+ <ul class="summary">
390
+
391
+ <li class="public ">
392
+ <span class="summary_signature">
393
+
394
+ <a href="#create-class_method" title="create (class method)">.<strong>create</strong>(fqdn, type = :standard) &#x21d2; String </a>
395
+
396
+
397
+
398
+ </span>
399
+
400
+
401
+
402
+
403
+
404
+
405
+
406
+
407
+
408
+ <span class="summary_desc"><div class='inline'>
409
+ <p>Creates a new slot.</p>
410
+ </div></span>
411
+
412
+ </li>
413
+
414
+
415
+ <li class="public ">
416
+ <span class="summary_signature">
417
+
418
+ <a href="#fetch-class_method" title="fetch (class method)">.<strong>fetch</strong>(fqdn, id) &#x21d2; GandiV5::Email::Slot </a>
419
+
420
+
421
+
422
+ </span>
423
+
424
+
425
+
426
+
427
+
428
+
429
+
430
+
431
+
432
+ <span class="summary_desc"><div class='inline'>
433
+ <p>Get information for a slot.</p>
434
+ </div></span>
435
+
436
+ </li>
437
+
438
+
439
+ <li class="public ">
440
+ <span class="summary_signature">
441
+
442
+ <a href="#list-class_method" title="list (class method)">.<strong>list</strong>(fqdn) &#x21d2; Array&lt;GandiV5::Email::Slot&gt; </a>
443
+
444
+
445
+
446
+ </span>
447
+
448
+
449
+
450
+
451
+
452
+
453
+
454
+
455
+
456
+ <span class="summary_desc"><div class='inline'>
457
+ <p>List slots for a domain.</p>
458
+ </div></span>
459
+
460
+ </li>
461
+
462
+
463
+ </ul>
464
+
465
+ <h2>
466
+ Instance Method Summary
467
+ <small><a href="#" class="summary_toggle">collapse</a></small>
468
+ </h2>
469
+
470
+ <ul class="summary">
471
+
472
+ <li class="public ">
473
+ <span class="summary_signature">
474
+
475
+ <a href="#active%3F-instance_method" title="#active? (instance method)">#<strong>active?</strong> &#x21d2; Boolean </a>
476
+
477
+
478
+
479
+ </span>
480
+
481
+
482
+
483
+
484
+
485
+
486
+
487
+
488
+
489
+ <span class="summary_desc"><div class='inline'>
490
+ <p>Check if the slot is active (in use).</p>
491
+ </div></span>
492
+
493
+ </li>
494
+
495
+
496
+ <li class="public ">
497
+ <span class="summary_signature">
498
+
499
+ <a href="#delete-instance_method" title="#delete (instance method)">#<strong>delete</strong> &#x21d2; String </a>
500
+
501
+
502
+
503
+ </span>
504
+
505
+
506
+
507
+
508
+
509
+
510
+
511
+
512
+
513
+ <span class="summary_desc"><div class='inline'>
514
+ <p>Delete this slot if it is inactive and refundable.</p>
515
+ </div></span>
516
+
517
+ </li>
518
+
519
+
520
+ <li class="public ">
521
+ <span class="summary_signature">
522
+
523
+ <a href="#free%3F-instance_method" title="#free? (instance method)">#<strong>free?</strong> &#x21d2; Boolean </a>
524
+
525
+
526
+
527
+ </span>
528
+
529
+
530
+
531
+
532
+
533
+
534
+
535
+
536
+
537
+ <span class="summary_desc"><div class='inline'>
538
+ <p>Check if the slot&#39;s mailbox_type is :free.</p>
539
+ </div></span>
540
+
541
+ </li>
542
+
543
+
544
+ <li class="public ">
545
+ <span class="summary_signature">
546
+
547
+ <a href="#inactive%3F-instance_method" title="#inactive? (instance method)">#<strong>inactive?</strong> &#x21d2; Boolean </a>
548
+
549
+
550
+
551
+ </span>
552
+
553
+
554
+
555
+
556
+
557
+
558
+
559
+
560
+
561
+ <span class="summary_desc"><div class='inline'>
562
+ <p>Check if the slot is inactive (not in use).</p>
563
+ </div></span>
564
+
565
+ </li>
566
+
567
+
568
+ <li class="public ">
569
+ <span class="summary_signature">
570
+
571
+ <a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(fqdn: nil, **members) &#x21d2; GandiV5::Email::Slot </a>
572
+
573
+
574
+
575
+ </span>
576
+
577
+
578
+ <span class="note title constructor">constructor</span>
579
+
580
+
581
+
582
+
583
+
584
+
585
+
586
+
587
+ <span class="summary_desc"><div class='inline'>
588
+ <p>Create a new GandiV5::Email::Slot.</p>
589
+ </div></span>
590
+
591
+ </li>
592
+
593
+
594
+ <li class="public ">
595
+ <span class="summary_signature">
596
+
597
+ <a href="#premium%3F-instance_method" title="#premium? (instance method)">#<strong>premium?</strong> &#x21d2; Boolean </a>
598
+
599
+
600
+
601
+ </span>
602
+
603
+
604
+
605
+
606
+
607
+
608
+
609
+
610
+
611
+ <span class="summary_desc"><div class='inline'>
612
+ <p>Check if the slot&#39;s mailbox_type is :premium.</p>
613
+ </div></span>
614
+
615
+ </li>
616
+
617
+
618
+ <li class="public ">
619
+ <span class="summary_signature">
620
+
621
+ <a href="#refresh-instance_method" title="#refresh (instance method)">#<strong>refresh</strong> &#x21d2; GandiV5::Email::Slot </a>
622
+
623
+
624
+
625
+ </span>
626
+
627
+
628
+
629
+
630
+
631
+
632
+
633
+
634
+
635
+ <span class="summary_desc"><div class='inline'>
636
+ <p>Requery Gandi for this slot&#39;s information.</p>
637
+ </div></span>
638
+
639
+ </li>
640
+
641
+
642
+ <li class="public ">
643
+ <span class="summary_signature">
644
+
645
+ <a href="#standard%3F-instance_method" title="#standard? (instance method)">#<strong>standard?</strong> &#x21d2; Boolean </a>
646
+
647
+
648
+
649
+ </span>
650
+
651
+
652
+
653
+
654
+
655
+
656
+
657
+
658
+
659
+ <span class="summary_desc"><div class='inline'>
660
+ <p>Check if the slot&#39;s mailbox_type is :standard.</p>
661
+ </div></span>
662
+
663
+ </li>
664
+
665
+
666
+ </ul>
667
+
668
+
669
+
670
+
671
+
672
+
673
+
674
+
675
+
676
+
677
+
678
+ <h3 class="inherited">Methods included from <span class='object_link'><a href="../Data.html" title="GandiV5::Data (module)">Data</a></span></h3>
679
+ <p class="inherited"><span class='object_link'><a href="../Data.html#from_gandi-instance_method" title="GandiV5::Data#from_gandi (method)">#from_gandi</a></span>, <span class='object_link'><a href="../Data.html#included-class_method" title="GandiV5::Data.included (method)">included</a></span>, <span class='object_link'><a href="../Data.html#to_gandi-instance_method" title="GandiV5::Data#to_gandi (method)">#to_gandi</a></span>, <span class='object_link'><a href="../Data.html#to_h-instance_method" title="GandiV5::Data#to_h (method)">#to_h</a></span>, <span class='object_link'><a href="../Data.html#values_at-instance_method" title="GandiV5::Data#values_at (method)">#values_at</a></span></p>
680
+ <div id="constructor_details" class="method_details_list">
681
+ <h2>Constructor Details</h2>
682
+
683
+ <div class="method_details first">
684
+ <h3 class="signature first" id="initialize-instance_method">
685
+
686
+ #<strong>initialize</strong>(fqdn: nil, **members) &#x21d2; <tt><span class='object_link'><a href="" title="GandiV5::Email::Slot (class)">GandiV5::Email::Slot</a></span></tt>
687
+
688
+
689
+
690
+
691
+
692
+ </h3><div class="docstring">
693
+ <div class="discussion">
694
+
695
+ <p>Create a new GandiV5::Email::Slot</p>
696
+
697
+
698
+ </div>
699
+ </div>
700
+ <div class="tags">
701
+ <p class="tag_title">Parameters:</p>
702
+ <ul class="param">
703
+
704
+ <li>
705
+
706
+ <span class='name'>fqdn</span>
707
+
708
+
709
+ <span class='type'>(<tt>String</tt>)</span>
710
+
711
+
712
+
713
+ &mdash;
714
+ <div class='inline'>
715
+ <p>the fully qualified domain this slot belongs to.</p>
716
+ </div>
717
+
718
+ </li>
719
+
720
+ <li>
721
+
722
+ <span class='name'>members</span>
723
+
724
+
725
+ <span class='type'>(<tt>Hash&lt;Symbol =&gt; Object&gt;</tt>)</span>
726
+
727
+
728
+
729
+ </li>
730
+
731
+ </ul>
732
+
733
+
734
+ </div><table class="source_code">
735
+ <tr>
736
+ <td>
737
+ <pre class="lines">
738
+
739
+
740
+ 45
741
+ 46
742
+ 47
743
+ 48</pre>
744
+ </td>
745
+ <td>
746
+ <pre class="code"><span class="info file"># File 'lib/gandi_v5/email/slot.rb', line 45</span>
747
+
748
+ <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='label'>fqdn:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_members'>members</span><span class='rparen'>)</span>
749
+ <span class='kw'>super</span><span class='lparen'>(</span><span class='op'>**</span><span class='id identifier rubyid_members'>members</span><span class='rparen'>)</span>
750
+ <span class='ivar'>@fqdn</span> <span class='op'>=</span> <span class='id identifier rubyid_fqdn'>fqdn</span>
751
+ <span class='kw'>end</span></pre>
752
+ </td>
753
+ </tr>
754
+ </table>
755
+ </div>
756
+
757
+ </div>
758
+
759
+ <div id="instance_attr_details" class="attr_details">
760
+ <h2>Instance Attribute Details</h2>
761
+
762
+
763
+ <span id=""></span>
764
+ <div class="method_details first">
765
+ <h3 class="signature first" id="capacity-instance_method">
766
+
767
+ #<strong>capacity</strong> &#x21d2; <tt>Integer</tt> <span class="extras">(readonly)</span>
768
+
769
+
770
+
771
+
772
+
773
+ </h3><div class="docstring">
774
+ <div class="discussion">
775
+
776
+ <p>Returns slot capacity (in MB).</p>
777
+
778
+
779
+ </div>
780
+ </div>
781
+ <div class="tags">
782
+
783
+ <p class="tag_title">Returns:</p>
784
+ <ul class="return">
785
+
786
+ <li>
787
+
788
+
789
+ <span class='type'>(<tt>Integer</tt>)</span>
790
+
791
+
792
+
793
+ &mdash;
794
+ <div class='inline'>
795
+ <p>slot capacity (in MB).</p>
796
+ </div>
797
+
798
+ </li>
799
+
800
+ </ul>
801
+
802
+ </div><table class="source_code">
803
+ <tr>
804
+ <td>
805
+ <pre class="lines">
806
+
807
+
808
+ 23
809
+ 24
810
+ 25
811
+ 26
812
+ 27
813
+ 28
814
+ 29
815
+ 30
816
+ 31
817
+ 32
818
+ 33
819
+ 34
820
+ 35
821
+ 36
822
+ 37
823
+ 38
824
+ 39
825
+ 40
826
+ 41
827
+ 42
828
+ 43
829
+ 44
830
+ 45
831
+ 46
832
+ 47
833
+ 48
834
+ 49
835
+ 50
836
+ 51
837
+ 52
838
+ 53
839
+ 54
840
+ 55
841
+ 56
842
+ 57
843
+ 58
844
+ 59
845
+ 60
846
+ 61
847
+ 62
848
+ 63
849
+ 64
850
+ 65
851
+ 66
852
+ 67
853
+ 68
854
+ 69
855
+ 70
856
+ 71
857
+ 72
858
+ 73
859
+ 74
860
+ 75
861
+ 76
862
+ 77
863
+ 78
864
+ 79
865
+ 80
866
+ 81
867
+ 82
868
+ 83
869
+ 84
870
+ 85
871
+ 86
872
+ 87
873
+ 88
874
+ 89
875
+ 90
876
+ 91
877
+ 92
878
+ 93
879
+ 94
880
+ 95
881
+ 96
882
+ 97
883
+ 98
884
+ 99
885
+ 100
886
+ 101
887
+ 102
888
+ 103
889
+ 104
890
+ 105
891
+ 106
892
+ 107
893
+ 108
894
+ 109
895
+ 110
896
+ 111
897
+ 112
898
+ 113
899
+ 114
900
+ 115
901
+ 116
902
+ 117
903
+ 118
904
+ 119
905
+ 120
906
+ 121
907
+ 122
908
+ 123
909
+ 124
910
+ 125
911
+ 126
912
+ 127
913
+ 128
914
+ 129
915
+ 130
916
+ 131
917
+ 132
918
+ 133
919
+ 134
920
+ 135
921
+ 136
922
+ 137
923
+ 138
924
+ 139
925
+ 140
926
+ 141
927
+ 142
928
+ 143
929
+ 144
930
+ 145
931
+ 146
932
+ 147
933
+ 148
934
+ 149
935
+ 150
936
+ 151
937
+ 152
938
+ 153
939
+ 154
940
+ 155
941
+ 156
942
+ 157
943
+ 158</pre>
944
+ </td>
945
+ <td>
946
+ <pre class="code"><span class="info file"># File 'lib/gandi_v5/email/slot.rb', line 23</span>
947
+
948
+ <span class='kw'>class</span> <span class='const'><span class='object_link'><a href="" title="GandiV5::Email::Slot (class)">Slot</a></span></span>
949
+ <span class='id identifier rubyid_include'>include</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data.html" title="GandiV5::Data (module)">Data</a></span></span>
950
+
951
+ <span class='id identifier rubyid_attr_reader'>attr_reader</span> <span class='symbol'>:fqdn</span>
952
+
953
+ <span class='id identifier rubyid_members'>members</span> <span class='symbol'>:id</span><span class='comma'>,</span> <span class='symbol'>:refundable</span><span class='comma'>,</span> <span class='symbol'>:refund_amount</span><span class='comma'>,</span> <span class='symbol'>:refund_currency</span>
954
+ <span class='id identifier rubyid_member'>member</span><span class='lparen'>(</span>
955
+ <span class='symbol'>:capacity</span><span class='comma'>,</span>
956
+ <span class='label'>converter:</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data.html" title="GandiV5::Data (module)">Data</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter.html" title="GandiV5::Data::Converter (class)">Converter</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="../Data/Converter.html#initialize-instance_method" title="GandiV5::Data::Converter#initialize (method)">new</a></span></span><span class='lparen'>(</span>
957
+ <span class='label'>from_gandi:</span> <span class='tlambda'>-&gt;</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='tlambeg'>{</span> <span class='id identifier rubyid_value'>value</span> <span class='op'>*</span> <span class='int'>1_024</span><span class='op'>**</span><span class='int'>2</span> <span class='rbrace'>}</span>
958
+ <span class='rparen'>)</span>
959
+ <span class='rparen'>)</span>
960
+ <span class='id identifier rubyid_member'>member</span> <span class='symbol'>:created_at</span><span class='comma'>,</span> <span class='label'>converter:</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data.html" title="GandiV5::Data (module)">Data</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter.html" title="GandiV5::Data::Converter (class)">Converter</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter/Time.html" title="GandiV5::Data::Converter::Time (class)">Time</a></span></span>
961
+ <span class='id identifier rubyid_member'>member</span> <span class='symbol'>:mailbox_type</span><span class='comma'>,</span> <span class='label'>converter:</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data.html" title="GandiV5::Data (module)">Data</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter.html" title="GandiV5::Data::Converter (class)">Converter</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter/Symbol.html" title="GandiV5::Data::Converter::Symbol (class)">Symbol</a></span></span>
962
+ <span class='id identifier rubyid_member'>member</span> <span class='symbol'>:status</span><span class='comma'>,</span> <span class='label'>converter:</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data.html" title="GandiV5::Data (module)">Data</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter.html" title="GandiV5::Data::Converter (class)">Converter</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter/Symbol.html" title="GandiV5::Data::Converter::Symbol (class)">Symbol</a></span></span>
963
+
964
+ <span class='kw'>alias</span> <span class='id identifier rubyid_slot_id'>slot_id</span> <span class='id identifier rubyid_id'>id</span>
965
+
966
+ <span class='comment'># Create a new GandiV5::Email::Slot
967
+ </span> <span class='comment'># @param fqdn [String] the fully qualified domain this slot belongs to.
968
+ </span> <span class='comment'># @param members [Hash&lt;Symbol =&gt; Object&gt;]
969
+ </span> <span class='comment'># @return [GandiV5::Email::Slot]
970
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='label'>fqdn:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_members'>members</span><span class='rparen'>)</span>
971
+ <span class='kw'>super</span><span class='lparen'>(</span><span class='op'>**</span><span class='id identifier rubyid_members'>members</span><span class='rparen'>)</span>
972
+ <span class='ivar'>@fqdn</span> <span class='op'>=</span> <span class='id identifier rubyid_fqdn'>fqdn</span>
973
+ <span class='kw'>end</span>
974
+
975
+ <span class='comment'># Delete this slot if it is inactive and refundable.
976
+ </span> <span class='comment'># When you delete a slot, the prepaid account that was used to purchase the slot
977
+ </span> <span class='comment'># will be refunded for the remaining time that will not be used.
978
+ </span> <span class='comment'># @see GandiV5::Email::Mailbox#delete
979
+ </span> <span class='comment'># @see https://api.gandi.net/docs/email#delete-v5-email-slots-domain-slot_id
980
+ </span> <span class='comment'># @return [String] The confirmation message from Gandi.
981
+ </span> <span class='comment'># @raise [GandiV5::Error] if slot is active.
982
+ </span> <span class='comment'># @raise [GandiV5::Error] if slot is not refundable.
983
+ </span> <span class='comment'># @raise [GandiV5::Error::GandiError] if Gandi returns an error.
984
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_delete'>delete</span>
985
+ <span class='id identifier rubyid_fail'>fail</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Error.html" title="GandiV5::Error (class)">Error</a></span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>slot can\&#39;t be deleted whilst active</span><span class='tstring_end'>&#39;</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_active?'>active?</span>
986
+ <span class='id identifier rubyid_fail'>fail</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Error.html" title="GandiV5::Error (class)">Error</a></span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>slot can\&#39;t be deleted if it\&#39;s not refundable</span><span class='tstring_end'>&#39;</span></span> <span class='kw'>unless</span> <span class='id identifier rubyid_refundable'>refundable</span>
987
+
988
+ <span class='id identifier rubyid__response'>_response</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_delete'><span class='object_link'><a href="../../GandiV5.html#delete-class_method" title="GandiV5.delete (method)">delete</a></span></span> <span class='id identifier rubyid_url'>url</span>
989
+ <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>message</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span>
990
+ <span class='kw'>end</span>
991
+
992
+ <span class='comment'># Requery Gandi for this slot&#39;s information.
993
+ </span> <span class='comment'># @see https://api.gandi.net/docs/email#get-v5-email-slots-domain-slot_id
994
+ </span> <span class='comment'># @return [GandiV5::Email::Slot]
995
+ </span> <span class='comment'># @raise [GandiV5::Error::GandiError] if Gandi returns an error.
996
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_refresh'>refresh</span>
997
+ <span class='id identifier rubyid__response'>_response</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_get'><span class='object_link'><a href="../../GandiV5.html#get-class_method" title="GandiV5.get (method)">get</a></span></span> <span class='id identifier rubyid_url'>url</span>
998
+ <span class='id identifier rubyid_from_gandi'>from_gandi</span> <span class='id identifier rubyid_data'>data</span>
999
+ <span class='kw'>end</span>
1000
+
1001
+ <span class='comment'># Creates a new slot. You must have slots available before you can create a mailbox.
1002
+ </span> <span class='comment'># If you have used the two free standard 3GB mailbox slots that are included with the domain,
1003
+ </span> <span class='comment'># but require more mailboxes on that domain, you must first purchase additional slots.
1004
+ </span> <span class='comment'># @see https://api.gandi.net/docs/email#post-v5-email-slots-domain
1005
+ </span> <span class='comment'># @param fqdn [String, #to_s] the fully qualified domain name to add the slot to.
1006
+ </span> <span class='comment'># @param type [:standard, :premium] Tyhe type of slot to add.
1007
+ </span> <span class='comment'># @return [String] The confirmation message from Gandi.
1008
+ </span> <span class='comment'># @raise [GandiV5::Error::GandiError] if Gandi returns an error.
1009
+ </span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span> <span class='op'>=</span> <span class='symbol'>:standard</span><span class='rparen'>)</span>
1010
+ <span class='id identifier rubyid_body'>body</span> <span class='op'>=</span> <span class='lbrace'>{</span>
1011
+ <span class='label'>mailbox_type:</span> <span class='id identifier rubyid_type'>type</span>
1012
+ <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_to_json'>to_json</span>
1013
+
1014
+ <span class='id identifier rubyid_response'>response</span><span class='comma'>,</span> <span class='id identifier rubyid__data'>_data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_post'><span class='object_link'><a href="../../GandiV5.html#post-class_method" title="GandiV5.post (method)">post</a></span></span> <span class='id identifier rubyid_url'>url</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_body'>body</span>
1015
+ <span class='id identifier rubyid_fetch'>fetch</span> <span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_response'>response</span><span class='period'>.</span><span class='id identifier rubyid_headers'>headers</span><span class='lbracket'>[</span><span class='symbol'>:location</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>/</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_last'>last</span>
1016
+ <span class='kw'>end</span>
1017
+
1018
+ <span class='comment'># Get information for a slot.
1019
+ </span> <span class='comment'># @see https://api.gandi.net/docs/email#get-v5-email-slots-domain-slot_id
1020
+ </span> <span class='comment'># @param fqdn [String, #to_s] the fully qualified domain name the slot is on.
1021
+ </span> <span class='comment'># @param id [String, #to_s] the ID of the slot to fetch.
1022
+ </span> <span class='comment'># @return [GandiV5::Email::Slot]
1023
+ </span> <span class='comment'># @raise [GandiV5::Error::GandiError] if Gandi returns an error.
1024
+ </span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_fetch'>fetch</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_id'>id</span><span class='rparen'>)</span>
1025
+ <span class='id identifier rubyid__response'>_response</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_get'><span class='object_link'><a href="../../GandiV5.html#get-class_method" title="GandiV5.get (method)">get</a></span></span> <span class='id identifier rubyid_url'>url</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_id'>id</span><span class='rparen'>)</span>
1026
+ <span class='id identifier rubyid_slot'>slot</span> <span class='op'>=</span> <span class='id identifier rubyid_from_gandi'>from_gandi</span> <span class='id identifier rubyid_data'>data</span>
1027
+ <span class='id identifier rubyid_slot'>slot</span><span class='period'>.</span><span class='id identifier rubyid_instance_eval'>instance_eval</span> <span class='lbrace'>{</span> <span class='ivar'>@fqdn</span> <span class='op'>=</span> <span class='id identifier rubyid_fqdn'>fqdn</span> <span class='rbrace'>}</span>
1028
+ <span class='id identifier rubyid_slot'>slot</span>
1029
+ <span class='kw'>end</span>
1030
+
1031
+ <span class='comment'># List slots for a domain.
1032
+ </span> <span class='comment'># @see https://api.gandi.net/docs/email#
1033
+ </span> <span class='comment'># @param fqdn [String, #to_s] the fully qualified domain name to list slots for.
1034
+ </span> <span class='comment'># @return [Array&lt;GandiV5::Email::Slot&gt;]
1035
+ </span> <span class='comment'># @raise [GandiV5::Error::GandiError] if Gandi returns an error.
1036
+ </span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_list'>list</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='rparen'>)</span>
1037
+ <span class='id identifier rubyid__response'>_response</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_get'><span class='object_link'><a href="../../GandiV5.html#get-class_method" title="GandiV5.get (method)">get</a></span></span> <span class='id identifier rubyid_url'>url</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='rparen'>)</span>
1038
+ <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_item'>item</span><span class='op'>|</span> <span class='id identifier rubyid_from_gandi'>from_gandi</span> <span class='id identifier rubyid_item'>item</span> <span class='rbrace'>}</span>
1039
+ <span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_item'>item</span><span class='op'>|</span> <span class='id identifier rubyid_item'>item</span><span class='period'>.</span><span class='id identifier rubyid_instance_eval'>instance_eval</span> <span class='lbrace'>{</span> <span class='ivar'>@fqdn</span> <span class='op'>=</span> <span class='id identifier rubyid_fqdn'>fqdn</span> <span class='rbrace'>}</span> <span class='rbrace'>}</span>
1040
+ <span class='kw'>end</span>
1041
+
1042
+ <span class='comment'># Check if the slot is active (in use)
1043
+ </span> <span class='comment'># @return [Boolean]
1044
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_active?'>active?</span>
1045
+ <span class='id identifier rubyid_status'>status</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:active</span><span class='rparen'>)</span>
1046
+ <span class='kw'>end</span>
1047
+
1048
+ <span class='comment'># Check if the slot is inactive (not in use)
1049
+ </span> <span class='comment'># @return [Boolean]
1050
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_inactive?'>inactive?</span>
1051
+ <span class='id identifier rubyid_status'>status</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:inactive</span><span class='rparen'>)</span>
1052
+ <span class='kw'>end</span>
1053
+
1054
+ <span class='comment'># Check if the slot&#39;s mailbox_type is :free
1055
+ </span> <span class='comment'># @return [Boolean]
1056
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_free?'>free?</span>
1057
+ <span class='id identifier rubyid_mailbox_type'>mailbox_type</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:free</span><span class='rparen'>)</span>
1058
+ <span class='kw'>end</span>
1059
+
1060
+ <span class='comment'># Check if the slot&#39;s mailbox_type is :standard
1061
+ </span> <span class='comment'># @return [Boolean]
1062
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_standard?'>standard?</span>
1063
+ <span class='id identifier rubyid_mailbox_type'>mailbox_type</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:standard</span><span class='rparen'>)</span>
1064
+ <span class='kw'>end</span>
1065
+
1066
+ <span class='comment'># Check if the slot&#39;s mailbox_type is :premium
1067
+ </span> <span class='comment'># @return [Boolean]
1068
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_premium?'>premium?</span>
1069
+ <span class='id identifier rubyid_mailbox_type'>mailbox_type</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:premium</span><span class='rparen'>)</span>
1070
+ <span class='kw'>end</span>
1071
+
1072
+ <span class='id identifier rubyid_private'>private</span>
1073
+
1074
+ <span class='kw'>def</span> <span class='id identifier rubyid_url'>url</span>
1075
+ <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="../../GandiV5.html#BASE-constant" title="GandiV5::BASE (constant)">BASE</a></span></span><span class='embexpr_end'>}</span><span class='tstring_content'>email/slots/</span><span class='embexpr_beg'>#{</span><span class='const'>CGI</span><span class='period'>.</span><span class='id identifier rubyid_escape'>escape</span> <span class='id identifier rubyid_fqdn'>fqdn</span><span class='embexpr_end'>}</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_id'>id</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span>
1076
+ <span class='kw'>end</span>
1077
+
1078
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_url'>url</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_id'>id</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
1079
+ <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="../../GandiV5.html#BASE-constant" title="GandiV5::BASE (constant)">BASE</a></span></span><span class='embexpr_end'>}</span><span class='tstring_content'>email/slots/</span><span class='embexpr_beg'>#{</span><span class='const'>CGI</span><span class='period'>.</span><span class='id identifier rubyid_escape'>escape</span> <span class='id identifier rubyid_fqdn'>fqdn</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span> <span class='op'>+</span>
1080
+ <span class='lparen'>(</span><span class='id identifier rubyid_id'>id</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_id'>id</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
1081
+ <span class='kw'>end</span>
1082
+ <span class='id identifier rubyid_private_class_method'>private_class_method</span> <span class='symbol'>:url</span>
1083
+ <span class='kw'>end</span></pre>
1084
+ </td>
1085
+ </tr>
1086
+ </table>
1087
+ </div>
1088
+
1089
+
1090
+ <span id=""></span>
1091
+ <div class="method_details ">
1092
+ <h3 class="signature " id="created_at-instance_method">
1093
+
1094
+ #<strong>created_at</strong> &#x21d2; <tt>Time</tt> <span class="extras">(readonly)</span>
1095
+
1096
+
1097
+
1098
+
1099
+
1100
+ </h3><div class="docstring">
1101
+ <div class="discussion">
1102
+
1103
+
1104
+ </div>
1105
+ </div>
1106
+ <div class="tags">
1107
+
1108
+ <p class="tag_title">Returns:</p>
1109
+ <ul class="return">
1110
+
1111
+ <li>
1112
+
1113
+
1114
+ <span class='type'>(<tt>Time</tt>)</span>
1115
+
1116
+
1117
+
1118
+ </li>
1119
+
1120
+ </ul>
1121
+
1122
+ </div><table class="source_code">
1123
+ <tr>
1124
+ <td>
1125
+ <pre class="lines">
1126
+
1127
+
1128
+ 23
1129
+ 24
1130
+ 25
1131
+ 26
1132
+ 27
1133
+ 28
1134
+ 29
1135
+ 30
1136
+ 31
1137
+ 32
1138
+ 33
1139
+ 34
1140
+ 35
1141
+ 36
1142
+ 37
1143
+ 38
1144
+ 39
1145
+ 40
1146
+ 41
1147
+ 42
1148
+ 43
1149
+ 44
1150
+ 45
1151
+ 46
1152
+ 47
1153
+ 48
1154
+ 49
1155
+ 50
1156
+ 51
1157
+ 52
1158
+ 53
1159
+ 54
1160
+ 55
1161
+ 56
1162
+ 57
1163
+ 58
1164
+ 59
1165
+ 60
1166
+ 61
1167
+ 62
1168
+ 63
1169
+ 64
1170
+ 65
1171
+ 66
1172
+ 67
1173
+ 68
1174
+ 69
1175
+ 70
1176
+ 71
1177
+ 72
1178
+ 73
1179
+ 74
1180
+ 75
1181
+ 76
1182
+ 77
1183
+ 78
1184
+ 79
1185
+ 80
1186
+ 81
1187
+ 82
1188
+ 83
1189
+ 84
1190
+ 85
1191
+ 86
1192
+ 87
1193
+ 88
1194
+ 89
1195
+ 90
1196
+ 91
1197
+ 92
1198
+ 93
1199
+ 94
1200
+ 95
1201
+ 96
1202
+ 97
1203
+ 98
1204
+ 99
1205
+ 100
1206
+ 101
1207
+ 102
1208
+ 103
1209
+ 104
1210
+ 105
1211
+ 106
1212
+ 107
1213
+ 108
1214
+ 109
1215
+ 110
1216
+ 111
1217
+ 112
1218
+ 113
1219
+ 114
1220
+ 115
1221
+ 116
1222
+ 117
1223
+ 118
1224
+ 119
1225
+ 120
1226
+ 121
1227
+ 122
1228
+ 123
1229
+ 124
1230
+ 125
1231
+ 126
1232
+ 127
1233
+ 128
1234
+ 129
1235
+ 130
1236
+ 131
1237
+ 132
1238
+ 133
1239
+ 134
1240
+ 135
1241
+ 136
1242
+ 137
1243
+ 138
1244
+ 139
1245
+ 140
1246
+ 141
1247
+ 142
1248
+ 143
1249
+ 144
1250
+ 145
1251
+ 146
1252
+ 147
1253
+ 148
1254
+ 149
1255
+ 150
1256
+ 151
1257
+ 152
1258
+ 153
1259
+ 154
1260
+ 155
1261
+ 156
1262
+ 157
1263
+ 158</pre>
1264
+ </td>
1265
+ <td>
1266
+ <pre class="code"><span class="info file"># File 'lib/gandi_v5/email/slot.rb', line 23</span>
1267
+
1268
+ <span class='kw'>class</span> <span class='const'><span class='object_link'><a href="" title="GandiV5::Email::Slot (class)">Slot</a></span></span>
1269
+ <span class='id identifier rubyid_include'>include</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data.html" title="GandiV5::Data (module)">Data</a></span></span>
1270
+
1271
+ <span class='id identifier rubyid_attr_reader'>attr_reader</span> <span class='symbol'>:fqdn</span>
1272
+
1273
+ <span class='id identifier rubyid_members'>members</span> <span class='symbol'>:id</span><span class='comma'>,</span> <span class='symbol'>:refundable</span><span class='comma'>,</span> <span class='symbol'>:refund_amount</span><span class='comma'>,</span> <span class='symbol'>:refund_currency</span>
1274
+ <span class='id identifier rubyid_member'>member</span><span class='lparen'>(</span>
1275
+ <span class='symbol'>:capacity</span><span class='comma'>,</span>
1276
+ <span class='label'>converter:</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data.html" title="GandiV5::Data (module)">Data</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter.html" title="GandiV5::Data::Converter (class)">Converter</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="../Data/Converter.html#initialize-instance_method" title="GandiV5::Data::Converter#initialize (method)">new</a></span></span><span class='lparen'>(</span>
1277
+ <span class='label'>from_gandi:</span> <span class='tlambda'>-&gt;</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='tlambeg'>{</span> <span class='id identifier rubyid_value'>value</span> <span class='op'>*</span> <span class='int'>1_024</span><span class='op'>**</span><span class='int'>2</span> <span class='rbrace'>}</span>
1278
+ <span class='rparen'>)</span>
1279
+ <span class='rparen'>)</span>
1280
+ <span class='id identifier rubyid_member'>member</span> <span class='symbol'>:created_at</span><span class='comma'>,</span> <span class='label'>converter:</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data.html" title="GandiV5::Data (module)">Data</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter.html" title="GandiV5::Data::Converter (class)">Converter</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter/Time.html" title="GandiV5::Data::Converter::Time (class)">Time</a></span></span>
1281
+ <span class='id identifier rubyid_member'>member</span> <span class='symbol'>:mailbox_type</span><span class='comma'>,</span> <span class='label'>converter:</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data.html" title="GandiV5::Data (module)">Data</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter.html" title="GandiV5::Data::Converter (class)">Converter</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter/Symbol.html" title="GandiV5::Data::Converter::Symbol (class)">Symbol</a></span></span>
1282
+ <span class='id identifier rubyid_member'>member</span> <span class='symbol'>:status</span><span class='comma'>,</span> <span class='label'>converter:</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data.html" title="GandiV5::Data (module)">Data</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter.html" title="GandiV5::Data::Converter (class)">Converter</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter/Symbol.html" title="GandiV5::Data::Converter::Symbol (class)">Symbol</a></span></span>
1283
+
1284
+ <span class='kw'>alias</span> <span class='id identifier rubyid_slot_id'>slot_id</span> <span class='id identifier rubyid_id'>id</span>
1285
+
1286
+ <span class='comment'># Create a new GandiV5::Email::Slot
1287
+ </span> <span class='comment'># @param fqdn [String] the fully qualified domain this slot belongs to.
1288
+ </span> <span class='comment'># @param members [Hash&lt;Symbol =&gt; Object&gt;]
1289
+ </span> <span class='comment'># @return [GandiV5::Email::Slot]
1290
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='label'>fqdn:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_members'>members</span><span class='rparen'>)</span>
1291
+ <span class='kw'>super</span><span class='lparen'>(</span><span class='op'>**</span><span class='id identifier rubyid_members'>members</span><span class='rparen'>)</span>
1292
+ <span class='ivar'>@fqdn</span> <span class='op'>=</span> <span class='id identifier rubyid_fqdn'>fqdn</span>
1293
+ <span class='kw'>end</span>
1294
+
1295
+ <span class='comment'># Delete this slot if it is inactive and refundable.
1296
+ </span> <span class='comment'># When you delete a slot, the prepaid account that was used to purchase the slot
1297
+ </span> <span class='comment'># will be refunded for the remaining time that will not be used.
1298
+ </span> <span class='comment'># @see GandiV5::Email::Mailbox#delete
1299
+ </span> <span class='comment'># @see https://api.gandi.net/docs/email#delete-v5-email-slots-domain-slot_id
1300
+ </span> <span class='comment'># @return [String] The confirmation message from Gandi.
1301
+ </span> <span class='comment'># @raise [GandiV5::Error] if slot is active.
1302
+ </span> <span class='comment'># @raise [GandiV5::Error] if slot is not refundable.
1303
+ </span> <span class='comment'># @raise [GandiV5::Error::GandiError] if Gandi returns an error.
1304
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_delete'>delete</span>
1305
+ <span class='id identifier rubyid_fail'>fail</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Error.html" title="GandiV5::Error (class)">Error</a></span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>slot can\&#39;t be deleted whilst active</span><span class='tstring_end'>&#39;</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_active?'>active?</span>
1306
+ <span class='id identifier rubyid_fail'>fail</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Error.html" title="GandiV5::Error (class)">Error</a></span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>slot can\&#39;t be deleted if it\&#39;s not refundable</span><span class='tstring_end'>&#39;</span></span> <span class='kw'>unless</span> <span class='id identifier rubyid_refundable'>refundable</span>
1307
+
1308
+ <span class='id identifier rubyid__response'>_response</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_delete'><span class='object_link'><a href="../../GandiV5.html#delete-class_method" title="GandiV5.delete (method)">delete</a></span></span> <span class='id identifier rubyid_url'>url</span>
1309
+ <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>message</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span>
1310
+ <span class='kw'>end</span>
1311
+
1312
+ <span class='comment'># Requery Gandi for this slot&#39;s information.
1313
+ </span> <span class='comment'># @see https://api.gandi.net/docs/email#get-v5-email-slots-domain-slot_id
1314
+ </span> <span class='comment'># @return [GandiV5::Email::Slot]
1315
+ </span> <span class='comment'># @raise [GandiV5::Error::GandiError] if Gandi returns an error.
1316
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_refresh'>refresh</span>
1317
+ <span class='id identifier rubyid__response'>_response</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_get'><span class='object_link'><a href="../../GandiV5.html#get-class_method" title="GandiV5.get (method)">get</a></span></span> <span class='id identifier rubyid_url'>url</span>
1318
+ <span class='id identifier rubyid_from_gandi'>from_gandi</span> <span class='id identifier rubyid_data'>data</span>
1319
+ <span class='kw'>end</span>
1320
+
1321
+ <span class='comment'># Creates a new slot. You must have slots available before you can create a mailbox.
1322
+ </span> <span class='comment'># If you have used the two free standard 3GB mailbox slots that are included with the domain,
1323
+ </span> <span class='comment'># but require more mailboxes on that domain, you must first purchase additional slots.
1324
+ </span> <span class='comment'># @see https://api.gandi.net/docs/email#post-v5-email-slots-domain
1325
+ </span> <span class='comment'># @param fqdn [String, #to_s] the fully qualified domain name to add the slot to.
1326
+ </span> <span class='comment'># @param type [:standard, :premium] Tyhe type of slot to add.
1327
+ </span> <span class='comment'># @return [String] The confirmation message from Gandi.
1328
+ </span> <span class='comment'># @raise [GandiV5::Error::GandiError] if Gandi returns an error.
1329
+ </span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span> <span class='op'>=</span> <span class='symbol'>:standard</span><span class='rparen'>)</span>
1330
+ <span class='id identifier rubyid_body'>body</span> <span class='op'>=</span> <span class='lbrace'>{</span>
1331
+ <span class='label'>mailbox_type:</span> <span class='id identifier rubyid_type'>type</span>
1332
+ <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_to_json'>to_json</span>
1333
+
1334
+ <span class='id identifier rubyid_response'>response</span><span class='comma'>,</span> <span class='id identifier rubyid__data'>_data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_post'><span class='object_link'><a href="../../GandiV5.html#post-class_method" title="GandiV5.post (method)">post</a></span></span> <span class='id identifier rubyid_url'>url</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_body'>body</span>
1335
+ <span class='id identifier rubyid_fetch'>fetch</span> <span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_response'>response</span><span class='period'>.</span><span class='id identifier rubyid_headers'>headers</span><span class='lbracket'>[</span><span class='symbol'>:location</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>/</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_last'>last</span>
1336
+ <span class='kw'>end</span>
1337
+
1338
+ <span class='comment'># Get information for a slot.
1339
+ </span> <span class='comment'># @see https://api.gandi.net/docs/email#get-v5-email-slots-domain-slot_id
1340
+ </span> <span class='comment'># @param fqdn [String, #to_s] the fully qualified domain name the slot is on.
1341
+ </span> <span class='comment'># @param id [String, #to_s] the ID of the slot to fetch.
1342
+ </span> <span class='comment'># @return [GandiV5::Email::Slot]
1343
+ </span> <span class='comment'># @raise [GandiV5::Error::GandiError] if Gandi returns an error.
1344
+ </span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_fetch'>fetch</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_id'>id</span><span class='rparen'>)</span>
1345
+ <span class='id identifier rubyid__response'>_response</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_get'><span class='object_link'><a href="../../GandiV5.html#get-class_method" title="GandiV5.get (method)">get</a></span></span> <span class='id identifier rubyid_url'>url</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_id'>id</span><span class='rparen'>)</span>
1346
+ <span class='id identifier rubyid_slot'>slot</span> <span class='op'>=</span> <span class='id identifier rubyid_from_gandi'>from_gandi</span> <span class='id identifier rubyid_data'>data</span>
1347
+ <span class='id identifier rubyid_slot'>slot</span><span class='period'>.</span><span class='id identifier rubyid_instance_eval'>instance_eval</span> <span class='lbrace'>{</span> <span class='ivar'>@fqdn</span> <span class='op'>=</span> <span class='id identifier rubyid_fqdn'>fqdn</span> <span class='rbrace'>}</span>
1348
+ <span class='id identifier rubyid_slot'>slot</span>
1349
+ <span class='kw'>end</span>
1350
+
1351
+ <span class='comment'># List slots for a domain.
1352
+ </span> <span class='comment'># @see https://api.gandi.net/docs/email#
1353
+ </span> <span class='comment'># @param fqdn [String, #to_s] the fully qualified domain name to list slots for.
1354
+ </span> <span class='comment'># @return [Array&lt;GandiV5::Email::Slot&gt;]
1355
+ </span> <span class='comment'># @raise [GandiV5::Error::GandiError] if Gandi returns an error.
1356
+ </span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_list'>list</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='rparen'>)</span>
1357
+ <span class='id identifier rubyid__response'>_response</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_get'><span class='object_link'><a href="../../GandiV5.html#get-class_method" title="GandiV5.get (method)">get</a></span></span> <span class='id identifier rubyid_url'>url</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='rparen'>)</span>
1358
+ <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_item'>item</span><span class='op'>|</span> <span class='id identifier rubyid_from_gandi'>from_gandi</span> <span class='id identifier rubyid_item'>item</span> <span class='rbrace'>}</span>
1359
+ <span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_item'>item</span><span class='op'>|</span> <span class='id identifier rubyid_item'>item</span><span class='period'>.</span><span class='id identifier rubyid_instance_eval'>instance_eval</span> <span class='lbrace'>{</span> <span class='ivar'>@fqdn</span> <span class='op'>=</span> <span class='id identifier rubyid_fqdn'>fqdn</span> <span class='rbrace'>}</span> <span class='rbrace'>}</span>
1360
+ <span class='kw'>end</span>
1361
+
1362
+ <span class='comment'># Check if the slot is active (in use)
1363
+ </span> <span class='comment'># @return [Boolean]
1364
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_active?'>active?</span>
1365
+ <span class='id identifier rubyid_status'>status</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:active</span><span class='rparen'>)</span>
1366
+ <span class='kw'>end</span>
1367
+
1368
+ <span class='comment'># Check if the slot is inactive (not in use)
1369
+ </span> <span class='comment'># @return [Boolean]
1370
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_inactive?'>inactive?</span>
1371
+ <span class='id identifier rubyid_status'>status</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:inactive</span><span class='rparen'>)</span>
1372
+ <span class='kw'>end</span>
1373
+
1374
+ <span class='comment'># Check if the slot&#39;s mailbox_type is :free
1375
+ </span> <span class='comment'># @return [Boolean]
1376
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_free?'>free?</span>
1377
+ <span class='id identifier rubyid_mailbox_type'>mailbox_type</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:free</span><span class='rparen'>)</span>
1378
+ <span class='kw'>end</span>
1379
+
1380
+ <span class='comment'># Check if the slot&#39;s mailbox_type is :standard
1381
+ </span> <span class='comment'># @return [Boolean]
1382
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_standard?'>standard?</span>
1383
+ <span class='id identifier rubyid_mailbox_type'>mailbox_type</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:standard</span><span class='rparen'>)</span>
1384
+ <span class='kw'>end</span>
1385
+
1386
+ <span class='comment'># Check if the slot&#39;s mailbox_type is :premium
1387
+ </span> <span class='comment'># @return [Boolean]
1388
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_premium?'>premium?</span>
1389
+ <span class='id identifier rubyid_mailbox_type'>mailbox_type</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:premium</span><span class='rparen'>)</span>
1390
+ <span class='kw'>end</span>
1391
+
1392
+ <span class='id identifier rubyid_private'>private</span>
1393
+
1394
+ <span class='kw'>def</span> <span class='id identifier rubyid_url'>url</span>
1395
+ <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="../../GandiV5.html#BASE-constant" title="GandiV5::BASE (constant)">BASE</a></span></span><span class='embexpr_end'>}</span><span class='tstring_content'>email/slots/</span><span class='embexpr_beg'>#{</span><span class='const'>CGI</span><span class='period'>.</span><span class='id identifier rubyid_escape'>escape</span> <span class='id identifier rubyid_fqdn'>fqdn</span><span class='embexpr_end'>}</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_id'>id</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span>
1396
+ <span class='kw'>end</span>
1397
+
1398
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_url'>url</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_id'>id</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
1399
+ <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="../../GandiV5.html#BASE-constant" title="GandiV5::BASE (constant)">BASE</a></span></span><span class='embexpr_end'>}</span><span class='tstring_content'>email/slots/</span><span class='embexpr_beg'>#{</span><span class='const'>CGI</span><span class='period'>.</span><span class='id identifier rubyid_escape'>escape</span> <span class='id identifier rubyid_fqdn'>fqdn</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span> <span class='op'>+</span>
1400
+ <span class='lparen'>(</span><span class='id identifier rubyid_id'>id</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_id'>id</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
1401
+ <span class='kw'>end</span>
1402
+ <span class='id identifier rubyid_private_class_method'>private_class_method</span> <span class='symbol'>:url</span>
1403
+ <span class='kw'>end</span></pre>
1404
+ </td>
1405
+ </tr>
1406
+ </table>
1407
+ </div>
1408
+
1409
+
1410
+ <span id=""></span>
1411
+ <div class="method_details ">
1412
+ <h3 class="signature " id="fqdn-instance_method">
1413
+
1414
+ #<strong>fqdn</strong> &#x21d2; <tt>Object</tt> <span class="extras">(readonly)</span>
1415
+
1416
+
1417
+
1418
+
1419
+
1420
+ </h3><div class="docstring">
1421
+ <div class="discussion">
1422
+
1423
+ <p>Returns the value of attribute fqdn</p>
1424
+
1425
+
1426
+ </div>
1427
+ </div>
1428
+ <div class="tags">
1429
+
1430
+
1431
+ </div><table class="source_code">
1432
+ <tr>
1433
+ <td>
1434
+ <pre class="lines">
1435
+
1436
+
1437
+ 26
1438
+ 27
1439
+ 28</pre>
1440
+ </td>
1441
+ <td>
1442
+ <pre class="code"><span class="info file"># File 'lib/gandi_v5/email/slot.rb', line 26</span>
1443
+
1444
+ <span class='kw'>def</span> <span class='id identifier rubyid_fqdn'>fqdn</span>
1445
+ <span class='ivar'>@fqdn</span>
1446
+ <span class='kw'>end</span></pre>
1447
+ </td>
1448
+ </tr>
1449
+ </table>
1450
+ </div>
1451
+
1452
+
1453
+ <span id=""></span>
1454
+ <div class="method_details ">
1455
+ <h3 class="signature " id="id-instance_method">
1456
+
1457
+ #<strong>id</strong> &#x21d2; <tt>Integer</tt> <span class="extras">(readonly)</span>
1458
+
1459
+
1460
+
1461
+ <span class="aliases">Also known as:
1462
+ <span class="names"><span id='slot_id-instance_method'>slot_id</span></span>
1463
+ </span>
1464
+
1465
+
1466
+
1467
+ </h3><div class="docstring">
1468
+ <div class="discussion">
1469
+
1470
+
1471
+ </div>
1472
+ </div>
1473
+ <div class="tags">
1474
+
1475
+ <p class="tag_title">Returns:</p>
1476
+ <ul class="return">
1477
+
1478
+ <li>
1479
+
1480
+
1481
+ <span class='type'>(<tt>Integer</tt>)</span>
1482
+
1483
+
1484
+
1485
+ </li>
1486
+
1487
+ </ul>
1488
+
1489
+ </div><table class="source_code">
1490
+ <tr>
1491
+ <td>
1492
+ <pre class="lines">
1493
+
1494
+
1495
+ 23
1496
+ 24
1497
+ 25
1498
+ 26
1499
+ 27
1500
+ 28
1501
+ 29
1502
+ 30
1503
+ 31
1504
+ 32
1505
+ 33
1506
+ 34
1507
+ 35
1508
+ 36
1509
+ 37
1510
+ 38
1511
+ 39
1512
+ 40
1513
+ 41
1514
+ 42
1515
+ 43
1516
+ 44
1517
+ 45
1518
+ 46
1519
+ 47
1520
+ 48
1521
+ 49
1522
+ 50
1523
+ 51
1524
+ 52
1525
+ 53
1526
+ 54
1527
+ 55
1528
+ 56
1529
+ 57
1530
+ 58
1531
+ 59
1532
+ 60
1533
+ 61
1534
+ 62
1535
+ 63
1536
+ 64
1537
+ 65
1538
+ 66
1539
+ 67
1540
+ 68
1541
+ 69
1542
+ 70
1543
+ 71
1544
+ 72
1545
+ 73
1546
+ 74
1547
+ 75
1548
+ 76
1549
+ 77
1550
+ 78
1551
+ 79
1552
+ 80
1553
+ 81
1554
+ 82
1555
+ 83
1556
+ 84
1557
+ 85
1558
+ 86
1559
+ 87
1560
+ 88
1561
+ 89
1562
+ 90
1563
+ 91
1564
+ 92
1565
+ 93
1566
+ 94
1567
+ 95
1568
+ 96
1569
+ 97
1570
+ 98
1571
+ 99
1572
+ 100
1573
+ 101
1574
+ 102
1575
+ 103
1576
+ 104
1577
+ 105
1578
+ 106
1579
+ 107
1580
+ 108
1581
+ 109
1582
+ 110
1583
+ 111
1584
+ 112
1585
+ 113
1586
+ 114
1587
+ 115
1588
+ 116
1589
+ 117
1590
+ 118
1591
+ 119
1592
+ 120
1593
+ 121
1594
+ 122
1595
+ 123
1596
+ 124
1597
+ 125
1598
+ 126
1599
+ 127
1600
+ 128
1601
+ 129
1602
+ 130
1603
+ 131
1604
+ 132
1605
+ 133
1606
+ 134
1607
+ 135
1608
+ 136
1609
+ 137
1610
+ 138
1611
+ 139
1612
+ 140
1613
+ 141
1614
+ 142
1615
+ 143
1616
+ 144
1617
+ 145
1618
+ 146
1619
+ 147
1620
+ 148
1621
+ 149
1622
+ 150
1623
+ 151
1624
+ 152
1625
+ 153
1626
+ 154
1627
+ 155
1628
+ 156
1629
+ 157
1630
+ 158</pre>
1631
+ </td>
1632
+ <td>
1633
+ <pre class="code"><span class="info file"># File 'lib/gandi_v5/email/slot.rb', line 23</span>
1634
+
1635
+ <span class='kw'>class</span> <span class='const'><span class='object_link'><a href="" title="GandiV5::Email::Slot (class)">Slot</a></span></span>
1636
+ <span class='id identifier rubyid_include'>include</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data.html" title="GandiV5::Data (module)">Data</a></span></span>
1637
+
1638
+ <span class='id identifier rubyid_attr_reader'>attr_reader</span> <span class='symbol'>:fqdn</span>
1639
+
1640
+ <span class='id identifier rubyid_members'>members</span> <span class='symbol'>:id</span><span class='comma'>,</span> <span class='symbol'>:refundable</span><span class='comma'>,</span> <span class='symbol'>:refund_amount</span><span class='comma'>,</span> <span class='symbol'>:refund_currency</span>
1641
+ <span class='id identifier rubyid_member'>member</span><span class='lparen'>(</span>
1642
+ <span class='symbol'>:capacity</span><span class='comma'>,</span>
1643
+ <span class='label'>converter:</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data.html" title="GandiV5::Data (module)">Data</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter.html" title="GandiV5::Data::Converter (class)">Converter</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="../Data/Converter.html#initialize-instance_method" title="GandiV5::Data::Converter#initialize (method)">new</a></span></span><span class='lparen'>(</span>
1644
+ <span class='label'>from_gandi:</span> <span class='tlambda'>-&gt;</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='tlambeg'>{</span> <span class='id identifier rubyid_value'>value</span> <span class='op'>*</span> <span class='int'>1_024</span><span class='op'>**</span><span class='int'>2</span> <span class='rbrace'>}</span>
1645
+ <span class='rparen'>)</span>
1646
+ <span class='rparen'>)</span>
1647
+ <span class='id identifier rubyid_member'>member</span> <span class='symbol'>:created_at</span><span class='comma'>,</span> <span class='label'>converter:</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data.html" title="GandiV5::Data (module)">Data</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter.html" title="GandiV5::Data::Converter (class)">Converter</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter/Time.html" title="GandiV5::Data::Converter::Time (class)">Time</a></span></span>
1648
+ <span class='id identifier rubyid_member'>member</span> <span class='symbol'>:mailbox_type</span><span class='comma'>,</span> <span class='label'>converter:</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data.html" title="GandiV5::Data (module)">Data</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter.html" title="GandiV5::Data::Converter (class)">Converter</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter/Symbol.html" title="GandiV5::Data::Converter::Symbol (class)">Symbol</a></span></span>
1649
+ <span class='id identifier rubyid_member'>member</span> <span class='symbol'>:status</span><span class='comma'>,</span> <span class='label'>converter:</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data.html" title="GandiV5::Data (module)">Data</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter.html" title="GandiV5::Data::Converter (class)">Converter</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter/Symbol.html" title="GandiV5::Data::Converter::Symbol (class)">Symbol</a></span></span>
1650
+
1651
+ <span class='kw'>alias</span> <span class='id identifier rubyid_slot_id'>slot_id</span> <span class='id identifier rubyid_id'>id</span>
1652
+
1653
+ <span class='comment'># Create a new GandiV5::Email::Slot
1654
+ </span> <span class='comment'># @param fqdn [String] the fully qualified domain this slot belongs to.
1655
+ </span> <span class='comment'># @param members [Hash&lt;Symbol =&gt; Object&gt;]
1656
+ </span> <span class='comment'># @return [GandiV5::Email::Slot]
1657
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='label'>fqdn:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_members'>members</span><span class='rparen'>)</span>
1658
+ <span class='kw'>super</span><span class='lparen'>(</span><span class='op'>**</span><span class='id identifier rubyid_members'>members</span><span class='rparen'>)</span>
1659
+ <span class='ivar'>@fqdn</span> <span class='op'>=</span> <span class='id identifier rubyid_fqdn'>fqdn</span>
1660
+ <span class='kw'>end</span>
1661
+
1662
+ <span class='comment'># Delete this slot if it is inactive and refundable.
1663
+ </span> <span class='comment'># When you delete a slot, the prepaid account that was used to purchase the slot
1664
+ </span> <span class='comment'># will be refunded for the remaining time that will not be used.
1665
+ </span> <span class='comment'># @see GandiV5::Email::Mailbox#delete
1666
+ </span> <span class='comment'># @see https://api.gandi.net/docs/email#delete-v5-email-slots-domain-slot_id
1667
+ </span> <span class='comment'># @return [String] The confirmation message from Gandi.
1668
+ </span> <span class='comment'># @raise [GandiV5::Error] if slot is active.
1669
+ </span> <span class='comment'># @raise [GandiV5::Error] if slot is not refundable.
1670
+ </span> <span class='comment'># @raise [GandiV5::Error::GandiError] if Gandi returns an error.
1671
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_delete'>delete</span>
1672
+ <span class='id identifier rubyid_fail'>fail</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Error.html" title="GandiV5::Error (class)">Error</a></span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>slot can\&#39;t be deleted whilst active</span><span class='tstring_end'>&#39;</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_active?'>active?</span>
1673
+ <span class='id identifier rubyid_fail'>fail</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Error.html" title="GandiV5::Error (class)">Error</a></span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>slot can\&#39;t be deleted if it\&#39;s not refundable</span><span class='tstring_end'>&#39;</span></span> <span class='kw'>unless</span> <span class='id identifier rubyid_refundable'>refundable</span>
1674
+
1675
+ <span class='id identifier rubyid__response'>_response</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_delete'><span class='object_link'><a href="../../GandiV5.html#delete-class_method" title="GandiV5.delete (method)">delete</a></span></span> <span class='id identifier rubyid_url'>url</span>
1676
+ <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>message</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span>
1677
+ <span class='kw'>end</span>
1678
+
1679
+ <span class='comment'># Requery Gandi for this slot&#39;s information.
1680
+ </span> <span class='comment'># @see https://api.gandi.net/docs/email#get-v5-email-slots-domain-slot_id
1681
+ </span> <span class='comment'># @return [GandiV5::Email::Slot]
1682
+ </span> <span class='comment'># @raise [GandiV5::Error::GandiError] if Gandi returns an error.
1683
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_refresh'>refresh</span>
1684
+ <span class='id identifier rubyid__response'>_response</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_get'><span class='object_link'><a href="../../GandiV5.html#get-class_method" title="GandiV5.get (method)">get</a></span></span> <span class='id identifier rubyid_url'>url</span>
1685
+ <span class='id identifier rubyid_from_gandi'>from_gandi</span> <span class='id identifier rubyid_data'>data</span>
1686
+ <span class='kw'>end</span>
1687
+
1688
+ <span class='comment'># Creates a new slot. You must have slots available before you can create a mailbox.
1689
+ </span> <span class='comment'># If you have used the two free standard 3GB mailbox slots that are included with the domain,
1690
+ </span> <span class='comment'># but require more mailboxes on that domain, you must first purchase additional slots.
1691
+ </span> <span class='comment'># @see https://api.gandi.net/docs/email#post-v5-email-slots-domain
1692
+ </span> <span class='comment'># @param fqdn [String, #to_s] the fully qualified domain name to add the slot to.
1693
+ </span> <span class='comment'># @param type [:standard, :premium] Tyhe type of slot to add.
1694
+ </span> <span class='comment'># @return [String] The confirmation message from Gandi.
1695
+ </span> <span class='comment'># @raise [GandiV5::Error::GandiError] if Gandi returns an error.
1696
+ </span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span> <span class='op'>=</span> <span class='symbol'>:standard</span><span class='rparen'>)</span>
1697
+ <span class='id identifier rubyid_body'>body</span> <span class='op'>=</span> <span class='lbrace'>{</span>
1698
+ <span class='label'>mailbox_type:</span> <span class='id identifier rubyid_type'>type</span>
1699
+ <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_to_json'>to_json</span>
1700
+
1701
+ <span class='id identifier rubyid_response'>response</span><span class='comma'>,</span> <span class='id identifier rubyid__data'>_data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_post'><span class='object_link'><a href="../../GandiV5.html#post-class_method" title="GandiV5.post (method)">post</a></span></span> <span class='id identifier rubyid_url'>url</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_body'>body</span>
1702
+ <span class='id identifier rubyid_fetch'>fetch</span> <span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_response'>response</span><span class='period'>.</span><span class='id identifier rubyid_headers'>headers</span><span class='lbracket'>[</span><span class='symbol'>:location</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>/</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_last'>last</span>
1703
+ <span class='kw'>end</span>
1704
+
1705
+ <span class='comment'># Get information for a slot.
1706
+ </span> <span class='comment'># @see https://api.gandi.net/docs/email#get-v5-email-slots-domain-slot_id
1707
+ </span> <span class='comment'># @param fqdn [String, #to_s] the fully qualified domain name the slot is on.
1708
+ </span> <span class='comment'># @param id [String, #to_s] the ID of the slot to fetch.
1709
+ </span> <span class='comment'># @return [GandiV5::Email::Slot]
1710
+ </span> <span class='comment'># @raise [GandiV5::Error::GandiError] if Gandi returns an error.
1711
+ </span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_fetch'>fetch</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_id'>id</span><span class='rparen'>)</span>
1712
+ <span class='id identifier rubyid__response'>_response</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_get'><span class='object_link'><a href="../../GandiV5.html#get-class_method" title="GandiV5.get (method)">get</a></span></span> <span class='id identifier rubyid_url'>url</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_id'>id</span><span class='rparen'>)</span>
1713
+ <span class='id identifier rubyid_slot'>slot</span> <span class='op'>=</span> <span class='id identifier rubyid_from_gandi'>from_gandi</span> <span class='id identifier rubyid_data'>data</span>
1714
+ <span class='id identifier rubyid_slot'>slot</span><span class='period'>.</span><span class='id identifier rubyid_instance_eval'>instance_eval</span> <span class='lbrace'>{</span> <span class='ivar'>@fqdn</span> <span class='op'>=</span> <span class='id identifier rubyid_fqdn'>fqdn</span> <span class='rbrace'>}</span>
1715
+ <span class='id identifier rubyid_slot'>slot</span>
1716
+ <span class='kw'>end</span>
1717
+
1718
+ <span class='comment'># List slots for a domain.
1719
+ </span> <span class='comment'># @see https://api.gandi.net/docs/email#
1720
+ </span> <span class='comment'># @param fqdn [String, #to_s] the fully qualified domain name to list slots for.
1721
+ </span> <span class='comment'># @return [Array&lt;GandiV5::Email::Slot&gt;]
1722
+ </span> <span class='comment'># @raise [GandiV5::Error::GandiError] if Gandi returns an error.
1723
+ </span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_list'>list</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='rparen'>)</span>
1724
+ <span class='id identifier rubyid__response'>_response</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_get'><span class='object_link'><a href="../../GandiV5.html#get-class_method" title="GandiV5.get (method)">get</a></span></span> <span class='id identifier rubyid_url'>url</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='rparen'>)</span>
1725
+ <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_item'>item</span><span class='op'>|</span> <span class='id identifier rubyid_from_gandi'>from_gandi</span> <span class='id identifier rubyid_item'>item</span> <span class='rbrace'>}</span>
1726
+ <span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_item'>item</span><span class='op'>|</span> <span class='id identifier rubyid_item'>item</span><span class='period'>.</span><span class='id identifier rubyid_instance_eval'>instance_eval</span> <span class='lbrace'>{</span> <span class='ivar'>@fqdn</span> <span class='op'>=</span> <span class='id identifier rubyid_fqdn'>fqdn</span> <span class='rbrace'>}</span> <span class='rbrace'>}</span>
1727
+ <span class='kw'>end</span>
1728
+
1729
+ <span class='comment'># Check if the slot is active (in use)
1730
+ </span> <span class='comment'># @return [Boolean]
1731
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_active?'>active?</span>
1732
+ <span class='id identifier rubyid_status'>status</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:active</span><span class='rparen'>)</span>
1733
+ <span class='kw'>end</span>
1734
+
1735
+ <span class='comment'># Check if the slot is inactive (not in use)
1736
+ </span> <span class='comment'># @return [Boolean]
1737
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_inactive?'>inactive?</span>
1738
+ <span class='id identifier rubyid_status'>status</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:inactive</span><span class='rparen'>)</span>
1739
+ <span class='kw'>end</span>
1740
+
1741
+ <span class='comment'># Check if the slot&#39;s mailbox_type is :free
1742
+ </span> <span class='comment'># @return [Boolean]
1743
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_free?'>free?</span>
1744
+ <span class='id identifier rubyid_mailbox_type'>mailbox_type</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:free</span><span class='rparen'>)</span>
1745
+ <span class='kw'>end</span>
1746
+
1747
+ <span class='comment'># Check if the slot&#39;s mailbox_type is :standard
1748
+ </span> <span class='comment'># @return [Boolean]
1749
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_standard?'>standard?</span>
1750
+ <span class='id identifier rubyid_mailbox_type'>mailbox_type</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:standard</span><span class='rparen'>)</span>
1751
+ <span class='kw'>end</span>
1752
+
1753
+ <span class='comment'># Check if the slot&#39;s mailbox_type is :premium
1754
+ </span> <span class='comment'># @return [Boolean]
1755
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_premium?'>premium?</span>
1756
+ <span class='id identifier rubyid_mailbox_type'>mailbox_type</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:premium</span><span class='rparen'>)</span>
1757
+ <span class='kw'>end</span>
1758
+
1759
+ <span class='id identifier rubyid_private'>private</span>
1760
+
1761
+ <span class='kw'>def</span> <span class='id identifier rubyid_url'>url</span>
1762
+ <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="../../GandiV5.html#BASE-constant" title="GandiV5::BASE (constant)">BASE</a></span></span><span class='embexpr_end'>}</span><span class='tstring_content'>email/slots/</span><span class='embexpr_beg'>#{</span><span class='const'>CGI</span><span class='period'>.</span><span class='id identifier rubyid_escape'>escape</span> <span class='id identifier rubyid_fqdn'>fqdn</span><span class='embexpr_end'>}</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_id'>id</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span>
1763
+ <span class='kw'>end</span>
1764
+
1765
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_url'>url</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_id'>id</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
1766
+ <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="../../GandiV5.html#BASE-constant" title="GandiV5::BASE (constant)">BASE</a></span></span><span class='embexpr_end'>}</span><span class='tstring_content'>email/slots/</span><span class='embexpr_beg'>#{</span><span class='const'>CGI</span><span class='period'>.</span><span class='id identifier rubyid_escape'>escape</span> <span class='id identifier rubyid_fqdn'>fqdn</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span> <span class='op'>+</span>
1767
+ <span class='lparen'>(</span><span class='id identifier rubyid_id'>id</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_id'>id</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
1768
+ <span class='kw'>end</span>
1769
+ <span class='id identifier rubyid_private_class_method'>private_class_method</span> <span class='symbol'>:url</span>
1770
+ <span class='kw'>end</span></pre>
1771
+ </td>
1772
+ </tr>
1773
+ </table>
1774
+ </div>
1775
+
1776
+
1777
+ <span id=""></span>
1778
+ <div class="method_details ">
1779
+ <h3 class="signature " id="mailbox_type-instance_method">
1780
+
1781
+ #<strong>mailbox_type</strong> &#x21d2; <tt>:standard</tt>, <tt>:premium</tt> <span class="extras">(readonly)</span>
1782
+
1783
+
1784
+
1785
+
1786
+
1787
+ </h3><div class="docstring">
1788
+ <div class="discussion">
1789
+
1790
+
1791
+ </div>
1792
+ </div>
1793
+ <div class="tags">
1794
+
1795
+ <p class="tag_title">Returns:</p>
1796
+ <ul class="return">
1797
+
1798
+ <li>
1799
+
1800
+
1801
+ <span class='type'>(<tt>:standard</tt>, <tt>:premium</tt>)</span>
1802
+
1803
+
1804
+
1805
+ </li>
1806
+
1807
+ </ul>
1808
+
1809
+ </div><table class="source_code">
1810
+ <tr>
1811
+ <td>
1812
+ <pre class="lines">
1813
+
1814
+
1815
+ 23
1816
+ 24
1817
+ 25
1818
+ 26
1819
+ 27
1820
+ 28
1821
+ 29
1822
+ 30
1823
+ 31
1824
+ 32
1825
+ 33
1826
+ 34
1827
+ 35
1828
+ 36
1829
+ 37
1830
+ 38
1831
+ 39
1832
+ 40
1833
+ 41
1834
+ 42
1835
+ 43
1836
+ 44
1837
+ 45
1838
+ 46
1839
+ 47
1840
+ 48
1841
+ 49
1842
+ 50
1843
+ 51
1844
+ 52
1845
+ 53
1846
+ 54
1847
+ 55
1848
+ 56
1849
+ 57
1850
+ 58
1851
+ 59
1852
+ 60
1853
+ 61
1854
+ 62
1855
+ 63
1856
+ 64
1857
+ 65
1858
+ 66
1859
+ 67
1860
+ 68
1861
+ 69
1862
+ 70
1863
+ 71
1864
+ 72
1865
+ 73
1866
+ 74
1867
+ 75
1868
+ 76
1869
+ 77
1870
+ 78
1871
+ 79
1872
+ 80
1873
+ 81
1874
+ 82
1875
+ 83
1876
+ 84
1877
+ 85
1878
+ 86
1879
+ 87
1880
+ 88
1881
+ 89
1882
+ 90
1883
+ 91
1884
+ 92
1885
+ 93
1886
+ 94
1887
+ 95
1888
+ 96
1889
+ 97
1890
+ 98
1891
+ 99
1892
+ 100
1893
+ 101
1894
+ 102
1895
+ 103
1896
+ 104
1897
+ 105
1898
+ 106
1899
+ 107
1900
+ 108
1901
+ 109
1902
+ 110
1903
+ 111
1904
+ 112
1905
+ 113
1906
+ 114
1907
+ 115
1908
+ 116
1909
+ 117
1910
+ 118
1911
+ 119
1912
+ 120
1913
+ 121
1914
+ 122
1915
+ 123
1916
+ 124
1917
+ 125
1918
+ 126
1919
+ 127
1920
+ 128
1921
+ 129
1922
+ 130
1923
+ 131
1924
+ 132
1925
+ 133
1926
+ 134
1927
+ 135
1928
+ 136
1929
+ 137
1930
+ 138
1931
+ 139
1932
+ 140
1933
+ 141
1934
+ 142
1935
+ 143
1936
+ 144
1937
+ 145
1938
+ 146
1939
+ 147
1940
+ 148
1941
+ 149
1942
+ 150
1943
+ 151
1944
+ 152
1945
+ 153
1946
+ 154
1947
+ 155
1948
+ 156
1949
+ 157
1950
+ 158</pre>
1951
+ </td>
1952
+ <td>
1953
+ <pre class="code"><span class="info file"># File 'lib/gandi_v5/email/slot.rb', line 23</span>
1954
+
1955
+ <span class='kw'>class</span> <span class='const'><span class='object_link'><a href="" title="GandiV5::Email::Slot (class)">Slot</a></span></span>
1956
+ <span class='id identifier rubyid_include'>include</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data.html" title="GandiV5::Data (module)">Data</a></span></span>
1957
+
1958
+ <span class='id identifier rubyid_attr_reader'>attr_reader</span> <span class='symbol'>:fqdn</span>
1959
+
1960
+ <span class='id identifier rubyid_members'>members</span> <span class='symbol'>:id</span><span class='comma'>,</span> <span class='symbol'>:refundable</span><span class='comma'>,</span> <span class='symbol'>:refund_amount</span><span class='comma'>,</span> <span class='symbol'>:refund_currency</span>
1961
+ <span class='id identifier rubyid_member'>member</span><span class='lparen'>(</span>
1962
+ <span class='symbol'>:capacity</span><span class='comma'>,</span>
1963
+ <span class='label'>converter:</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data.html" title="GandiV5::Data (module)">Data</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter.html" title="GandiV5::Data::Converter (class)">Converter</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="../Data/Converter.html#initialize-instance_method" title="GandiV5::Data::Converter#initialize (method)">new</a></span></span><span class='lparen'>(</span>
1964
+ <span class='label'>from_gandi:</span> <span class='tlambda'>-&gt;</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='tlambeg'>{</span> <span class='id identifier rubyid_value'>value</span> <span class='op'>*</span> <span class='int'>1_024</span><span class='op'>**</span><span class='int'>2</span> <span class='rbrace'>}</span>
1965
+ <span class='rparen'>)</span>
1966
+ <span class='rparen'>)</span>
1967
+ <span class='id identifier rubyid_member'>member</span> <span class='symbol'>:created_at</span><span class='comma'>,</span> <span class='label'>converter:</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data.html" title="GandiV5::Data (module)">Data</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter.html" title="GandiV5::Data::Converter (class)">Converter</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter/Time.html" title="GandiV5::Data::Converter::Time (class)">Time</a></span></span>
1968
+ <span class='id identifier rubyid_member'>member</span> <span class='symbol'>:mailbox_type</span><span class='comma'>,</span> <span class='label'>converter:</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data.html" title="GandiV5::Data (module)">Data</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter.html" title="GandiV5::Data::Converter (class)">Converter</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter/Symbol.html" title="GandiV5::Data::Converter::Symbol (class)">Symbol</a></span></span>
1969
+ <span class='id identifier rubyid_member'>member</span> <span class='symbol'>:status</span><span class='comma'>,</span> <span class='label'>converter:</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data.html" title="GandiV5::Data (module)">Data</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter.html" title="GandiV5::Data::Converter (class)">Converter</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter/Symbol.html" title="GandiV5::Data::Converter::Symbol (class)">Symbol</a></span></span>
1970
+
1971
+ <span class='kw'>alias</span> <span class='id identifier rubyid_slot_id'>slot_id</span> <span class='id identifier rubyid_id'>id</span>
1972
+
1973
+ <span class='comment'># Create a new GandiV5::Email::Slot
1974
+ </span> <span class='comment'># @param fqdn [String] the fully qualified domain this slot belongs to.
1975
+ </span> <span class='comment'># @param members [Hash&lt;Symbol =&gt; Object&gt;]
1976
+ </span> <span class='comment'># @return [GandiV5::Email::Slot]
1977
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='label'>fqdn:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_members'>members</span><span class='rparen'>)</span>
1978
+ <span class='kw'>super</span><span class='lparen'>(</span><span class='op'>**</span><span class='id identifier rubyid_members'>members</span><span class='rparen'>)</span>
1979
+ <span class='ivar'>@fqdn</span> <span class='op'>=</span> <span class='id identifier rubyid_fqdn'>fqdn</span>
1980
+ <span class='kw'>end</span>
1981
+
1982
+ <span class='comment'># Delete this slot if it is inactive and refundable.
1983
+ </span> <span class='comment'># When you delete a slot, the prepaid account that was used to purchase the slot
1984
+ </span> <span class='comment'># will be refunded for the remaining time that will not be used.
1985
+ </span> <span class='comment'># @see GandiV5::Email::Mailbox#delete
1986
+ </span> <span class='comment'># @see https://api.gandi.net/docs/email#delete-v5-email-slots-domain-slot_id
1987
+ </span> <span class='comment'># @return [String] The confirmation message from Gandi.
1988
+ </span> <span class='comment'># @raise [GandiV5::Error] if slot is active.
1989
+ </span> <span class='comment'># @raise [GandiV5::Error] if slot is not refundable.
1990
+ </span> <span class='comment'># @raise [GandiV5::Error::GandiError] if Gandi returns an error.
1991
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_delete'>delete</span>
1992
+ <span class='id identifier rubyid_fail'>fail</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Error.html" title="GandiV5::Error (class)">Error</a></span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>slot can\&#39;t be deleted whilst active</span><span class='tstring_end'>&#39;</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_active?'>active?</span>
1993
+ <span class='id identifier rubyid_fail'>fail</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Error.html" title="GandiV5::Error (class)">Error</a></span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>slot can\&#39;t be deleted if it\&#39;s not refundable</span><span class='tstring_end'>&#39;</span></span> <span class='kw'>unless</span> <span class='id identifier rubyid_refundable'>refundable</span>
1994
+
1995
+ <span class='id identifier rubyid__response'>_response</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_delete'><span class='object_link'><a href="../../GandiV5.html#delete-class_method" title="GandiV5.delete (method)">delete</a></span></span> <span class='id identifier rubyid_url'>url</span>
1996
+ <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>message</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span>
1997
+ <span class='kw'>end</span>
1998
+
1999
+ <span class='comment'># Requery Gandi for this slot&#39;s information.
2000
+ </span> <span class='comment'># @see https://api.gandi.net/docs/email#get-v5-email-slots-domain-slot_id
2001
+ </span> <span class='comment'># @return [GandiV5::Email::Slot]
2002
+ </span> <span class='comment'># @raise [GandiV5::Error::GandiError] if Gandi returns an error.
2003
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_refresh'>refresh</span>
2004
+ <span class='id identifier rubyid__response'>_response</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_get'><span class='object_link'><a href="../../GandiV5.html#get-class_method" title="GandiV5.get (method)">get</a></span></span> <span class='id identifier rubyid_url'>url</span>
2005
+ <span class='id identifier rubyid_from_gandi'>from_gandi</span> <span class='id identifier rubyid_data'>data</span>
2006
+ <span class='kw'>end</span>
2007
+
2008
+ <span class='comment'># Creates a new slot. You must have slots available before you can create a mailbox.
2009
+ </span> <span class='comment'># If you have used the two free standard 3GB mailbox slots that are included with the domain,
2010
+ </span> <span class='comment'># but require more mailboxes on that domain, you must first purchase additional slots.
2011
+ </span> <span class='comment'># @see https://api.gandi.net/docs/email#post-v5-email-slots-domain
2012
+ </span> <span class='comment'># @param fqdn [String, #to_s] the fully qualified domain name to add the slot to.
2013
+ </span> <span class='comment'># @param type [:standard, :premium] Tyhe type of slot to add.
2014
+ </span> <span class='comment'># @return [String] The confirmation message from Gandi.
2015
+ </span> <span class='comment'># @raise [GandiV5::Error::GandiError] if Gandi returns an error.
2016
+ </span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span> <span class='op'>=</span> <span class='symbol'>:standard</span><span class='rparen'>)</span>
2017
+ <span class='id identifier rubyid_body'>body</span> <span class='op'>=</span> <span class='lbrace'>{</span>
2018
+ <span class='label'>mailbox_type:</span> <span class='id identifier rubyid_type'>type</span>
2019
+ <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_to_json'>to_json</span>
2020
+
2021
+ <span class='id identifier rubyid_response'>response</span><span class='comma'>,</span> <span class='id identifier rubyid__data'>_data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_post'><span class='object_link'><a href="../../GandiV5.html#post-class_method" title="GandiV5.post (method)">post</a></span></span> <span class='id identifier rubyid_url'>url</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_body'>body</span>
2022
+ <span class='id identifier rubyid_fetch'>fetch</span> <span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_response'>response</span><span class='period'>.</span><span class='id identifier rubyid_headers'>headers</span><span class='lbracket'>[</span><span class='symbol'>:location</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>/</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_last'>last</span>
2023
+ <span class='kw'>end</span>
2024
+
2025
+ <span class='comment'># Get information for a slot.
2026
+ </span> <span class='comment'># @see https://api.gandi.net/docs/email#get-v5-email-slots-domain-slot_id
2027
+ </span> <span class='comment'># @param fqdn [String, #to_s] the fully qualified domain name the slot is on.
2028
+ </span> <span class='comment'># @param id [String, #to_s] the ID of the slot to fetch.
2029
+ </span> <span class='comment'># @return [GandiV5::Email::Slot]
2030
+ </span> <span class='comment'># @raise [GandiV5::Error::GandiError] if Gandi returns an error.
2031
+ </span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_fetch'>fetch</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_id'>id</span><span class='rparen'>)</span>
2032
+ <span class='id identifier rubyid__response'>_response</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_get'><span class='object_link'><a href="../../GandiV5.html#get-class_method" title="GandiV5.get (method)">get</a></span></span> <span class='id identifier rubyid_url'>url</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_id'>id</span><span class='rparen'>)</span>
2033
+ <span class='id identifier rubyid_slot'>slot</span> <span class='op'>=</span> <span class='id identifier rubyid_from_gandi'>from_gandi</span> <span class='id identifier rubyid_data'>data</span>
2034
+ <span class='id identifier rubyid_slot'>slot</span><span class='period'>.</span><span class='id identifier rubyid_instance_eval'>instance_eval</span> <span class='lbrace'>{</span> <span class='ivar'>@fqdn</span> <span class='op'>=</span> <span class='id identifier rubyid_fqdn'>fqdn</span> <span class='rbrace'>}</span>
2035
+ <span class='id identifier rubyid_slot'>slot</span>
2036
+ <span class='kw'>end</span>
2037
+
2038
+ <span class='comment'># List slots for a domain.
2039
+ </span> <span class='comment'># @see https://api.gandi.net/docs/email#
2040
+ </span> <span class='comment'># @param fqdn [String, #to_s] the fully qualified domain name to list slots for.
2041
+ </span> <span class='comment'># @return [Array&lt;GandiV5::Email::Slot&gt;]
2042
+ </span> <span class='comment'># @raise [GandiV5::Error::GandiError] if Gandi returns an error.
2043
+ </span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_list'>list</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='rparen'>)</span>
2044
+ <span class='id identifier rubyid__response'>_response</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_get'><span class='object_link'><a href="../../GandiV5.html#get-class_method" title="GandiV5.get (method)">get</a></span></span> <span class='id identifier rubyid_url'>url</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='rparen'>)</span>
2045
+ <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_item'>item</span><span class='op'>|</span> <span class='id identifier rubyid_from_gandi'>from_gandi</span> <span class='id identifier rubyid_item'>item</span> <span class='rbrace'>}</span>
2046
+ <span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_item'>item</span><span class='op'>|</span> <span class='id identifier rubyid_item'>item</span><span class='period'>.</span><span class='id identifier rubyid_instance_eval'>instance_eval</span> <span class='lbrace'>{</span> <span class='ivar'>@fqdn</span> <span class='op'>=</span> <span class='id identifier rubyid_fqdn'>fqdn</span> <span class='rbrace'>}</span> <span class='rbrace'>}</span>
2047
+ <span class='kw'>end</span>
2048
+
2049
+ <span class='comment'># Check if the slot is active (in use)
2050
+ </span> <span class='comment'># @return [Boolean]
2051
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_active?'>active?</span>
2052
+ <span class='id identifier rubyid_status'>status</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:active</span><span class='rparen'>)</span>
2053
+ <span class='kw'>end</span>
2054
+
2055
+ <span class='comment'># Check if the slot is inactive (not in use)
2056
+ </span> <span class='comment'># @return [Boolean]
2057
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_inactive?'>inactive?</span>
2058
+ <span class='id identifier rubyid_status'>status</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:inactive</span><span class='rparen'>)</span>
2059
+ <span class='kw'>end</span>
2060
+
2061
+ <span class='comment'># Check if the slot&#39;s mailbox_type is :free
2062
+ </span> <span class='comment'># @return [Boolean]
2063
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_free?'>free?</span>
2064
+ <span class='id identifier rubyid_mailbox_type'>mailbox_type</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:free</span><span class='rparen'>)</span>
2065
+ <span class='kw'>end</span>
2066
+
2067
+ <span class='comment'># Check if the slot&#39;s mailbox_type is :standard
2068
+ </span> <span class='comment'># @return [Boolean]
2069
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_standard?'>standard?</span>
2070
+ <span class='id identifier rubyid_mailbox_type'>mailbox_type</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:standard</span><span class='rparen'>)</span>
2071
+ <span class='kw'>end</span>
2072
+
2073
+ <span class='comment'># Check if the slot&#39;s mailbox_type is :premium
2074
+ </span> <span class='comment'># @return [Boolean]
2075
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_premium?'>premium?</span>
2076
+ <span class='id identifier rubyid_mailbox_type'>mailbox_type</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:premium</span><span class='rparen'>)</span>
2077
+ <span class='kw'>end</span>
2078
+
2079
+ <span class='id identifier rubyid_private'>private</span>
2080
+
2081
+ <span class='kw'>def</span> <span class='id identifier rubyid_url'>url</span>
2082
+ <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="../../GandiV5.html#BASE-constant" title="GandiV5::BASE (constant)">BASE</a></span></span><span class='embexpr_end'>}</span><span class='tstring_content'>email/slots/</span><span class='embexpr_beg'>#{</span><span class='const'>CGI</span><span class='period'>.</span><span class='id identifier rubyid_escape'>escape</span> <span class='id identifier rubyid_fqdn'>fqdn</span><span class='embexpr_end'>}</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_id'>id</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span>
2083
+ <span class='kw'>end</span>
2084
+
2085
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_url'>url</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_id'>id</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
2086
+ <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="../../GandiV5.html#BASE-constant" title="GandiV5::BASE (constant)">BASE</a></span></span><span class='embexpr_end'>}</span><span class='tstring_content'>email/slots/</span><span class='embexpr_beg'>#{</span><span class='const'>CGI</span><span class='period'>.</span><span class='id identifier rubyid_escape'>escape</span> <span class='id identifier rubyid_fqdn'>fqdn</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span> <span class='op'>+</span>
2087
+ <span class='lparen'>(</span><span class='id identifier rubyid_id'>id</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_id'>id</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
2088
+ <span class='kw'>end</span>
2089
+ <span class='id identifier rubyid_private_class_method'>private_class_method</span> <span class='symbol'>:url</span>
2090
+ <span class='kw'>end</span></pre>
2091
+ </td>
2092
+ </tr>
2093
+ </table>
2094
+ </div>
2095
+
2096
+
2097
+ <span id=""></span>
2098
+ <div class="method_details ">
2099
+ <h3 class="signature " id="refund_amount-instance_method">
2100
+
2101
+ #<strong>refund_amount</strong> &#x21d2; <tt>nil</tt>, <tt>Numeric</tt> <span class="extras">(readonly)</span>
2102
+
2103
+
2104
+
2105
+
2106
+
2107
+ </h3><div class="docstring">
2108
+ <div class="discussion">
2109
+
2110
+ <p>Returns refunded amount if you delete this slot now.</p>
2111
+
2112
+
2113
+ </div>
2114
+ </div>
2115
+ <div class="tags">
2116
+
2117
+ <p class="tag_title">Returns:</p>
2118
+ <ul class="return">
2119
+
2120
+ <li>
2121
+
2122
+
2123
+ <span class='type'>(<tt>nil</tt>, <tt>Numeric</tt>)</span>
2124
+
2125
+
2126
+
2127
+ &mdash;
2128
+ <div class='inline'>
2129
+ <p>refunded amount if you delete this slot now.</p>
2130
+ </div>
2131
+
2132
+ </li>
2133
+
2134
+ </ul>
2135
+
2136
+ </div><table class="source_code">
2137
+ <tr>
2138
+ <td>
2139
+ <pre class="lines">
2140
+
2141
+
2142
+ 23
2143
+ 24
2144
+ 25
2145
+ 26
2146
+ 27
2147
+ 28
2148
+ 29
2149
+ 30
2150
+ 31
2151
+ 32
2152
+ 33
2153
+ 34
2154
+ 35
2155
+ 36
2156
+ 37
2157
+ 38
2158
+ 39
2159
+ 40
2160
+ 41
2161
+ 42
2162
+ 43
2163
+ 44
2164
+ 45
2165
+ 46
2166
+ 47
2167
+ 48
2168
+ 49
2169
+ 50
2170
+ 51
2171
+ 52
2172
+ 53
2173
+ 54
2174
+ 55
2175
+ 56
2176
+ 57
2177
+ 58
2178
+ 59
2179
+ 60
2180
+ 61
2181
+ 62
2182
+ 63
2183
+ 64
2184
+ 65
2185
+ 66
2186
+ 67
2187
+ 68
2188
+ 69
2189
+ 70
2190
+ 71
2191
+ 72
2192
+ 73
2193
+ 74
2194
+ 75
2195
+ 76
2196
+ 77
2197
+ 78
2198
+ 79
2199
+ 80
2200
+ 81
2201
+ 82
2202
+ 83
2203
+ 84
2204
+ 85
2205
+ 86
2206
+ 87
2207
+ 88
2208
+ 89
2209
+ 90
2210
+ 91
2211
+ 92
2212
+ 93
2213
+ 94
2214
+ 95
2215
+ 96
2216
+ 97
2217
+ 98
2218
+ 99
2219
+ 100
2220
+ 101
2221
+ 102
2222
+ 103
2223
+ 104
2224
+ 105
2225
+ 106
2226
+ 107
2227
+ 108
2228
+ 109
2229
+ 110
2230
+ 111
2231
+ 112
2232
+ 113
2233
+ 114
2234
+ 115
2235
+ 116
2236
+ 117
2237
+ 118
2238
+ 119
2239
+ 120
2240
+ 121
2241
+ 122
2242
+ 123
2243
+ 124
2244
+ 125
2245
+ 126
2246
+ 127
2247
+ 128
2248
+ 129
2249
+ 130
2250
+ 131
2251
+ 132
2252
+ 133
2253
+ 134
2254
+ 135
2255
+ 136
2256
+ 137
2257
+ 138
2258
+ 139
2259
+ 140
2260
+ 141
2261
+ 142
2262
+ 143
2263
+ 144
2264
+ 145
2265
+ 146
2266
+ 147
2267
+ 148
2268
+ 149
2269
+ 150
2270
+ 151
2271
+ 152
2272
+ 153
2273
+ 154
2274
+ 155
2275
+ 156
2276
+ 157
2277
+ 158</pre>
2278
+ </td>
2279
+ <td>
2280
+ <pre class="code"><span class="info file"># File 'lib/gandi_v5/email/slot.rb', line 23</span>
2281
+
2282
+ <span class='kw'>class</span> <span class='const'><span class='object_link'><a href="" title="GandiV5::Email::Slot (class)">Slot</a></span></span>
2283
+ <span class='id identifier rubyid_include'>include</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data.html" title="GandiV5::Data (module)">Data</a></span></span>
2284
+
2285
+ <span class='id identifier rubyid_attr_reader'>attr_reader</span> <span class='symbol'>:fqdn</span>
2286
+
2287
+ <span class='id identifier rubyid_members'>members</span> <span class='symbol'>:id</span><span class='comma'>,</span> <span class='symbol'>:refundable</span><span class='comma'>,</span> <span class='symbol'>:refund_amount</span><span class='comma'>,</span> <span class='symbol'>:refund_currency</span>
2288
+ <span class='id identifier rubyid_member'>member</span><span class='lparen'>(</span>
2289
+ <span class='symbol'>:capacity</span><span class='comma'>,</span>
2290
+ <span class='label'>converter:</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data.html" title="GandiV5::Data (module)">Data</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter.html" title="GandiV5::Data::Converter (class)">Converter</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="../Data/Converter.html#initialize-instance_method" title="GandiV5::Data::Converter#initialize (method)">new</a></span></span><span class='lparen'>(</span>
2291
+ <span class='label'>from_gandi:</span> <span class='tlambda'>-&gt;</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='tlambeg'>{</span> <span class='id identifier rubyid_value'>value</span> <span class='op'>*</span> <span class='int'>1_024</span><span class='op'>**</span><span class='int'>2</span> <span class='rbrace'>}</span>
2292
+ <span class='rparen'>)</span>
2293
+ <span class='rparen'>)</span>
2294
+ <span class='id identifier rubyid_member'>member</span> <span class='symbol'>:created_at</span><span class='comma'>,</span> <span class='label'>converter:</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data.html" title="GandiV5::Data (module)">Data</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter.html" title="GandiV5::Data::Converter (class)">Converter</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter/Time.html" title="GandiV5::Data::Converter::Time (class)">Time</a></span></span>
2295
+ <span class='id identifier rubyid_member'>member</span> <span class='symbol'>:mailbox_type</span><span class='comma'>,</span> <span class='label'>converter:</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data.html" title="GandiV5::Data (module)">Data</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter.html" title="GandiV5::Data::Converter (class)">Converter</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter/Symbol.html" title="GandiV5::Data::Converter::Symbol (class)">Symbol</a></span></span>
2296
+ <span class='id identifier rubyid_member'>member</span> <span class='symbol'>:status</span><span class='comma'>,</span> <span class='label'>converter:</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data.html" title="GandiV5::Data (module)">Data</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter.html" title="GandiV5::Data::Converter (class)">Converter</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter/Symbol.html" title="GandiV5::Data::Converter::Symbol (class)">Symbol</a></span></span>
2297
+
2298
+ <span class='kw'>alias</span> <span class='id identifier rubyid_slot_id'>slot_id</span> <span class='id identifier rubyid_id'>id</span>
2299
+
2300
+ <span class='comment'># Create a new GandiV5::Email::Slot
2301
+ </span> <span class='comment'># @param fqdn [String] the fully qualified domain this slot belongs to.
2302
+ </span> <span class='comment'># @param members [Hash&lt;Symbol =&gt; Object&gt;]
2303
+ </span> <span class='comment'># @return [GandiV5::Email::Slot]
2304
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='label'>fqdn:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_members'>members</span><span class='rparen'>)</span>
2305
+ <span class='kw'>super</span><span class='lparen'>(</span><span class='op'>**</span><span class='id identifier rubyid_members'>members</span><span class='rparen'>)</span>
2306
+ <span class='ivar'>@fqdn</span> <span class='op'>=</span> <span class='id identifier rubyid_fqdn'>fqdn</span>
2307
+ <span class='kw'>end</span>
2308
+
2309
+ <span class='comment'># Delete this slot if it is inactive and refundable.
2310
+ </span> <span class='comment'># When you delete a slot, the prepaid account that was used to purchase the slot
2311
+ </span> <span class='comment'># will be refunded for the remaining time that will not be used.
2312
+ </span> <span class='comment'># @see GandiV5::Email::Mailbox#delete
2313
+ </span> <span class='comment'># @see https://api.gandi.net/docs/email#delete-v5-email-slots-domain-slot_id
2314
+ </span> <span class='comment'># @return [String] The confirmation message from Gandi.
2315
+ </span> <span class='comment'># @raise [GandiV5::Error] if slot is active.
2316
+ </span> <span class='comment'># @raise [GandiV5::Error] if slot is not refundable.
2317
+ </span> <span class='comment'># @raise [GandiV5::Error::GandiError] if Gandi returns an error.
2318
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_delete'>delete</span>
2319
+ <span class='id identifier rubyid_fail'>fail</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Error.html" title="GandiV5::Error (class)">Error</a></span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>slot can\&#39;t be deleted whilst active</span><span class='tstring_end'>&#39;</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_active?'>active?</span>
2320
+ <span class='id identifier rubyid_fail'>fail</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Error.html" title="GandiV5::Error (class)">Error</a></span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>slot can\&#39;t be deleted if it\&#39;s not refundable</span><span class='tstring_end'>&#39;</span></span> <span class='kw'>unless</span> <span class='id identifier rubyid_refundable'>refundable</span>
2321
+
2322
+ <span class='id identifier rubyid__response'>_response</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_delete'><span class='object_link'><a href="../../GandiV5.html#delete-class_method" title="GandiV5.delete (method)">delete</a></span></span> <span class='id identifier rubyid_url'>url</span>
2323
+ <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>message</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span>
2324
+ <span class='kw'>end</span>
2325
+
2326
+ <span class='comment'># Requery Gandi for this slot&#39;s information.
2327
+ </span> <span class='comment'># @see https://api.gandi.net/docs/email#get-v5-email-slots-domain-slot_id
2328
+ </span> <span class='comment'># @return [GandiV5::Email::Slot]
2329
+ </span> <span class='comment'># @raise [GandiV5::Error::GandiError] if Gandi returns an error.
2330
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_refresh'>refresh</span>
2331
+ <span class='id identifier rubyid__response'>_response</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_get'><span class='object_link'><a href="../../GandiV5.html#get-class_method" title="GandiV5.get (method)">get</a></span></span> <span class='id identifier rubyid_url'>url</span>
2332
+ <span class='id identifier rubyid_from_gandi'>from_gandi</span> <span class='id identifier rubyid_data'>data</span>
2333
+ <span class='kw'>end</span>
2334
+
2335
+ <span class='comment'># Creates a new slot. You must have slots available before you can create a mailbox.
2336
+ </span> <span class='comment'># If you have used the two free standard 3GB mailbox slots that are included with the domain,
2337
+ </span> <span class='comment'># but require more mailboxes on that domain, you must first purchase additional slots.
2338
+ </span> <span class='comment'># @see https://api.gandi.net/docs/email#post-v5-email-slots-domain
2339
+ </span> <span class='comment'># @param fqdn [String, #to_s] the fully qualified domain name to add the slot to.
2340
+ </span> <span class='comment'># @param type [:standard, :premium] Tyhe type of slot to add.
2341
+ </span> <span class='comment'># @return [String] The confirmation message from Gandi.
2342
+ </span> <span class='comment'># @raise [GandiV5::Error::GandiError] if Gandi returns an error.
2343
+ </span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span> <span class='op'>=</span> <span class='symbol'>:standard</span><span class='rparen'>)</span>
2344
+ <span class='id identifier rubyid_body'>body</span> <span class='op'>=</span> <span class='lbrace'>{</span>
2345
+ <span class='label'>mailbox_type:</span> <span class='id identifier rubyid_type'>type</span>
2346
+ <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_to_json'>to_json</span>
2347
+
2348
+ <span class='id identifier rubyid_response'>response</span><span class='comma'>,</span> <span class='id identifier rubyid__data'>_data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_post'><span class='object_link'><a href="../../GandiV5.html#post-class_method" title="GandiV5.post (method)">post</a></span></span> <span class='id identifier rubyid_url'>url</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_body'>body</span>
2349
+ <span class='id identifier rubyid_fetch'>fetch</span> <span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_response'>response</span><span class='period'>.</span><span class='id identifier rubyid_headers'>headers</span><span class='lbracket'>[</span><span class='symbol'>:location</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>/</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_last'>last</span>
2350
+ <span class='kw'>end</span>
2351
+
2352
+ <span class='comment'># Get information for a slot.
2353
+ </span> <span class='comment'># @see https://api.gandi.net/docs/email#get-v5-email-slots-domain-slot_id
2354
+ </span> <span class='comment'># @param fqdn [String, #to_s] the fully qualified domain name the slot is on.
2355
+ </span> <span class='comment'># @param id [String, #to_s] the ID of the slot to fetch.
2356
+ </span> <span class='comment'># @return [GandiV5::Email::Slot]
2357
+ </span> <span class='comment'># @raise [GandiV5::Error::GandiError] if Gandi returns an error.
2358
+ </span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_fetch'>fetch</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_id'>id</span><span class='rparen'>)</span>
2359
+ <span class='id identifier rubyid__response'>_response</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_get'><span class='object_link'><a href="../../GandiV5.html#get-class_method" title="GandiV5.get (method)">get</a></span></span> <span class='id identifier rubyid_url'>url</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_id'>id</span><span class='rparen'>)</span>
2360
+ <span class='id identifier rubyid_slot'>slot</span> <span class='op'>=</span> <span class='id identifier rubyid_from_gandi'>from_gandi</span> <span class='id identifier rubyid_data'>data</span>
2361
+ <span class='id identifier rubyid_slot'>slot</span><span class='period'>.</span><span class='id identifier rubyid_instance_eval'>instance_eval</span> <span class='lbrace'>{</span> <span class='ivar'>@fqdn</span> <span class='op'>=</span> <span class='id identifier rubyid_fqdn'>fqdn</span> <span class='rbrace'>}</span>
2362
+ <span class='id identifier rubyid_slot'>slot</span>
2363
+ <span class='kw'>end</span>
2364
+
2365
+ <span class='comment'># List slots for a domain.
2366
+ </span> <span class='comment'># @see https://api.gandi.net/docs/email#
2367
+ </span> <span class='comment'># @param fqdn [String, #to_s] the fully qualified domain name to list slots for.
2368
+ </span> <span class='comment'># @return [Array&lt;GandiV5::Email::Slot&gt;]
2369
+ </span> <span class='comment'># @raise [GandiV5::Error::GandiError] if Gandi returns an error.
2370
+ </span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_list'>list</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='rparen'>)</span>
2371
+ <span class='id identifier rubyid__response'>_response</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_get'><span class='object_link'><a href="../../GandiV5.html#get-class_method" title="GandiV5.get (method)">get</a></span></span> <span class='id identifier rubyid_url'>url</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='rparen'>)</span>
2372
+ <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_item'>item</span><span class='op'>|</span> <span class='id identifier rubyid_from_gandi'>from_gandi</span> <span class='id identifier rubyid_item'>item</span> <span class='rbrace'>}</span>
2373
+ <span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_item'>item</span><span class='op'>|</span> <span class='id identifier rubyid_item'>item</span><span class='period'>.</span><span class='id identifier rubyid_instance_eval'>instance_eval</span> <span class='lbrace'>{</span> <span class='ivar'>@fqdn</span> <span class='op'>=</span> <span class='id identifier rubyid_fqdn'>fqdn</span> <span class='rbrace'>}</span> <span class='rbrace'>}</span>
2374
+ <span class='kw'>end</span>
2375
+
2376
+ <span class='comment'># Check if the slot is active (in use)
2377
+ </span> <span class='comment'># @return [Boolean]
2378
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_active?'>active?</span>
2379
+ <span class='id identifier rubyid_status'>status</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:active</span><span class='rparen'>)</span>
2380
+ <span class='kw'>end</span>
2381
+
2382
+ <span class='comment'># Check if the slot is inactive (not in use)
2383
+ </span> <span class='comment'># @return [Boolean]
2384
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_inactive?'>inactive?</span>
2385
+ <span class='id identifier rubyid_status'>status</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:inactive</span><span class='rparen'>)</span>
2386
+ <span class='kw'>end</span>
2387
+
2388
+ <span class='comment'># Check if the slot&#39;s mailbox_type is :free
2389
+ </span> <span class='comment'># @return [Boolean]
2390
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_free?'>free?</span>
2391
+ <span class='id identifier rubyid_mailbox_type'>mailbox_type</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:free</span><span class='rparen'>)</span>
2392
+ <span class='kw'>end</span>
2393
+
2394
+ <span class='comment'># Check if the slot&#39;s mailbox_type is :standard
2395
+ </span> <span class='comment'># @return [Boolean]
2396
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_standard?'>standard?</span>
2397
+ <span class='id identifier rubyid_mailbox_type'>mailbox_type</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:standard</span><span class='rparen'>)</span>
2398
+ <span class='kw'>end</span>
2399
+
2400
+ <span class='comment'># Check if the slot&#39;s mailbox_type is :premium
2401
+ </span> <span class='comment'># @return [Boolean]
2402
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_premium?'>premium?</span>
2403
+ <span class='id identifier rubyid_mailbox_type'>mailbox_type</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:premium</span><span class='rparen'>)</span>
2404
+ <span class='kw'>end</span>
2405
+
2406
+ <span class='id identifier rubyid_private'>private</span>
2407
+
2408
+ <span class='kw'>def</span> <span class='id identifier rubyid_url'>url</span>
2409
+ <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="../../GandiV5.html#BASE-constant" title="GandiV5::BASE (constant)">BASE</a></span></span><span class='embexpr_end'>}</span><span class='tstring_content'>email/slots/</span><span class='embexpr_beg'>#{</span><span class='const'>CGI</span><span class='period'>.</span><span class='id identifier rubyid_escape'>escape</span> <span class='id identifier rubyid_fqdn'>fqdn</span><span class='embexpr_end'>}</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_id'>id</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span>
2410
+ <span class='kw'>end</span>
2411
+
2412
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_url'>url</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_id'>id</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
2413
+ <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="../../GandiV5.html#BASE-constant" title="GandiV5::BASE (constant)">BASE</a></span></span><span class='embexpr_end'>}</span><span class='tstring_content'>email/slots/</span><span class='embexpr_beg'>#{</span><span class='const'>CGI</span><span class='period'>.</span><span class='id identifier rubyid_escape'>escape</span> <span class='id identifier rubyid_fqdn'>fqdn</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span> <span class='op'>+</span>
2414
+ <span class='lparen'>(</span><span class='id identifier rubyid_id'>id</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_id'>id</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
2415
+ <span class='kw'>end</span>
2416
+ <span class='id identifier rubyid_private_class_method'>private_class_method</span> <span class='symbol'>:url</span>
2417
+ <span class='kw'>end</span></pre>
2418
+ </td>
2419
+ </tr>
2420
+ </table>
2421
+ </div>
2422
+
2423
+
2424
+ <span id=""></span>
2425
+ <div class="method_details ">
2426
+ <h3 class="signature " id="refund_currency-instance_method">
2427
+
2428
+ #<strong>refund_currency</strong> &#x21d2; <tt>nil</tt>, <tt>String</tt> <span class="extras">(readonly)</span>
2429
+
2430
+
2431
+
2432
+
2433
+
2434
+ </h3><div class="docstring">
2435
+ <div class="discussion">
2436
+
2437
+ <p>Returns refund currency.</p>
2438
+
2439
+
2440
+ </div>
2441
+ </div>
2442
+ <div class="tags">
2443
+
2444
+ <p class="tag_title">Returns:</p>
2445
+ <ul class="return">
2446
+
2447
+ <li>
2448
+
2449
+
2450
+ <span class='type'>(<tt>nil</tt>, <tt>String</tt>)</span>
2451
+
2452
+
2453
+
2454
+ &mdash;
2455
+ <div class='inline'>
2456
+ <p>refund currency.</p>
2457
+ </div>
2458
+
2459
+ </li>
2460
+
2461
+ </ul>
2462
+
2463
+ </div><table class="source_code">
2464
+ <tr>
2465
+ <td>
2466
+ <pre class="lines">
2467
+
2468
+
2469
+ 23
2470
+ 24
2471
+ 25
2472
+ 26
2473
+ 27
2474
+ 28
2475
+ 29
2476
+ 30
2477
+ 31
2478
+ 32
2479
+ 33
2480
+ 34
2481
+ 35
2482
+ 36
2483
+ 37
2484
+ 38
2485
+ 39
2486
+ 40
2487
+ 41
2488
+ 42
2489
+ 43
2490
+ 44
2491
+ 45
2492
+ 46
2493
+ 47
2494
+ 48
2495
+ 49
2496
+ 50
2497
+ 51
2498
+ 52
2499
+ 53
2500
+ 54
2501
+ 55
2502
+ 56
2503
+ 57
2504
+ 58
2505
+ 59
2506
+ 60
2507
+ 61
2508
+ 62
2509
+ 63
2510
+ 64
2511
+ 65
2512
+ 66
2513
+ 67
2514
+ 68
2515
+ 69
2516
+ 70
2517
+ 71
2518
+ 72
2519
+ 73
2520
+ 74
2521
+ 75
2522
+ 76
2523
+ 77
2524
+ 78
2525
+ 79
2526
+ 80
2527
+ 81
2528
+ 82
2529
+ 83
2530
+ 84
2531
+ 85
2532
+ 86
2533
+ 87
2534
+ 88
2535
+ 89
2536
+ 90
2537
+ 91
2538
+ 92
2539
+ 93
2540
+ 94
2541
+ 95
2542
+ 96
2543
+ 97
2544
+ 98
2545
+ 99
2546
+ 100
2547
+ 101
2548
+ 102
2549
+ 103
2550
+ 104
2551
+ 105
2552
+ 106
2553
+ 107
2554
+ 108
2555
+ 109
2556
+ 110
2557
+ 111
2558
+ 112
2559
+ 113
2560
+ 114
2561
+ 115
2562
+ 116
2563
+ 117
2564
+ 118
2565
+ 119
2566
+ 120
2567
+ 121
2568
+ 122
2569
+ 123
2570
+ 124
2571
+ 125
2572
+ 126
2573
+ 127
2574
+ 128
2575
+ 129
2576
+ 130
2577
+ 131
2578
+ 132
2579
+ 133
2580
+ 134
2581
+ 135
2582
+ 136
2583
+ 137
2584
+ 138
2585
+ 139
2586
+ 140
2587
+ 141
2588
+ 142
2589
+ 143
2590
+ 144
2591
+ 145
2592
+ 146
2593
+ 147
2594
+ 148
2595
+ 149
2596
+ 150
2597
+ 151
2598
+ 152
2599
+ 153
2600
+ 154
2601
+ 155
2602
+ 156
2603
+ 157
2604
+ 158</pre>
2605
+ </td>
2606
+ <td>
2607
+ <pre class="code"><span class="info file"># File 'lib/gandi_v5/email/slot.rb', line 23</span>
2608
+
2609
+ <span class='kw'>class</span> <span class='const'><span class='object_link'><a href="" title="GandiV5::Email::Slot (class)">Slot</a></span></span>
2610
+ <span class='id identifier rubyid_include'>include</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data.html" title="GandiV5::Data (module)">Data</a></span></span>
2611
+
2612
+ <span class='id identifier rubyid_attr_reader'>attr_reader</span> <span class='symbol'>:fqdn</span>
2613
+
2614
+ <span class='id identifier rubyid_members'>members</span> <span class='symbol'>:id</span><span class='comma'>,</span> <span class='symbol'>:refundable</span><span class='comma'>,</span> <span class='symbol'>:refund_amount</span><span class='comma'>,</span> <span class='symbol'>:refund_currency</span>
2615
+ <span class='id identifier rubyid_member'>member</span><span class='lparen'>(</span>
2616
+ <span class='symbol'>:capacity</span><span class='comma'>,</span>
2617
+ <span class='label'>converter:</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data.html" title="GandiV5::Data (module)">Data</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter.html" title="GandiV5::Data::Converter (class)">Converter</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="../Data/Converter.html#initialize-instance_method" title="GandiV5::Data::Converter#initialize (method)">new</a></span></span><span class='lparen'>(</span>
2618
+ <span class='label'>from_gandi:</span> <span class='tlambda'>-&gt;</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='tlambeg'>{</span> <span class='id identifier rubyid_value'>value</span> <span class='op'>*</span> <span class='int'>1_024</span><span class='op'>**</span><span class='int'>2</span> <span class='rbrace'>}</span>
2619
+ <span class='rparen'>)</span>
2620
+ <span class='rparen'>)</span>
2621
+ <span class='id identifier rubyid_member'>member</span> <span class='symbol'>:created_at</span><span class='comma'>,</span> <span class='label'>converter:</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data.html" title="GandiV5::Data (module)">Data</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter.html" title="GandiV5::Data::Converter (class)">Converter</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter/Time.html" title="GandiV5::Data::Converter::Time (class)">Time</a></span></span>
2622
+ <span class='id identifier rubyid_member'>member</span> <span class='symbol'>:mailbox_type</span><span class='comma'>,</span> <span class='label'>converter:</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data.html" title="GandiV5::Data (module)">Data</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter.html" title="GandiV5::Data::Converter (class)">Converter</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter/Symbol.html" title="GandiV5::Data::Converter::Symbol (class)">Symbol</a></span></span>
2623
+ <span class='id identifier rubyid_member'>member</span> <span class='symbol'>:status</span><span class='comma'>,</span> <span class='label'>converter:</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data.html" title="GandiV5::Data (module)">Data</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter.html" title="GandiV5::Data::Converter (class)">Converter</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter/Symbol.html" title="GandiV5::Data::Converter::Symbol (class)">Symbol</a></span></span>
2624
+
2625
+ <span class='kw'>alias</span> <span class='id identifier rubyid_slot_id'>slot_id</span> <span class='id identifier rubyid_id'>id</span>
2626
+
2627
+ <span class='comment'># Create a new GandiV5::Email::Slot
2628
+ </span> <span class='comment'># @param fqdn [String] the fully qualified domain this slot belongs to.
2629
+ </span> <span class='comment'># @param members [Hash&lt;Symbol =&gt; Object&gt;]
2630
+ </span> <span class='comment'># @return [GandiV5::Email::Slot]
2631
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='label'>fqdn:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_members'>members</span><span class='rparen'>)</span>
2632
+ <span class='kw'>super</span><span class='lparen'>(</span><span class='op'>**</span><span class='id identifier rubyid_members'>members</span><span class='rparen'>)</span>
2633
+ <span class='ivar'>@fqdn</span> <span class='op'>=</span> <span class='id identifier rubyid_fqdn'>fqdn</span>
2634
+ <span class='kw'>end</span>
2635
+
2636
+ <span class='comment'># Delete this slot if it is inactive and refundable.
2637
+ </span> <span class='comment'># When you delete a slot, the prepaid account that was used to purchase the slot
2638
+ </span> <span class='comment'># will be refunded for the remaining time that will not be used.
2639
+ </span> <span class='comment'># @see GandiV5::Email::Mailbox#delete
2640
+ </span> <span class='comment'># @see https://api.gandi.net/docs/email#delete-v5-email-slots-domain-slot_id
2641
+ </span> <span class='comment'># @return [String] The confirmation message from Gandi.
2642
+ </span> <span class='comment'># @raise [GandiV5::Error] if slot is active.
2643
+ </span> <span class='comment'># @raise [GandiV5::Error] if slot is not refundable.
2644
+ </span> <span class='comment'># @raise [GandiV5::Error::GandiError] if Gandi returns an error.
2645
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_delete'>delete</span>
2646
+ <span class='id identifier rubyid_fail'>fail</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Error.html" title="GandiV5::Error (class)">Error</a></span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>slot can\&#39;t be deleted whilst active</span><span class='tstring_end'>&#39;</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_active?'>active?</span>
2647
+ <span class='id identifier rubyid_fail'>fail</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Error.html" title="GandiV5::Error (class)">Error</a></span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>slot can\&#39;t be deleted if it\&#39;s not refundable</span><span class='tstring_end'>&#39;</span></span> <span class='kw'>unless</span> <span class='id identifier rubyid_refundable'>refundable</span>
2648
+
2649
+ <span class='id identifier rubyid__response'>_response</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_delete'><span class='object_link'><a href="../../GandiV5.html#delete-class_method" title="GandiV5.delete (method)">delete</a></span></span> <span class='id identifier rubyid_url'>url</span>
2650
+ <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>message</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span>
2651
+ <span class='kw'>end</span>
2652
+
2653
+ <span class='comment'># Requery Gandi for this slot&#39;s information.
2654
+ </span> <span class='comment'># @see https://api.gandi.net/docs/email#get-v5-email-slots-domain-slot_id
2655
+ </span> <span class='comment'># @return [GandiV5::Email::Slot]
2656
+ </span> <span class='comment'># @raise [GandiV5::Error::GandiError] if Gandi returns an error.
2657
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_refresh'>refresh</span>
2658
+ <span class='id identifier rubyid__response'>_response</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_get'><span class='object_link'><a href="../../GandiV5.html#get-class_method" title="GandiV5.get (method)">get</a></span></span> <span class='id identifier rubyid_url'>url</span>
2659
+ <span class='id identifier rubyid_from_gandi'>from_gandi</span> <span class='id identifier rubyid_data'>data</span>
2660
+ <span class='kw'>end</span>
2661
+
2662
+ <span class='comment'># Creates a new slot. You must have slots available before you can create a mailbox.
2663
+ </span> <span class='comment'># If you have used the two free standard 3GB mailbox slots that are included with the domain,
2664
+ </span> <span class='comment'># but require more mailboxes on that domain, you must first purchase additional slots.
2665
+ </span> <span class='comment'># @see https://api.gandi.net/docs/email#post-v5-email-slots-domain
2666
+ </span> <span class='comment'># @param fqdn [String, #to_s] the fully qualified domain name to add the slot to.
2667
+ </span> <span class='comment'># @param type [:standard, :premium] Tyhe type of slot to add.
2668
+ </span> <span class='comment'># @return [String] The confirmation message from Gandi.
2669
+ </span> <span class='comment'># @raise [GandiV5::Error::GandiError] if Gandi returns an error.
2670
+ </span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span> <span class='op'>=</span> <span class='symbol'>:standard</span><span class='rparen'>)</span>
2671
+ <span class='id identifier rubyid_body'>body</span> <span class='op'>=</span> <span class='lbrace'>{</span>
2672
+ <span class='label'>mailbox_type:</span> <span class='id identifier rubyid_type'>type</span>
2673
+ <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_to_json'>to_json</span>
2674
+
2675
+ <span class='id identifier rubyid_response'>response</span><span class='comma'>,</span> <span class='id identifier rubyid__data'>_data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_post'><span class='object_link'><a href="../../GandiV5.html#post-class_method" title="GandiV5.post (method)">post</a></span></span> <span class='id identifier rubyid_url'>url</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_body'>body</span>
2676
+ <span class='id identifier rubyid_fetch'>fetch</span> <span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_response'>response</span><span class='period'>.</span><span class='id identifier rubyid_headers'>headers</span><span class='lbracket'>[</span><span class='symbol'>:location</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>/</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_last'>last</span>
2677
+ <span class='kw'>end</span>
2678
+
2679
+ <span class='comment'># Get information for a slot.
2680
+ </span> <span class='comment'># @see https://api.gandi.net/docs/email#get-v5-email-slots-domain-slot_id
2681
+ </span> <span class='comment'># @param fqdn [String, #to_s] the fully qualified domain name the slot is on.
2682
+ </span> <span class='comment'># @param id [String, #to_s] the ID of the slot to fetch.
2683
+ </span> <span class='comment'># @return [GandiV5::Email::Slot]
2684
+ </span> <span class='comment'># @raise [GandiV5::Error::GandiError] if Gandi returns an error.
2685
+ </span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_fetch'>fetch</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_id'>id</span><span class='rparen'>)</span>
2686
+ <span class='id identifier rubyid__response'>_response</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_get'><span class='object_link'><a href="../../GandiV5.html#get-class_method" title="GandiV5.get (method)">get</a></span></span> <span class='id identifier rubyid_url'>url</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_id'>id</span><span class='rparen'>)</span>
2687
+ <span class='id identifier rubyid_slot'>slot</span> <span class='op'>=</span> <span class='id identifier rubyid_from_gandi'>from_gandi</span> <span class='id identifier rubyid_data'>data</span>
2688
+ <span class='id identifier rubyid_slot'>slot</span><span class='period'>.</span><span class='id identifier rubyid_instance_eval'>instance_eval</span> <span class='lbrace'>{</span> <span class='ivar'>@fqdn</span> <span class='op'>=</span> <span class='id identifier rubyid_fqdn'>fqdn</span> <span class='rbrace'>}</span>
2689
+ <span class='id identifier rubyid_slot'>slot</span>
2690
+ <span class='kw'>end</span>
2691
+
2692
+ <span class='comment'># List slots for a domain.
2693
+ </span> <span class='comment'># @see https://api.gandi.net/docs/email#
2694
+ </span> <span class='comment'># @param fqdn [String, #to_s] the fully qualified domain name to list slots for.
2695
+ </span> <span class='comment'># @return [Array&lt;GandiV5::Email::Slot&gt;]
2696
+ </span> <span class='comment'># @raise [GandiV5::Error::GandiError] if Gandi returns an error.
2697
+ </span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_list'>list</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='rparen'>)</span>
2698
+ <span class='id identifier rubyid__response'>_response</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_get'><span class='object_link'><a href="../../GandiV5.html#get-class_method" title="GandiV5.get (method)">get</a></span></span> <span class='id identifier rubyid_url'>url</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='rparen'>)</span>
2699
+ <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_item'>item</span><span class='op'>|</span> <span class='id identifier rubyid_from_gandi'>from_gandi</span> <span class='id identifier rubyid_item'>item</span> <span class='rbrace'>}</span>
2700
+ <span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_item'>item</span><span class='op'>|</span> <span class='id identifier rubyid_item'>item</span><span class='period'>.</span><span class='id identifier rubyid_instance_eval'>instance_eval</span> <span class='lbrace'>{</span> <span class='ivar'>@fqdn</span> <span class='op'>=</span> <span class='id identifier rubyid_fqdn'>fqdn</span> <span class='rbrace'>}</span> <span class='rbrace'>}</span>
2701
+ <span class='kw'>end</span>
2702
+
2703
+ <span class='comment'># Check if the slot is active (in use)
2704
+ </span> <span class='comment'># @return [Boolean]
2705
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_active?'>active?</span>
2706
+ <span class='id identifier rubyid_status'>status</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:active</span><span class='rparen'>)</span>
2707
+ <span class='kw'>end</span>
2708
+
2709
+ <span class='comment'># Check if the slot is inactive (not in use)
2710
+ </span> <span class='comment'># @return [Boolean]
2711
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_inactive?'>inactive?</span>
2712
+ <span class='id identifier rubyid_status'>status</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:inactive</span><span class='rparen'>)</span>
2713
+ <span class='kw'>end</span>
2714
+
2715
+ <span class='comment'># Check if the slot&#39;s mailbox_type is :free
2716
+ </span> <span class='comment'># @return [Boolean]
2717
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_free?'>free?</span>
2718
+ <span class='id identifier rubyid_mailbox_type'>mailbox_type</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:free</span><span class='rparen'>)</span>
2719
+ <span class='kw'>end</span>
2720
+
2721
+ <span class='comment'># Check if the slot&#39;s mailbox_type is :standard
2722
+ </span> <span class='comment'># @return [Boolean]
2723
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_standard?'>standard?</span>
2724
+ <span class='id identifier rubyid_mailbox_type'>mailbox_type</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:standard</span><span class='rparen'>)</span>
2725
+ <span class='kw'>end</span>
2726
+
2727
+ <span class='comment'># Check if the slot&#39;s mailbox_type is :premium
2728
+ </span> <span class='comment'># @return [Boolean]
2729
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_premium?'>premium?</span>
2730
+ <span class='id identifier rubyid_mailbox_type'>mailbox_type</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:premium</span><span class='rparen'>)</span>
2731
+ <span class='kw'>end</span>
2732
+
2733
+ <span class='id identifier rubyid_private'>private</span>
2734
+
2735
+ <span class='kw'>def</span> <span class='id identifier rubyid_url'>url</span>
2736
+ <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="../../GandiV5.html#BASE-constant" title="GandiV5::BASE (constant)">BASE</a></span></span><span class='embexpr_end'>}</span><span class='tstring_content'>email/slots/</span><span class='embexpr_beg'>#{</span><span class='const'>CGI</span><span class='period'>.</span><span class='id identifier rubyid_escape'>escape</span> <span class='id identifier rubyid_fqdn'>fqdn</span><span class='embexpr_end'>}</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_id'>id</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span>
2737
+ <span class='kw'>end</span>
2738
+
2739
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_url'>url</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_id'>id</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
2740
+ <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="../../GandiV5.html#BASE-constant" title="GandiV5::BASE (constant)">BASE</a></span></span><span class='embexpr_end'>}</span><span class='tstring_content'>email/slots/</span><span class='embexpr_beg'>#{</span><span class='const'>CGI</span><span class='period'>.</span><span class='id identifier rubyid_escape'>escape</span> <span class='id identifier rubyid_fqdn'>fqdn</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span> <span class='op'>+</span>
2741
+ <span class='lparen'>(</span><span class='id identifier rubyid_id'>id</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_id'>id</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
2742
+ <span class='kw'>end</span>
2743
+ <span class='id identifier rubyid_private_class_method'>private_class_method</span> <span class='symbol'>:url</span>
2744
+ <span class='kw'>end</span></pre>
2745
+ </td>
2746
+ </tr>
2747
+ </table>
2748
+ </div>
2749
+
2750
+
2751
+ <span id=""></span>
2752
+ <div class="method_details ">
2753
+ <h3 class="signature " id="refundable-instance_method">
2754
+
2755
+ #<strong>refundable</strong> &#x21d2; <tt>Boolean</tt> <span class="extras">(readonly)</span>
2756
+
2757
+
2758
+
2759
+
2760
+
2761
+ </h3><div class="docstring">
2762
+ <div class="discussion">
2763
+
2764
+
2765
+ </div>
2766
+ </div>
2767
+ <div class="tags">
2768
+
2769
+ <p class="tag_title">Returns:</p>
2770
+ <ul class="return">
2771
+
2772
+ <li>
2773
+
2774
+
2775
+ <span class='type'>(<tt>Boolean</tt>)</span>
2776
+
2777
+
2778
+
2779
+ </li>
2780
+
2781
+ </ul>
2782
+
2783
+ </div><table class="source_code">
2784
+ <tr>
2785
+ <td>
2786
+ <pre class="lines">
2787
+
2788
+
2789
+ 23
2790
+ 24
2791
+ 25
2792
+ 26
2793
+ 27
2794
+ 28
2795
+ 29
2796
+ 30
2797
+ 31
2798
+ 32
2799
+ 33
2800
+ 34
2801
+ 35
2802
+ 36
2803
+ 37
2804
+ 38
2805
+ 39
2806
+ 40
2807
+ 41
2808
+ 42
2809
+ 43
2810
+ 44
2811
+ 45
2812
+ 46
2813
+ 47
2814
+ 48
2815
+ 49
2816
+ 50
2817
+ 51
2818
+ 52
2819
+ 53
2820
+ 54
2821
+ 55
2822
+ 56
2823
+ 57
2824
+ 58
2825
+ 59
2826
+ 60
2827
+ 61
2828
+ 62
2829
+ 63
2830
+ 64
2831
+ 65
2832
+ 66
2833
+ 67
2834
+ 68
2835
+ 69
2836
+ 70
2837
+ 71
2838
+ 72
2839
+ 73
2840
+ 74
2841
+ 75
2842
+ 76
2843
+ 77
2844
+ 78
2845
+ 79
2846
+ 80
2847
+ 81
2848
+ 82
2849
+ 83
2850
+ 84
2851
+ 85
2852
+ 86
2853
+ 87
2854
+ 88
2855
+ 89
2856
+ 90
2857
+ 91
2858
+ 92
2859
+ 93
2860
+ 94
2861
+ 95
2862
+ 96
2863
+ 97
2864
+ 98
2865
+ 99
2866
+ 100
2867
+ 101
2868
+ 102
2869
+ 103
2870
+ 104
2871
+ 105
2872
+ 106
2873
+ 107
2874
+ 108
2875
+ 109
2876
+ 110
2877
+ 111
2878
+ 112
2879
+ 113
2880
+ 114
2881
+ 115
2882
+ 116
2883
+ 117
2884
+ 118
2885
+ 119
2886
+ 120
2887
+ 121
2888
+ 122
2889
+ 123
2890
+ 124
2891
+ 125
2892
+ 126
2893
+ 127
2894
+ 128
2895
+ 129
2896
+ 130
2897
+ 131
2898
+ 132
2899
+ 133
2900
+ 134
2901
+ 135
2902
+ 136
2903
+ 137
2904
+ 138
2905
+ 139
2906
+ 140
2907
+ 141
2908
+ 142
2909
+ 143
2910
+ 144
2911
+ 145
2912
+ 146
2913
+ 147
2914
+ 148
2915
+ 149
2916
+ 150
2917
+ 151
2918
+ 152
2919
+ 153
2920
+ 154
2921
+ 155
2922
+ 156
2923
+ 157
2924
+ 158</pre>
2925
+ </td>
2926
+ <td>
2927
+ <pre class="code"><span class="info file"># File 'lib/gandi_v5/email/slot.rb', line 23</span>
2928
+
2929
+ <span class='kw'>class</span> <span class='const'><span class='object_link'><a href="" title="GandiV5::Email::Slot (class)">Slot</a></span></span>
2930
+ <span class='id identifier rubyid_include'>include</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data.html" title="GandiV5::Data (module)">Data</a></span></span>
2931
+
2932
+ <span class='id identifier rubyid_attr_reader'>attr_reader</span> <span class='symbol'>:fqdn</span>
2933
+
2934
+ <span class='id identifier rubyid_members'>members</span> <span class='symbol'>:id</span><span class='comma'>,</span> <span class='symbol'>:refundable</span><span class='comma'>,</span> <span class='symbol'>:refund_amount</span><span class='comma'>,</span> <span class='symbol'>:refund_currency</span>
2935
+ <span class='id identifier rubyid_member'>member</span><span class='lparen'>(</span>
2936
+ <span class='symbol'>:capacity</span><span class='comma'>,</span>
2937
+ <span class='label'>converter:</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data.html" title="GandiV5::Data (module)">Data</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter.html" title="GandiV5::Data::Converter (class)">Converter</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="../Data/Converter.html#initialize-instance_method" title="GandiV5::Data::Converter#initialize (method)">new</a></span></span><span class='lparen'>(</span>
2938
+ <span class='label'>from_gandi:</span> <span class='tlambda'>-&gt;</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='tlambeg'>{</span> <span class='id identifier rubyid_value'>value</span> <span class='op'>*</span> <span class='int'>1_024</span><span class='op'>**</span><span class='int'>2</span> <span class='rbrace'>}</span>
2939
+ <span class='rparen'>)</span>
2940
+ <span class='rparen'>)</span>
2941
+ <span class='id identifier rubyid_member'>member</span> <span class='symbol'>:created_at</span><span class='comma'>,</span> <span class='label'>converter:</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data.html" title="GandiV5::Data (module)">Data</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter.html" title="GandiV5::Data::Converter (class)">Converter</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter/Time.html" title="GandiV5::Data::Converter::Time (class)">Time</a></span></span>
2942
+ <span class='id identifier rubyid_member'>member</span> <span class='symbol'>:mailbox_type</span><span class='comma'>,</span> <span class='label'>converter:</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data.html" title="GandiV5::Data (module)">Data</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter.html" title="GandiV5::Data::Converter (class)">Converter</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter/Symbol.html" title="GandiV5::Data::Converter::Symbol (class)">Symbol</a></span></span>
2943
+ <span class='id identifier rubyid_member'>member</span> <span class='symbol'>:status</span><span class='comma'>,</span> <span class='label'>converter:</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data.html" title="GandiV5::Data (module)">Data</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter.html" title="GandiV5::Data::Converter (class)">Converter</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter/Symbol.html" title="GandiV5::Data::Converter::Symbol (class)">Symbol</a></span></span>
2944
+
2945
+ <span class='kw'>alias</span> <span class='id identifier rubyid_slot_id'>slot_id</span> <span class='id identifier rubyid_id'>id</span>
2946
+
2947
+ <span class='comment'># Create a new GandiV5::Email::Slot
2948
+ </span> <span class='comment'># @param fqdn [String] the fully qualified domain this slot belongs to.
2949
+ </span> <span class='comment'># @param members [Hash&lt;Symbol =&gt; Object&gt;]
2950
+ </span> <span class='comment'># @return [GandiV5::Email::Slot]
2951
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='label'>fqdn:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_members'>members</span><span class='rparen'>)</span>
2952
+ <span class='kw'>super</span><span class='lparen'>(</span><span class='op'>**</span><span class='id identifier rubyid_members'>members</span><span class='rparen'>)</span>
2953
+ <span class='ivar'>@fqdn</span> <span class='op'>=</span> <span class='id identifier rubyid_fqdn'>fqdn</span>
2954
+ <span class='kw'>end</span>
2955
+
2956
+ <span class='comment'># Delete this slot if it is inactive and refundable.
2957
+ </span> <span class='comment'># When you delete a slot, the prepaid account that was used to purchase the slot
2958
+ </span> <span class='comment'># will be refunded for the remaining time that will not be used.
2959
+ </span> <span class='comment'># @see GandiV5::Email::Mailbox#delete
2960
+ </span> <span class='comment'># @see https://api.gandi.net/docs/email#delete-v5-email-slots-domain-slot_id
2961
+ </span> <span class='comment'># @return [String] The confirmation message from Gandi.
2962
+ </span> <span class='comment'># @raise [GandiV5::Error] if slot is active.
2963
+ </span> <span class='comment'># @raise [GandiV5::Error] if slot is not refundable.
2964
+ </span> <span class='comment'># @raise [GandiV5::Error::GandiError] if Gandi returns an error.
2965
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_delete'>delete</span>
2966
+ <span class='id identifier rubyid_fail'>fail</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Error.html" title="GandiV5::Error (class)">Error</a></span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>slot can\&#39;t be deleted whilst active</span><span class='tstring_end'>&#39;</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_active?'>active?</span>
2967
+ <span class='id identifier rubyid_fail'>fail</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Error.html" title="GandiV5::Error (class)">Error</a></span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>slot can\&#39;t be deleted if it\&#39;s not refundable</span><span class='tstring_end'>&#39;</span></span> <span class='kw'>unless</span> <span class='id identifier rubyid_refundable'>refundable</span>
2968
+
2969
+ <span class='id identifier rubyid__response'>_response</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_delete'><span class='object_link'><a href="../../GandiV5.html#delete-class_method" title="GandiV5.delete (method)">delete</a></span></span> <span class='id identifier rubyid_url'>url</span>
2970
+ <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>message</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span>
2971
+ <span class='kw'>end</span>
2972
+
2973
+ <span class='comment'># Requery Gandi for this slot&#39;s information.
2974
+ </span> <span class='comment'># @see https://api.gandi.net/docs/email#get-v5-email-slots-domain-slot_id
2975
+ </span> <span class='comment'># @return [GandiV5::Email::Slot]
2976
+ </span> <span class='comment'># @raise [GandiV5::Error::GandiError] if Gandi returns an error.
2977
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_refresh'>refresh</span>
2978
+ <span class='id identifier rubyid__response'>_response</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_get'><span class='object_link'><a href="../../GandiV5.html#get-class_method" title="GandiV5.get (method)">get</a></span></span> <span class='id identifier rubyid_url'>url</span>
2979
+ <span class='id identifier rubyid_from_gandi'>from_gandi</span> <span class='id identifier rubyid_data'>data</span>
2980
+ <span class='kw'>end</span>
2981
+
2982
+ <span class='comment'># Creates a new slot. You must have slots available before you can create a mailbox.
2983
+ </span> <span class='comment'># If you have used the two free standard 3GB mailbox slots that are included with the domain,
2984
+ </span> <span class='comment'># but require more mailboxes on that domain, you must first purchase additional slots.
2985
+ </span> <span class='comment'># @see https://api.gandi.net/docs/email#post-v5-email-slots-domain
2986
+ </span> <span class='comment'># @param fqdn [String, #to_s] the fully qualified domain name to add the slot to.
2987
+ </span> <span class='comment'># @param type [:standard, :premium] Tyhe type of slot to add.
2988
+ </span> <span class='comment'># @return [String] The confirmation message from Gandi.
2989
+ </span> <span class='comment'># @raise [GandiV5::Error::GandiError] if Gandi returns an error.
2990
+ </span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span> <span class='op'>=</span> <span class='symbol'>:standard</span><span class='rparen'>)</span>
2991
+ <span class='id identifier rubyid_body'>body</span> <span class='op'>=</span> <span class='lbrace'>{</span>
2992
+ <span class='label'>mailbox_type:</span> <span class='id identifier rubyid_type'>type</span>
2993
+ <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_to_json'>to_json</span>
2994
+
2995
+ <span class='id identifier rubyid_response'>response</span><span class='comma'>,</span> <span class='id identifier rubyid__data'>_data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_post'><span class='object_link'><a href="../../GandiV5.html#post-class_method" title="GandiV5.post (method)">post</a></span></span> <span class='id identifier rubyid_url'>url</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_body'>body</span>
2996
+ <span class='id identifier rubyid_fetch'>fetch</span> <span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_response'>response</span><span class='period'>.</span><span class='id identifier rubyid_headers'>headers</span><span class='lbracket'>[</span><span class='symbol'>:location</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>/</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_last'>last</span>
2997
+ <span class='kw'>end</span>
2998
+
2999
+ <span class='comment'># Get information for a slot.
3000
+ </span> <span class='comment'># @see https://api.gandi.net/docs/email#get-v5-email-slots-domain-slot_id
3001
+ </span> <span class='comment'># @param fqdn [String, #to_s] the fully qualified domain name the slot is on.
3002
+ </span> <span class='comment'># @param id [String, #to_s] the ID of the slot to fetch.
3003
+ </span> <span class='comment'># @return [GandiV5::Email::Slot]
3004
+ </span> <span class='comment'># @raise [GandiV5::Error::GandiError] if Gandi returns an error.
3005
+ </span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_fetch'>fetch</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_id'>id</span><span class='rparen'>)</span>
3006
+ <span class='id identifier rubyid__response'>_response</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_get'><span class='object_link'><a href="../../GandiV5.html#get-class_method" title="GandiV5.get (method)">get</a></span></span> <span class='id identifier rubyid_url'>url</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_id'>id</span><span class='rparen'>)</span>
3007
+ <span class='id identifier rubyid_slot'>slot</span> <span class='op'>=</span> <span class='id identifier rubyid_from_gandi'>from_gandi</span> <span class='id identifier rubyid_data'>data</span>
3008
+ <span class='id identifier rubyid_slot'>slot</span><span class='period'>.</span><span class='id identifier rubyid_instance_eval'>instance_eval</span> <span class='lbrace'>{</span> <span class='ivar'>@fqdn</span> <span class='op'>=</span> <span class='id identifier rubyid_fqdn'>fqdn</span> <span class='rbrace'>}</span>
3009
+ <span class='id identifier rubyid_slot'>slot</span>
3010
+ <span class='kw'>end</span>
3011
+
3012
+ <span class='comment'># List slots for a domain.
3013
+ </span> <span class='comment'># @see https://api.gandi.net/docs/email#
3014
+ </span> <span class='comment'># @param fqdn [String, #to_s] the fully qualified domain name to list slots for.
3015
+ </span> <span class='comment'># @return [Array&lt;GandiV5::Email::Slot&gt;]
3016
+ </span> <span class='comment'># @raise [GandiV5::Error::GandiError] if Gandi returns an error.
3017
+ </span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_list'>list</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='rparen'>)</span>
3018
+ <span class='id identifier rubyid__response'>_response</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_get'><span class='object_link'><a href="../../GandiV5.html#get-class_method" title="GandiV5.get (method)">get</a></span></span> <span class='id identifier rubyid_url'>url</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='rparen'>)</span>
3019
+ <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_item'>item</span><span class='op'>|</span> <span class='id identifier rubyid_from_gandi'>from_gandi</span> <span class='id identifier rubyid_item'>item</span> <span class='rbrace'>}</span>
3020
+ <span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_item'>item</span><span class='op'>|</span> <span class='id identifier rubyid_item'>item</span><span class='period'>.</span><span class='id identifier rubyid_instance_eval'>instance_eval</span> <span class='lbrace'>{</span> <span class='ivar'>@fqdn</span> <span class='op'>=</span> <span class='id identifier rubyid_fqdn'>fqdn</span> <span class='rbrace'>}</span> <span class='rbrace'>}</span>
3021
+ <span class='kw'>end</span>
3022
+
3023
+ <span class='comment'># Check if the slot is active (in use)
3024
+ </span> <span class='comment'># @return [Boolean]
3025
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_active?'>active?</span>
3026
+ <span class='id identifier rubyid_status'>status</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:active</span><span class='rparen'>)</span>
3027
+ <span class='kw'>end</span>
3028
+
3029
+ <span class='comment'># Check if the slot is inactive (not in use)
3030
+ </span> <span class='comment'># @return [Boolean]
3031
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_inactive?'>inactive?</span>
3032
+ <span class='id identifier rubyid_status'>status</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:inactive</span><span class='rparen'>)</span>
3033
+ <span class='kw'>end</span>
3034
+
3035
+ <span class='comment'># Check if the slot&#39;s mailbox_type is :free
3036
+ </span> <span class='comment'># @return [Boolean]
3037
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_free?'>free?</span>
3038
+ <span class='id identifier rubyid_mailbox_type'>mailbox_type</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:free</span><span class='rparen'>)</span>
3039
+ <span class='kw'>end</span>
3040
+
3041
+ <span class='comment'># Check if the slot&#39;s mailbox_type is :standard
3042
+ </span> <span class='comment'># @return [Boolean]
3043
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_standard?'>standard?</span>
3044
+ <span class='id identifier rubyid_mailbox_type'>mailbox_type</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:standard</span><span class='rparen'>)</span>
3045
+ <span class='kw'>end</span>
3046
+
3047
+ <span class='comment'># Check if the slot&#39;s mailbox_type is :premium
3048
+ </span> <span class='comment'># @return [Boolean]
3049
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_premium?'>premium?</span>
3050
+ <span class='id identifier rubyid_mailbox_type'>mailbox_type</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:premium</span><span class='rparen'>)</span>
3051
+ <span class='kw'>end</span>
3052
+
3053
+ <span class='id identifier rubyid_private'>private</span>
3054
+
3055
+ <span class='kw'>def</span> <span class='id identifier rubyid_url'>url</span>
3056
+ <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="../../GandiV5.html#BASE-constant" title="GandiV5::BASE (constant)">BASE</a></span></span><span class='embexpr_end'>}</span><span class='tstring_content'>email/slots/</span><span class='embexpr_beg'>#{</span><span class='const'>CGI</span><span class='period'>.</span><span class='id identifier rubyid_escape'>escape</span> <span class='id identifier rubyid_fqdn'>fqdn</span><span class='embexpr_end'>}</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_id'>id</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span>
3057
+ <span class='kw'>end</span>
3058
+
3059
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_url'>url</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_id'>id</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
3060
+ <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="../../GandiV5.html#BASE-constant" title="GandiV5::BASE (constant)">BASE</a></span></span><span class='embexpr_end'>}</span><span class='tstring_content'>email/slots/</span><span class='embexpr_beg'>#{</span><span class='const'>CGI</span><span class='period'>.</span><span class='id identifier rubyid_escape'>escape</span> <span class='id identifier rubyid_fqdn'>fqdn</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span> <span class='op'>+</span>
3061
+ <span class='lparen'>(</span><span class='id identifier rubyid_id'>id</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_id'>id</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
3062
+ <span class='kw'>end</span>
3063
+ <span class='id identifier rubyid_private_class_method'>private_class_method</span> <span class='symbol'>:url</span>
3064
+ <span class='kw'>end</span></pre>
3065
+ </td>
3066
+ </tr>
3067
+ </table>
3068
+ </div>
3069
+
3070
+
3071
+ <span id=""></span>
3072
+ <div class="method_details ">
3073
+ <h3 class="signature " id="status-instance_method">
3074
+
3075
+ #<strong>status</strong> &#x21d2; <tt>:active</tt>, <tt>:inactive</tt> <span class="extras">(readonly)</span>
3076
+
3077
+
3078
+
3079
+
3080
+
3081
+ </h3><div class="docstring">
3082
+ <div class="discussion">
3083
+
3084
+
3085
+ </div>
3086
+ </div>
3087
+ <div class="tags">
3088
+
3089
+ <p class="tag_title">Returns:</p>
3090
+ <ul class="return">
3091
+
3092
+ <li>
3093
+
3094
+
3095
+ <span class='type'>(<tt>:active</tt>, <tt>:inactive</tt>)</span>
3096
+
3097
+
3098
+
3099
+ </li>
3100
+
3101
+ </ul>
3102
+
3103
+ </div><table class="source_code">
3104
+ <tr>
3105
+ <td>
3106
+ <pre class="lines">
3107
+
3108
+
3109
+ 23
3110
+ 24
3111
+ 25
3112
+ 26
3113
+ 27
3114
+ 28
3115
+ 29
3116
+ 30
3117
+ 31
3118
+ 32
3119
+ 33
3120
+ 34
3121
+ 35
3122
+ 36
3123
+ 37
3124
+ 38
3125
+ 39
3126
+ 40
3127
+ 41
3128
+ 42
3129
+ 43
3130
+ 44
3131
+ 45
3132
+ 46
3133
+ 47
3134
+ 48
3135
+ 49
3136
+ 50
3137
+ 51
3138
+ 52
3139
+ 53
3140
+ 54
3141
+ 55
3142
+ 56
3143
+ 57
3144
+ 58
3145
+ 59
3146
+ 60
3147
+ 61
3148
+ 62
3149
+ 63
3150
+ 64
3151
+ 65
3152
+ 66
3153
+ 67
3154
+ 68
3155
+ 69
3156
+ 70
3157
+ 71
3158
+ 72
3159
+ 73
3160
+ 74
3161
+ 75
3162
+ 76
3163
+ 77
3164
+ 78
3165
+ 79
3166
+ 80
3167
+ 81
3168
+ 82
3169
+ 83
3170
+ 84
3171
+ 85
3172
+ 86
3173
+ 87
3174
+ 88
3175
+ 89
3176
+ 90
3177
+ 91
3178
+ 92
3179
+ 93
3180
+ 94
3181
+ 95
3182
+ 96
3183
+ 97
3184
+ 98
3185
+ 99
3186
+ 100
3187
+ 101
3188
+ 102
3189
+ 103
3190
+ 104
3191
+ 105
3192
+ 106
3193
+ 107
3194
+ 108
3195
+ 109
3196
+ 110
3197
+ 111
3198
+ 112
3199
+ 113
3200
+ 114
3201
+ 115
3202
+ 116
3203
+ 117
3204
+ 118
3205
+ 119
3206
+ 120
3207
+ 121
3208
+ 122
3209
+ 123
3210
+ 124
3211
+ 125
3212
+ 126
3213
+ 127
3214
+ 128
3215
+ 129
3216
+ 130
3217
+ 131
3218
+ 132
3219
+ 133
3220
+ 134
3221
+ 135
3222
+ 136
3223
+ 137
3224
+ 138
3225
+ 139
3226
+ 140
3227
+ 141
3228
+ 142
3229
+ 143
3230
+ 144
3231
+ 145
3232
+ 146
3233
+ 147
3234
+ 148
3235
+ 149
3236
+ 150
3237
+ 151
3238
+ 152
3239
+ 153
3240
+ 154
3241
+ 155
3242
+ 156
3243
+ 157
3244
+ 158</pre>
3245
+ </td>
3246
+ <td>
3247
+ <pre class="code"><span class="info file"># File 'lib/gandi_v5/email/slot.rb', line 23</span>
3248
+
3249
+ <span class='kw'>class</span> <span class='const'><span class='object_link'><a href="" title="GandiV5::Email::Slot (class)">Slot</a></span></span>
3250
+ <span class='id identifier rubyid_include'>include</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data.html" title="GandiV5::Data (module)">Data</a></span></span>
3251
+
3252
+ <span class='id identifier rubyid_attr_reader'>attr_reader</span> <span class='symbol'>:fqdn</span>
3253
+
3254
+ <span class='id identifier rubyid_members'>members</span> <span class='symbol'>:id</span><span class='comma'>,</span> <span class='symbol'>:refundable</span><span class='comma'>,</span> <span class='symbol'>:refund_amount</span><span class='comma'>,</span> <span class='symbol'>:refund_currency</span>
3255
+ <span class='id identifier rubyid_member'>member</span><span class='lparen'>(</span>
3256
+ <span class='symbol'>:capacity</span><span class='comma'>,</span>
3257
+ <span class='label'>converter:</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data.html" title="GandiV5::Data (module)">Data</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter.html" title="GandiV5::Data::Converter (class)">Converter</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="../Data/Converter.html#initialize-instance_method" title="GandiV5::Data::Converter#initialize (method)">new</a></span></span><span class='lparen'>(</span>
3258
+ <span class='label'>from_gandi:</span> <span class='tlambda'>-&gt;</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='tlambeg'>{</span> <span class='id identifier rubyid_value'>value</span> <span class='op'>*</span> <span class='int'>1_024</span><span class='op'>**</span><span class='int'>2</span> <span class='rbrace'>}</span>
3259
+ <span class='rparen'>)</span>
3260
+ <span class='rparen'>)</span>
3261
+ <span class='id identifier rubyid_member'>member</span> <span class='symbol'>:created_at</span><span class='comma'>,</span> <span class='label'>converter:</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data.html" title="GandiV5::Data (module)">Data</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter.html" title="GandiV5::Data::Converter (class)">Converter</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter/Time.html" title="GandiV5::Data::Converter::Time (class)">Time</a></span></span>
3262
+ <span class='id identifier rubyid_member'>member</span> <span class='symbol'>:mailbox_type</span><span class='comma'>,</span> <span class='label'>converter:</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data.html" title="GandiV5::Data (module)">Data</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter.html" title="GandiV5::Data::Converter (class)">Converter</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter/Symbol.html" title="GandiV5::Data::Converter::Symbol (class)">Symbol</a></span></span>
3263
+ <span class='id identifier rubyid_member'>member</span> <span class='symbol'>:status</span><span class='comma'>,</span> <span class='label'>converter:</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data.html" title="GandiV5::Data (module)">Data</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter.html" title="GandiV5::Data::Converter (class)">Converter</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Data/Converter/Symbol.html" title="GandiV5::Data::Converter::Symbol (class)">Symbol</a></span></span>
3264
+
3265
+ <span class='kw'>alias</span> <span class='id identifier rubyid_slot_id'>slot_id</span> <span class='id identifier rubyid_id'>id</span>
3266
+
3267
+ <span class='comment'># Create a new GandiV5::Email::Slot
3268
+ </span> <span class='comment'># @param fqdn [String] the fully qualified domain this slot belongs to.
3269
+ </span> <span class='comment'># @param members [Hash&lt;Symbol =&gt; Object&gt;]
3270
+ </span> <span class='comment'># @return [GandiV5::Email::Slot]
3271
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='label'>fqdn:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_members'>members</span><span class='rparen'>)</span>
3272
+ <span class='kw'>super</span><span class='lparen'>(</span><span class='op'>**</span><span class='id identifier rubyid_members'>members</span><span class='rparen'>)</span>
3273
+ <span class='ivar'>@fqdn</span> <span class='op'>=</span> <span class='id identifier rubyid_fqdn'>fqdn</span>
3274
+ <span class='kw'>end</span>
3275
+
3276
+ <span class='comment'># Delete this slot if it is inactive and refundable.
3277
+ </span> <span class='comment'># When you delete a slot, the prepaid account that was used to purchase the slot
3278
+ </span> <span class='comment'># will be refunded for the remaining time that will not be used.
3279
+ </span> <span class='comment'># @see GandiV5::Email::Mailbox#delete
3280
+ </span> <span class='comment'># @see https://api.gandi.net/docs/email#delete-v5-email-slots-domain-slot_id
3281
+ </span> <span class='comment'># @return [String] The confirmation message from Gandi.
3282
+ </span> <span class='comment'># @raise [GandiV5::Error] if slot is active.
3283
+ </span> <span class='comment'># @raise [GandiV5::Error] if slot is not refundable.
3284
+ </span> <span class='comment'># @raise [GandiV5::Error::GandiError] if Gandi returns an error.
3285
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_delete'>delete</span>
3286
+ <span class='id identifier rubyid_fail'>fail</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Error.html" title="GandiV5::Error (class)">Error</a></span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>slot can\&#39;t be deleted whilst active</span><span class='tstring_end'>&#39;</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_active?'>active?</span>
3287
+ <span class='id identifier rubyid_fail'>fail</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Error.html" title="GandiV5::Error (class)">Error</a></span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>slot can\&#39;t be deleted if it\&#39;s not refundable</span><span class='tstring_end'>&#39;</span></span> <span class='kw'>unless</span> <span class='id identifier rubyid_refundable'>refundable</span>
3288
+
3289
+ <span class='id identifier rubyid__response'>_response</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_delete'><span class='object_link'><a href="../../GandiV5.html#delete-class_method" title="GandiV5.delete (method)">delete</a></span></span> <span class='id identifier rubyid_url'>url</span>
3290
+ <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>message</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span>
3291
+ <span class='kw'>end</span>
3292
+
3293
+ <span class='comment'># Requery Gandi for this slot&#39;s information.
3294
+ </span> <span class='comment'># @see https://api.gandi.net/docs/email#get-v5-email-slots-domain-slot_id
3295
+ </span> <span class='comment'># @return [GandiV5::Email::Slot]
3296
+ </span> <span class='comment'># @raise [GandiV5::Error::GandiError] if Gandi returns an error.
3297
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_refresh'>refresh</span>
3298
+ <span class='id identifier rubyid__response'>_response</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_get'><span class='object_link'><a href="../../GandiV5.html#get-class_method" title="GandiV5.get (method)">get</a></span></span> <span class='id identifier rubyid_url'>url</span>
3299
+ <span class='id identifier rubyid_from_gandi'>from_gandi</span> <span class='id identifier rubyid_data'>data</span>
3300
+ <span class='kw'>end</span>
3301
+
3302
+ <span class='comment'># Creates a new slot. You must have slots available before you can create a mailbox.
3303
+ </span> <span class='comment'># If you have used the two free standard 3GB mailbox slots that are included with the domain,
3304
+ </span> <span class='comment'># but require more mailboxes on that domain, you must first purchase additional slots.
3305
+ </span> <span class='comment'># @see https://api.gandi.net/docs/email#post-v5-email-slots-domain
3306
+ </span> <span class='comment'># @param fqdn [String, #to_s] the fully qualified domain name to add the slot to.
3307
+ </span> <span class='comment'># @param type [:standard, :premium] Tyhe type of slot to add.
3308
+ </span> <span class='comment'># @return [String] The confirmation message from Gandi.
3309
+ </span> <span class='comment'># @raise [GandiV5::Error::GandiError] if Gandi returns an error.
3310
+ </span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span> <span class='op'>=</span> <span class='symbol'>:standard</span><span class='rparen'>)</span>
3311
+ <span class='id identifier rubyid_body'>body</span> <span class='op'>=</span> <span class='lbrace'>{</span>
3312
+ <span class='label'>mailbox_type:</span> <span class='id identifier rubyid_type'>type</span>
3313
+ <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_to_json'>to_json</span>
3314
+
3315
+ <span class='id identifier rubyid_response'>response</span><span class='comma'>,</span> <span class='id identifier rubyid__data'>_data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_post'><span class='object_link'><a href="../../GandiV5.html#post-class_method" title="GandiV5.post (method)">post</a></span></span> <span class='id identifier rubyid_url'>url</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_body'>body</span>
3316
+ <span class='id identifier rubyid_fetch'>fetch</span> <span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_response'>response</span><span class='period'>.</span><span class='id identifier rubyid_headers'>headers</span><span class='lbracket'>[</span><span class='symbol'>:location</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>/</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_last'>last</span>
3317
+ <span class='kw'>end</span>
3318
+
3319
+ <span class='comment'># Get information for a slot.
3320
+ </span> <span class='comment'># @see https://api.gandi.net/docs/email#get-v5-email-slots-domain-slot_id
3321
+ </span> <span class='comment'># @param fqdn [String, #to_s] the fully qualified domain name the slot is on.
3322
+ </span> <span class='comment'># @param id [String, #to_s] the ID of the slot to fetch.
3323
+ </span> <span class='comment'># @return [GandiV5::Email::Slot]
3324
+ </span> <span class='comment'># @raise [GandiV5::Error::GandiError] if Gandi returns an error.
3325
+ </span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_fetch'>fetch</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_id'>id</span><span class='rparen'>)</span>
3326
+ <span class='id identifier rubyid__response'>_response</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_get'><span class='object_link'><a href="../../GandiV5.html#get-class_method" title="GandiV5.get (method)">get</a></span></span> <span class='id identifier rubyid_url'>url</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_id'>id</span><span class='rparen'>)</span>
3327
+ <span class='id identifier rubyid_slot'>slot</span> <span class='op'>=</span> <span class='id identifier rubyid_from_gandi'>from_gandi</span> <span class='id identifier rubyid_data'>data</span>
3328
+ <span class='id identifier rubyid_slot'>slot</span><span class='period'>.</span><span class='id identifier rubyid_instance_eval'>instance_eval</span> <span class='lbrace'>{</span> <span class='ivar'>@fqdn</span> <span class='op'>=</span> <span class='id identifier rubyid_fqdn'>fqdn</span> <span class='rbrace'>}</span>
3329
+ <span class='id identifier rubyid_slot'>slot</span>
3330
+ <span class='kw'>end</span>
3331
+
3332
+ <span class='comment'># List slots for a domain.
3333
+ </span> <span class='comment'># @see https://api.gandi.net/docs/email#
3334
+ </span> <span class='comment'># @param fqdn [String, #to_s] the fully qualified domain name to list slots for.
3335
+ </span> <span class='comment'># @return [Array&lt;GandiV5::Email::Slot&gt;]
3336
+ </span> <span class='comment'># @raise [GandiV5::Error::GandiError] if Gandi returns an error.
3337
+ </span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_list'>list</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='rparen'>)</span>
3338
+ <span class='id identifier rubyid__response'>_response</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_get'><span class='object_link'><a href="../../GandiV5.html#get-class_method" title="GandiV5.get (method)">get</a></span></span> <span class='id identifier rubyid_url'>url</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='rparen'>)</span>
3339
+ <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_item'>item</span><span class='op'>|</span> <span class='id identifier rubyid_from_gandi'>from_gandi</span> <span class='id identifier rubyid_item'>item</span> <span class='rbrace'>}</span>
3340
+ <span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_item'>item</span><span class='op'>|</span> <span class='id identifier rubyid_item'>item</span><span class='period'>.</span><span class='id identifier rubyid_instance_eval'>instance_eval</span> <span class='lbrace'>{</span> <span class='ivar'>@fqdn</span> <span class='op'>=</span> <span class='id identifier rubyid_fqdn'>fqdn</span> <span class='rbrace'>}</span> <span class='rbrace'>}</span>
3341
+ <span class='kw'>end</span>
3342
+
3343
+ <span class='comment'># Check if the slot is active (in use)
3344
+ </span> <span class='comment'># @return [Boolean]
3345
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_active?'>active?</span>
3346
+ <span class='id identifier rubyid_status'>status</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:active</span><span class='rparen'>)</span>
3347
+ <span class='kw'>end</span>
3348
+
3349
+ <span class='comment'># Check if the slot is inactive (not in use)
3350
+ </span> <span class='comment'># @return [Boolean]
3351
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_inactive?'>inactive?</span>
3352
+ <span class='id identifier rubyid_status'>status</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:inactive</span><span class='rparen'>)</span>
3353
+ <span class='kw'>end</span>
3354
+
3355
+ <span class='comment'># Check if the slot&#39;s mailbox_type is :free
3356
+ </span> <span class='comment'># @return [Boolean]
3357
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_free?'>free?</span>
3358
+ <span class='id identifier rubyid_mailbox_type'>mailbox_type</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:free</span><span class='rparen'>)</span>
3359
+ <span class='kw'>end</span>
3360
+
3361
+ <span class='comment'># Check if the slot&#39;s mailbox_type is :standard
3362
+ </span> <span class='comment'># @return [Boolean]
3363
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_standard?'>standard?</span>
3364
+ <span class='id identifier rubyid_mailbox_type'>mailbox_type</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:standard</span><span class='rparen'>)</span>
3365
+ <span class='kw'>end</span>
3366
+
3367
+ <span class='comment'># Check if the slot&#39;s mailbox_type is :premium
3368
+ </span> <span class='comment'># @return [Boolean]
3369
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_premium?'>premium?</span>
3370
+ <span class='id identifier rubyid_mailbox_type'>mailbox_type</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:premium</span><span class='rparen'>)</span>
3371
+ <span class='kw'>end</span>
3372
+
3373
+ <span class='id identifier rubyid_private'>private</span>
3374
+
3375
+ <span class='kw'>def</span> <span class='id identifier rubyid_url'>url</span>
3376
+ <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="../../GandiV5.html#BASE-constant" title="GandiV5::BASE (constant)">BASE</a></span></span><span class='embexpr_end'>}</span><span class='tstring_content'>email/slots/</span><span class='embexpr_beg'>#{</span><span class='const'>CGI</span><span class='period'>.</span><span class='id identifier rubyid_escape'>escape</span> <span class='id identifier rubyid_fqdn'>fqdn</span><span class='embexpr_end'>}</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_id'>id</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span>
3377
+ <span class='kw'>end</span>
3378
+
3379
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_url'>url</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_id'>id</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
3380
+ <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="../../GandiV5.html#BASE-constant" title="GandiV5::BASE (constant)">BASE</a></span></span><span class='embexpr_end'>}</span><span class='tstring_content'>email/slots/</span><span class='embexpr_beg'>#{</span><span class='const'>CGI</span><span class='period'>.</span><span class='id identifier rubyid_escape'>escape</span> <span class='id identifier rubyid_fqdn'>fqdn</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span> <span class='op'>+</span>
3381
+ <span class='lparen'>(</span><span class='id identifier rubyid_id'>id</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_id'>id</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
3382
+ <span class='kw'>end</span>
3383
+ <span class='id identifier rubyid_private_class_method'>private_class_method</span> <span class='symbol'>:url</span>
3384
+ <span class='kw'>end</span></pre>
3385
+ </td>
3386
+ </tr>
3387
+ </table>
3388
+ </div>
3389
+
3390
+ </div>
3391
+
3392
+
3393
+ <div id="class_method_details" class="method_details_list">
3394
+ <h2>Class Method Details</h2>
3395
+
3396
+
3397
+ <div class="method_details first">
3398
+ <h3 class="signature first" id="create-class_method">
3399
+
3400
+ .<strong>create</strong>(fqdn, type = :standard) &#x21d2; <tt>String</tt>
3401
+
3402
+
3403
+
3404
+
3405
+
3406
+ </h3><div class="docstring">
3407
+ <div class="discussion">
3408
+
3409
+ <p>Creates a new slot. You must have slots available before you can create a mailbox. If you have used the two free standard 3GB mailbox slots that are included with the domain, but require more mailboxes on that domain, you must first purchase additional slots.</p>
3410
+
3411
+
3412
+ </div>
3413
+ </div>
3414
+ <div class="tags">
3415
+ <p class="tag_title">Parameters:</p>
3416
+ <ul class="param">
3417
+
3418
+ <li>
3419
+
3420
+ <span class='name'>fqdn</span>
3421
+
3422
+
3423
+ <span class='type'>(<tt>String</tt>, <tt>#to_s</tt>)</span>
3424
+
3425
+
3426
+
3427
+ &mdash;
3428
+ <div class='inline'>
3429
+ <p>the fully qualified domain name to add the slot to.</p>
3430
+ </div>
3431
+
3432
+ </li>
3433
+
3434
+ <li>
3435
+
3436
+ <span class='name'>type</span>
3437
+
3438
+
3439
+ <span class='type'>(<tt>:standard</tt>, <tt>:premium</tt>)</span>
3440
+
3441
+
3442
+ <em class="default">(defaults to: <tt>:standard</tt>)</em>
3443
+
3444
+
3445
+ &mdash;
3446
+ <div class='inline'>
3447
+ <p>Tyhe type of slot to add.</p>
3448
+ </div>
3449
+
3450
+ </li>
3451
+
3452
+ </ul>
3453
+
3454
+ <p class="tag_title">Returns:</p>
3455
+ <ul class="return">
3456
+
3457
+ <li>
3458
+
3459
+
3460
+ <span class='type'>(<tt>String</tt>)</span>
3461
+
3462
+
3463
+
3464
+ &mdash;
3465
+ <div class='inline'>
3466
+ <p>The confirmation message from Gandi.</p>
3467
+ </div>
3468
+
3469
+ </li>
3470
+
3471
+ </ul>
3472
+ <p class="tag_title">Raises:</p>
3473
+ <ul class="raise">
3474
+
3475
+ <li>
3476
+
3477
+
3478
+ <span class='type'>(<tt><span class='object_link'><a href="../Error/GandiError.html" title="GandiV5::Error::GandiError (class)">GandiV5::Error::GandiError</a></span></tt>)</span>
3479
+
3480
+
3481
+
3482
+ &mdash;
3483
+ <div class='inline'>
3484
+ <p>if Gandi returns an error.</p>
3485
+ </div>
3486
+
3487
+ </li>
3488
+
3489
+ </ul>
3490
+
3491
+ <p class="tag_title">See Also:</p>
3492
+ <ul class="see">
3493
+
3494
+ <li><a href="https://api.gandi.net/docs/email#post-v5-email-slots-domain" target="_parent" title="https://api.gandi.net/docs/email#post-v5-email-slots-domain">https://api.gandi.net/docs/email#post-v5-email-slots-domain</a></li>
3495
+
3496
+ </ul>
3497
+
3498
+ </div><table class="source_code">
3499
+ <tr>
3500
+ <td>
3501
+ <pre class="lines">
3502
+
3503
+
3504
+ 84
3505
+ 85
3506
+ 86
3507
+ 87
3508
+ 88
3509
+ 89
3510
+ 90
3511
+ 91</pre>
3512
+ </td>
3513
+ <td>
3514
+ <pre class="code"><span class="info file"># File 'lib/gandi_v5/email/slot.rb', line 84</span>
3515
+
3516
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span> <span class='op'>=</span> <span class='symbol'>:standard</span><span class='rparen'>)</span>
3517
+ <span class='id identifier rubyid_body'>body</span> <span class='op'>=</span> <span class='lbrace'>{</span>
3518
+ <span class='label'>mailbox_type:</span> <span class='id identifier rubyid_type'>type</span>
3519
+ <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_to_json'>to_json</span>
3520
+
3521
+ <span class='id identifier rubyid_response'>response</span><span class='comma'>,</span> <span class='id identifier rubyid__data'>_data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_post'><span class='object_link'><a href="../../GandiV5.html#post-class_method" title="GandiV5.post (method)">post</a></span></span> <span class='id identifier rubyid_url'>url</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_body'>body</span>
3522
+ <span class='id identifier rubyid_fetch'>fetch</span> <span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_response'>response</span><span class='period'>.</span><span class='id identifier rubyid_headers'>headers</span><span class='lbracket'>[</span><span class='symbol'>:location</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>/</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_last'>last</span>
3523
+ <span class='kw'>end</span></pre>
3524
+ </td>
3525
+ </tr>
3526
+ </table>
3527
+ </div>
3528
+
3529
+ <div class="method_details ">
3530
+ <h3 class="signature " id="fetch-class_method">
3531
+
3532
+ .<strong>fetch</strong>(fqdn, id) &#x21d2; <tt><span class='object_link'><a href="" title="GandiV5::Email::Slot (class)">GandiV5::Email::Slot</a></span></tt>
3533
+
3534
+
3535
+
3536
+
3537
+
3538
+ </h3><div class="docstring">
3539
+ <div class="discussion">
3540
+
3541
+ <p>Get information for a slot.</p>
3542
+
3543
+
3544
+ </div>
3545
+ </div>
3546
+ <div class="tags">
3547
+ <p class="tag_title">Parameters:</p>
3548
+ <ul class="param">
3549
+
3550
+ <li>
3551
+
3552
+ <span class='name'>fqdn</span>
3553
+
3554
+
3555
+ <span class='type'>(<tt>String</tt>, <tt>#to_s</tt>)</span>
3556
+
3557
+
3558
+
3559
+ &mdash;
3560
+ <div class='inline'>
3561
+ <p>the fully qualified domain name the slot is on.</p>
3562
+ </div>
3563
+
3564
+ </li>
3565
+
3566
+ <li>
3567
+
3568
+ <span class='name'>id</span>
3569
+
3570
+
3571
+ <span class='type'>(<tt>String</tt>, <tt>#to_s</tt>)</span>
3572
+
3573
+
3574
+
3575
+ &mdash;
3576
+ <div class='inline'>
3577
+ <p>the ID of the slot to fetch.</p>
3578
+ </div>
3579
+
3580
+ </li>
3581
+
3582
+ </ul>
3583
+
3584
+ <p class="tag_title">Returns:</p>
3585
+ <ul class="return">
3586
+
3587
+ <li>
3588
+
3589
+
3590
+ <span class='type'>(<tt><span class='object_link'><a href="" title="GandiV5::Email::Slot (class)">GandiV5::Email::Slot</a></span></tt>)</span>
3591
+
3592
+
3593
+
3594
+ </li>
3595
+
3596
+ </ul>
3597
+ <p class="tag_title">Raises:</p>
3598
+ <ul class="raise">
3599
+
3600
+ <li>
3601
+
3602
+
3603
+ <span class='type'>(<tt><span class='object_link'><a href="../Error/GandiError.html" title="GandiV5::Error::GandiError (class)">GandiV5::Error::GandiError</a></span></tt>)</span>
3604
+
3605
+
3606
+
3607
+ &mdash;
3608
+ <div class='inline'>
3609
+ <p>if Gandi returns an error.</p>
3610
+ </div>
3611
+
3612
+ </li>
3613
+
3614
+ </ul>
3615
+
3616
+ <p class="tag_title">See Also:</p>
3617
+ <ul class="see">
3618
+
3619
+ <li><a href="https://api.gandi.net/docs/email#get-v5-email-slots-domain-slot_id" target="_parent" title="https://api.gandi.net/docs/email#get-v5-email-slots-domain-slot_id">https://api.gandi.net/docs/email#get-v5-email-slots-domain-slot_id</a></li>
3620
+
3621
+ </ul>
3622
+
3623
+ </div><table class="source_code">
3624
+ <tr>
3625
+ <td>
3626
+ <pre class="lines">
3627
+
3628
+
3629
+ 99
3630
+ 100
3631
+ 101
3632
+ 102
3633
+ 103
3634
+ 104</pre>
3635
+ </td>
3636
+ <td>
3637
+ <pre class="code"><span class="info file"># File 'lib/gandi_v5/email/slot.rb', line 99</span>
3638
+
3639
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_fetch'>fetch</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_id'>id</span><span class='rparen'>)</span>
3640
+ <span class='id identifier rubyid__response'>_response</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_get'><span class='object_link'><a href="../../GandiV5.html#get-class_method" title="GandiV5.get (method)">get</a></span></span> <span class='id identifier rubyid_url'>url</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='comma'>,</span> <span class='id identifier rubyid_id'>id</span><span class='rparen'>)</span>
3641
+ <span class='id identifier rubyid_slot'>slot</span> <span class='op'>=</span> <span class='id identifier rubyid_from_gandi'>from_gandi</span> <span class='id identifier rubyid_data'>data</span>
3642
+ <span class='id identifier rubyid_slot'>slot</span><span class='period'>.</span><span class='id identifier rubyid_instance_eval'>instance_eval</span> <span class='lbrace'>{</span> <span class='ivar'>@fqdn</span> <span class='op'>=</span> <span class='id identifier rubyid_fqdn'>fqdn</span> <span class='rbrace'>}</span>
3643
+ <span class='id identifier rubyid_slot'>slot</span>
3644
+ <span class='kw'>end</span></pre>
3645
+ </td>
3646
+ </tr>
3647
+ </table>
3648
+ </div>
3649
+
3650
+ <div class="method_details ">
3651
+ <h3 class="signature " id="list-class_method">
3652
+
3653
+ .<strong>list</strong>(fqdn) &#x21d2; <tt>Array&lt;<span class='object_link'><a href="" title="GandiV5::Email::Slot (class)">GandiV5::Email::Slot</a></span>&gt;</tt>
3654
+
3655
+
3656
+
3657
+
3658
+
3659
+ </h3><div class="docstring">
3660
+ <div class="discussion">
3661
+
3662
+ <p>List slots for a domain.</p>
3663
+
3664
+
3665
+ </div>
3666
+ </div>
3667
+ <div class="tags">
3668
+ <p class="tag_title">Parameters:</p>
3669
+ <ul class="param">
3670
+
3671
+ <li>
3672
+
3673
+ <span class='name'>fqdn</span>
3674
+
3675
+
3676
+ <span class='type'>(<tt>String</tt>, <tt>#to_s</tt>)</span>
3677
+
3678
+
3679
+
3680
+ &mdash;
3681
+ <div class='inline'>
3682
+ <p>the fully qualified domain name to list slots for.</p>
3683
+ </div>
3684
+
3685
+ </li>
3686
+
3687
+ </ul>
3688
+
3689
+ <p class="tag_title">Returns:</p>
3690
+ <ul class="return">
3691
+
3692
+ <li>
3693
+
3694
+
3695
+ <span class='type'>(<tt>Array&lt;<span class='object_link'><a href="" title="GandiV5::Email::Slot (class)">GandiV5::Email::Slot</a></span>&gt;</tt>)</span>
3696
+
3697
+
3698
+
3699
+ </li>
3700
+
3701
+ </ul>
3702
+ <p class="tag_title">Raises:</p>
3703
+ <ul class="raise">
3704
+
3705
+ <li>
3706
+
3707
+
3708
+ <span class='type'>(<tt><span class='object_link'><a href="../Error/GandiError.html" title="GandiV5::Error::GandiError (class)">GandiV5::Error::GandiError</a></span></tt>)</span>
3709
+
3710
+
3711
+
3712
+ &mdash;
3713
+ <div class='inline'>
3714
+ <p>if Gandi returns an error.</p>
3715
+ </div>
3716
+
3717
+ </li>
3718
+
3719
+ </ul>
3720
+
3721
+ <p class="tag_title">See Also:</p>
3722
+ <ul class="see">
3723
+
3724
+ <li><a href="https://api.gandi.net/docs/email#" target="_parent" title="https://api.gandi.net/docs/email#">https://api.gandi.net/docs/email#</a></li>
3725
+
3726
+ </ul>
3727
+
3728
+ </div><table class="source_code">
3729
+ <tr>
3730
+ <td>
3731
+ <pre class="lines">
3732
+
3733
+
3734
+ 111
3735
+ 112
3736
+ 113
3737
+ 114
3738
+ 115</pre>
3739
+ </td>
3740
+ <td>
3741
+ <pre class="code"><span class="info file"># File 'lib/gandi_v5/email/slot.rb', line 111</span>
3742
+
3743
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_list'>list</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='rparen'>)</span>
3744
+ <span class='id identifier rubyid__response'>_response</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_get'><span class='object_link'><a href="../../GandiV5.html#get-class_method" title="GandiV5.get (method)">get</a></span></span> <span class='id identifier rubyid_url'>url</span><span class='lparen'>(</span><span class='id identifier rubyid_fqdn'>fqdn</span><span class='rparen'>)</span>
3745
+ <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_item'>item</span><span class='op'>|</span> <span class='id identifier rubyid_from_gandi'>from_gandi</span> <span class='id identifier rubyid_item'>item</span> <span class='rbrace'>}</span>
3746
+ <span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_item'>item</span><span class='op'>|</span> <span class='id identifier rubyid_item'>item</span><span class='period'>.</span><span class='id identifier rubyid_instance_eval'>instance_eval</span> <span class='lbrace'>{</span> <span class='ivar'>@fqdn</span> <span class='op'>=</span> <span class='id identifier rubyid_fqdn'>fqdn</span> <span class='rbrace'>}</span> <span class='rbrace'>}</span>
3747
+ <span class='kw'>end</span></pre>
3748
+ </td>
3749
+ </tr>
3750
+ </table>
3751
+ </div>
3752
+
3753
+ </div>
3754
+
3755
+ <div id="instance_method_details" class="method_details_list">
3756
+ <h2>Instance Method Details</h2>
3757
+
3758
+
3759
+ <div class="method_details first">
3760
+ <h3 class="signature first" id="active?-instance_method">
3761
+
3762
+ #<strong>active?</strong> &#x21d2; <tt>Boolean</tt>
3763
+
3764
+
3765
+
3766
+
3767
+
3768
+ </h3><div class="docstring">
3769
+ <div class="discussion">
3770
+
3771
+ <p>Check if the slot is active (in use)</p>
3772
+
3773
+
3774
+ </div>
3775
+ </div>
3776
+ <div class="tags">
3777
+
3778
+ <p class="tag_title">Returns:</p>
3779
+ <ul class="return">
3780
+
3781
+ <li>
3782
+
3783
+
3784
+ <span class='type'>(<tt>Boolean</tt>)</span>
3785
+
3786
+
3787
+
3788
+ </li>
3789
+
3790
+ </ul>
3791
+
3792
+ </div><table class="source_code">
3793
+ <tr>
3794
+ <td>
3795
+ <pre class="lines">
3796
+
3797
+
3798
+ 119
3799
+ 120
3800
+ 121</pre>
3801
+ </td>
3802
+ <td>
3803
+ <pre class="code"><span class="info file"># File 'lib/gandi_v5/email/slot.rb', line 119</span>
3804
+
3805
+ <span class='kw'>def</span> <span class='id identifier rubyid_active?'>active?</span>
3806
+ <span class='id identifier rubyid_status'>status</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:active</span><span class='rparen'>)</span>
3807
+ <span class='kw'>end</span></pre>
3808
+ </td>
3809
+ </tr>
3810
+ </table>
3811
+ </div>
3812
+
3813
+ <div class="method_details ">
3814
+ <h3 class="signature " id="delete-instance_method">
3815
+
3816
+ #<strong>delete</strong> &#x21d2; <tt>String</tt>
3817
+
3818
+
3819
+
3820
+
3821
+
3822
+ </h3><div class="docstring">
3823
+ <div class="discussion">
3824
+
3825
+ <p>Delete this slot if it is inactive and refundable. When you delete a slot, the prepaid account that was used to purchase the slot will be refunded for the remaining time that will not be used.</p>
3826
+
3827
+
3828
+ </div>
3829
+ </div>
3830
+ <div class="tags">
3831
+
3832
+ <p class="tag_title">Returns:</p>
3833
+ <ul class="return">
3834
+
3835
+ <li>
3836
+
3837
+
3838
+ <span class='type'>(<tt>String</tt>)</span>
3839
+
3840
+
3841
+
3842
+ &mdash;
3843
+ <div class='inline'>
3844
+ <p>The confirmation message from Gandi.</p>
3845
+ </div>
3846
+
3847
+ </li>
3848
+
3849
+ </ul>
3850
+ <p class="tag_title">Raises:</p>
3851
+ <ul class="raise">
3852
+
3853
+ <li>
3854
+
3855
+
3856
+ <span class='type'>(<tt><span class='object_link'><a href="../Error.html" title="GandiV5::Error (class)">GandiV5::Error</a></span></tt>)</span>
3857
+
3858
+
3859
+
3860
+ &mdash;
3861
+ <div class='inline'>
3862
+ <p>if slot is active.</p>
3863
+ </div>
3864
+
3865
+ </li>
3866
+
3867
+ <li>
3868
+
3869
+
3870
+ <span class='type'>(<tt><span class='object_link'><a href="../Error.html" title="GandiV5::Error (class)">GandiV5::Error</a></span></tt>)</span>
3871
+
3872
+
3873
+
3874
+ &mdash;
3875
+ <div class='inline'>
3876
+ <p>if slot is not refundable.</p>
3877
+ </div>
3878
+
3879
+ </li>
3880
+
3881
+ <li>
3882
+
3883
+
3884
+ <span class='type'>(<tt><span class='object_link'><a href="../Error/GandiError.html" title="GandiV5::Error::GandiError (class)">GandiV5::Error::GandiError</a></span></tt>)</span>
3885
+
3886
+
3887
+
3888
+ &mdash;
3889
+ <div class='inline'>
3890
+ <p>if Gandi returns an error.</p>
3891
+ </div>
3892
+
3893
+ </li>
3894
+
3895
+ </ul>
3896
+
3897
+ <p class="tag_title">See Also:</p>
3898
+ <ul class="see">
3899
+
3900
+ <li><span class='object_link'><a href="Mailbox.html#delete-instance_method" title="GandiV5::Email::Mailbox#delete (method)">Mailbox#delete</a></span></li>
3901
+
3902
+ <li><a href="https://api.gandi.net/docs/email#delete-v5-email-slots-domain-slot_id" target="_parent" title="https://api.gandi.net/docs/email#delete-v5-email-slots-domain-slot_id">https://api.gandi.net/docs/email#delete-v5-email-slots-domain-slot_id</a></li>
3903
+
3904
+ </ul>
3905
+
3906
+ </div><table class="source_code">
3907
+ <tr>
3908
+ <td>
3909
+ <pre class="lines">
3910
+
3911
+
3912
+ 59
3913
+ 60
3914
+ 61
3915
+ 62
3916
+ 63
3917
+ 64
3918
+ 65</pre>
3919
+ </td>
3920
+ <td>
3921
+ <pre class="code"><span class="info file"># File 'lib/gandi_v5/email/slot.rb', line 59</span>
3922
+
3923
+ <span class='kw'>def</span> <span class='id identifier rubyid_delete'>delete</span>
3924
+ <span class='id identifier rubyid_fail'>fail</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Error.html" title="GandiV5::Error (class)">Error</a></span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>slot can\&#39;t be deleted whilst active</span><span class='tstring_end'>&#39;</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_active?'>active?</span>
3925
+ <span class='id identifier rubyid_fail'>fail</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Error.html" title="GandiV5::Error (class)">Error</a></span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>slot can\&#39;t be deleted if it\&#39;s not refundable</span><span class='tstring_end'>&#39;</span></span> <span class='kw'>unless</span> <span class='id identifier rubyid_refundable'>refundable</span>
3926
+
3927
+ <span class='id identifier rubyid__response'>_response</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_delete'><span class='object_link'><a href="../../GandiV5.html#delete-class_method" title="GandiV5.delete (method)">delete</a></span></span> <span class='id identifier rubyid_url'>url</span>
3928
+ <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>message</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span>
3929
+ <span class='kw'>end</span></pre>
3930
+ </td>
3931
+ </tr>
3932
+ </table>
3933
+ </div>
3934
+
3935
+ <div class="method_details ">
3936
+ <h3 class="signature " id="free?-instance_method">
3937
+
3938
+ #<strong>free?</strong> &#x21d2; <tt>Boolean</tt>
3939
+
3940
+
3941
+
3942
+
3943
+
3944
+ </h3><div class="docstring">
3945
+ <div class="discussion">
3946
+
3947
+ <p>Check if the slot&#39;s mailbox_type is :free</p>
3948
+
3949
+
3950
+ </div>
3951
+ </div>
3952
+ <div class="tags">
3953
+
3954
+ <p class="tag_title">Returns:</p>
3955
+ <ul class="return">
3956
+
3957
+ <li>
3958
+
3959
+
3960
+ <span class='type'>(<tt>Boolean</tt>)</span>
3961
+
3962
+
3963
+
3964
+ </li>
3965
+
3966
+ </ul>
3967
+
3968
+ </div><table class="source_code">
3969
+ <tr>
3970
+ <td>
3971
+ <pre class="lines">
3972
+
3973
+
3974
+ 131
3975
+ 132
3976
+ 133</pre>
3977
+ </td>
3978
+ <td>
3979
+ <pre class="code"><span class="info file"># File 'lib/gandi_v5/email/slot.rb', line 131</span>
3980
+
3981
+ <span class='kw'>def</span> <span class='id identifier rubyid_free?'>free?</span>
3982
+ <span class='id identifier rubyid_mailbox_type'>mailbox_type</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:free</span><span class='rparen'>)</span>
3983
+ <span class='kw'>end</span></pre>
3984
+ </td>
3985
+ </tr>
3986
+ </table>
3987
+ </div>
3988
+
3989
+ <div class="method_details ">
3990
+ <h3 class="signature " id="inactive?-instance_method">
3991
+
3992
+ #<strong>inactive?</strong> &#x21d2; <tt>Boolean</tt>
3993
+
3994
+
3995
+
3996
+
3997
+
3998
+ </h3><div class="docstring">
3999
+ <div class="discussion">
4000
+
4001
+ <p>Check if the slot is inactive (not in use)</p>
4002
+
4003
+
4004
+ </div>
4005
+ </div>
4006
+ <div class="tags">
4007
+
4008
+ <p class="tag_title">Returns:</p>
4009
+ <ul class="return">
4010
+
4011
+ <li>
4012
+
4013
+
4014
+ <span class='type'>(<tt>Boolean</tt>)</span>
4015
+
4016
+
4017
+
4018
+ </li>
4019
+
4020
+ </ul>
4021
+
4022
+ </div><table class="source_code">
4023
+ <tr>
4024
+ <td>
4025
+ <pre class="lines">
4026
+
4027
+
4028
+ 125
4029
+ 126
4030
+ 127</pre>
4031
+ </td>
4032
+ <td>
4033
+ <pre class="code"><span class="info file"># File 'lib/gandi_v5/email/slot.rb', line 125</span>
4034
+
4035
+ <span class='kw'>def</span> <span class='id identifier rubyid_inactive?'>inactive?</span>
4036
+ <span class='id identifier rubyid_status'>status</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:inactive</span><span class='rparen'>)</span>
4037
+ <span class='kw'>end</span></pre>
4038
+ </td>
4039
+ </tr>
4040
+ </table>
4041
+ </div>
4042
+
4043
+ <div class="method_details ">
4044
+ <h3 class="signature " id="premium?-instance_method">
4045
+
4046
+ #<strong>premium?</strong> &#x21d2; <tt>Boolean</tt>
4047
+
4048
+
4049
+
4050
+
4051
+
4052
+ </h3><div class="docstring">
4053
+ <div class="discussion">
4054
+
4055
+ <p>Check if the slot&#39;s mailbox_type is :premium</p>
4056
+
4057
+
4058
+ </div>
4059
+ </div>
4060
+ <div class="tags">
4061
+
4062
+ <p class="tag_title">Returns:</p>
4063
+ <ul class="return">
4064
+
4065
+ <li>
4066
+
4067
+
4068
+ <span class='type'>(<tt>Boolean</tt>)</span>
4069
+
4070
+
4071
+
4072
+ </li>
4073
+
4074
+ </ul>
4075
+
4076
+ </div><table class="source_code">
4077
+ <tr>
4078
+ <td>
4079
+ <pre class="lines">
4080
+
4081
+
4082
+ 143
4083
+ 144
4084
+ 145</pre>
4085
+ </td>
4086
+ <td>
4087
+ <pre class="code"><span class="info file"># File 'lib/gandi_v5/email/slot.rb', line 143</span>
4088
+
4089
+ <span class='kw'>def</span> <span class='id identifier rubyid_premium?'>premium?</span>
4090
+ <span class='id identifier rubyid_mailbox_type'>mailbox_type</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:premium</span><span class='rparen'>)</span>
4091
+ <span class='kw'>end</span></pre>
4092
+ </td>
4093
+ </tr>
4094
+ </table>
4095
+ </div>
4096
+
4097
+ <div class="method_details ">
4098
+ <h3 class="signature " id="refresh-instance_method">
4099
+
4100
+ #<strong>refresh</strong> &#x21d2; <tt><span class='object_link'><a href="" title="GandiV5::Email::Slot (class)">GandiV5::Email::Slot</a></span></tt>
4101
+
4102
+
4103
+
4104
+
4105
+
4106
+ </h3><div class="docstring">
4107
+ <div class="discussion">
4108
+
4109
+ <p>Requery Gandi for this slot&#39;s information.</p>
4110
+
4111
+
4112
+ </div>
4113
+ </div>
4114
+ <div class="tags">
4115
+
4116
+ <p class="tag_title">Returns:</p>
4117
+ <ul class="return">
4118
+
4119
+ <li>
4120
+
4121
+
4122
+ <span class='type'>(<tt><span class='object_link'><a href="" title="GandiV5::Email::Slot (class)">GandiV5::Email::Slot</a></span></tt>)</span>
4123
+
4124
+
4125
+
4126
+ </li>
4127
+
4128
+ </ul>
4129
+ <p class="tag_title">Raises:</p>
4130
+ <ul class="raise">
4131
+
4132
+ <li>
4133
+
4134
+
4135
+ <span class='type'>(<tt><span class='object_link'><a href="../Error/GandiError.html" title="GandiV5::Error::GandiError (class)">GandiV5::Error::GandiError</a></span></tt>)</span>
4136
+
4137
+
4138
+
4139
+ &mdash;
4140
+ <div class='inline'>
4141
+ <p>if Gandi returns an error.</p>
4142
+ </div>
4143
+
4144
+ </li>
4145
+
4146
+ </ul>
4147
+
4148
+ <p class="tag_title">See Also:</p>
4149
+ <ul class="see">
4150
+
4151
+ <li><a href="https://api.gandi.net/docs/email#get-v5-email-slots-domain-slot_id" target="_parent" title="https://api.gandi.net/docs/email#get-v5-email-slots-domain-slot_id">https://api.gandi.net/docs/email#get-v5-email-slots-domain-slot_id</a></li>
4152
+
4153
+ </ul>
4154
+
4155
+ </div><table class="source_code">
4156
+ <tr>
4157
+ <td>
4158
+ <pre class="lines">
4159
+
4160
+
4161
+ 71
4162
+ 72
4163
+ 73
4164
+ 74</pre>
4165
+ </td>
4166
+ <td>
4167
+ <pre class="code"><span class="info file"># File 'lib/gandi_v5/email/slot.rb', line 71</span>
4168
+
4169
+ <span class='kw'>def</span> <span class='id identifier rubyid_refresh'>refresh</span>
4170
+ <span class='id identifier rubyid__response'>_response</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span><span class='period'>.</span><span class='id identifier rubyid_get'><span class='object_link'><a href="../../GandiV5.html#get-class_method" title="GandiV5.get (method)">get</a></span></span> <span class='id identifier rubyid_url'>url</span>
4171
+ <span class='id identifier rubyid_from_gandi'>from_gandi</span> <span class='id identifier rubyid_data'>data</span>
4172
+ <span class='kw'>end</span></pre>
4173
+ </td>
4174
+ </tr>
4175
+ </table>
4176
+ </div>
4177
+
4178
+ <div class="method_details ">
4179
+ <h3 class="signature " id="standard?-instance_method">
4180
+
4181
+ #<strong>standard?</strong> &#x21d2; <tt>Boolean</tt>
4182
+
4183
+
4184
+
4185
+
4186
+
4187
+ </h3><div class="docstring">
4188
+ <div class="discussion">
4189
+
4190
+ <p>Check if the slot&#39;s mailbox_type is :standard</p>
4191
+
4192
+
4193
+ </div>
4194
+ </div>
4195
+ <div class="tags">
4196
+
4197
+ <p class="tag_title">Returns:</p>
4198
+ <ul class="return">
4199
+
4200
+ <li>
4201
+
4202
+
4203
+ <span class='type'>(<tt>Boolean</tt>)</span>
4204
+
4205
+
4206
+
4207
+ </li>
4208
+
4209
+ </ul>
4210
+
4211
+ </div><table class="source_code">
4212
+ <tr>
4213
+ <td>
4214
+ <pre class="lines">
4215
+
4216
+
4217
+ 137
4218
+ 138
4219
+ 139</pre>
4220
+ </td>
4221
+ <td>
4222
+ <pre class="code"><span class="info file"># File 'lib/gandi_v5/email/slot.rb', line 137</span>
4223
+
4224
+ <span class='kw'>def</span> <span class='id identifier rubyid_standard?'>standard?</span>
4225
+ <span class='id identifier rubyid_mailbox_type'>mailbox_type</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='symbol'>:standard</span><span class='rparen'>)</span>
4226
+ <span class='kw'>end</span></pre>
4227
+ </td>
4228
+ </tr>
4229
+ </table>
4230
+ </div>
4231
+
4232
+ </div>
4233
+
4234
+ </div>
4235
+
4236
+ <div id="footer">
4237
+ Generated on Mon Jul 22 16:44:27 2019 by
4238
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
4239
+ 0.9.19 (ruby-2.6.3).
4240
+ </div>
4241
+
4242
+ </div>
4243
+ </body>
4244
+ </html>