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,785 @@
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
+ Module: GandiV5::Data
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::Data";
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 (D)</a> &raquo;
40
+ <span class='title'><span class='object_link'><a href="../GandiV5.html" title="GandiV5 (class)">GandiV5</a></span></span>
41
+ &raquo;
42
+ <span class="title">Data</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>Module: GandiV5::Data
63
+
64
+
65
+
66
+ </h1>
67
+ <div class="box_info">
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+ <dl>
78
+ <dt>Included in:</dt>
79
+ <dd><span class='object_link'><a href="Billing/Info.html" title="GandiV5::Billing::Info (class)">Billing::Info</a></span>, <span class='object_link'><a href="Billing/Info/Prepaid.html" title="GandiV5::Billing::Info::Prepaid (class)">Billing::Info::Prepaid</a></span>, <span class='object_link'><a href="Domain.html" title="GandiV5::Domain (class)">Domain</a></span>, <span class='object_link'><a href="Domain/AutoRenew.html" title="GandiV5::Domain::AutoRenew (class)">GandiV5::Domain::AutoRenew</a></span>, <span class='object_link'><a href="Domain/Availability.html" title="GandiV5::Domain::Availability (class)">GandiV5::Domain::Availability</a></span>, <span class='object_link'><a href="Domain/Availability/Product.html" title="GandiV5::Domain::Availability::Product (class)">GandiV5::Domain::Availability::Product</a></span>, <span class='object_link'><a href="Domain/Availability/Product/Price.html" title="GandiV5::Domain::Availability::Product::Price (class)">GandiV5::Domain::Availability::Product::Price</a></span>, <span class='object_link'><a href="Domain/Availability/Tax.html" title="GandiV5::Domain::Availability::Tax (class)">GandiV5::Domain::Availability::Tax</a></span>, <span class='object_link'><a href="Domain/Contact.html" title="GandiV5::Domain::Contact (class)">GandiV5::Domain::Contact</a></span>, <span class='object_link'><a href="Domain/Contract.html" title="GandiV5::Domain::Contract (class)">GandiV5::Domain::Contract</a></span>, <span class='object_link'><a href="Domain/Dates.html" title="GandiV5::Domain::Dates (class)">GandiV5::Domain::Dates</a></span>, <span class='object_link'><a href="Domain/RenewalInformation.html" title="GandiV5::Domain::RenewalInformation (class)">GandiV5::Domain::RenewalInformation</a></span>, <span class='object_link'><a href="Domain/RestoreInformation.html" title="GandiV5::Domain::RestoreInformation (class)">GandiV5::Domain::RestoreInformation</a></span>, <span class='object_link'><a href="Domain/SharingSpace.html" title="GandiV5::Domain::SharingSpace (class)">GandiV5::Domain::SharingSpace</a></span>, <span class='object_link'><a href="Domain/TLD.html" title="GandiV5::Domain::TLD (class)">GandiV5::Domain::TLD</a></span>, <span class='object_link'><a href="Email/Mailbox.html" title="GandiV5::Email::Mailbox (class)">Email::Mailbox</a></span>, <span class='object_link'><a href="Email/Mailbox/Responder.html" title="GandiV5::Email::Mailbox::Responder (class)">Email::Mailbox::Responder</a></span>, <span class='object_link'><a href="Email/Offer.html" title="GandiV5::Email::Offer (class)">Email::Offer</a></span>, <span class='object_link'><a href="Email/Slot.html" title="GandiV5::Email::Slot (class)">Email::Slot</a></span>, <span class='object_link'><a href="LiveDNS/Domain.html" title="GandiV5::LiveDNS::Domain (class)">LiveDNS::Domain</a></span>, <span class='object_link'><a href="LiveDNS/RecordSet.html" title="GandiV5::LiveDNS::RecordSet (class)">LiveDNS::RecordSet</a></span>, <span class='object_link'><a href="LiveDNS/Zone.html" title="GandiV5::LiveDNS::Zone (class)">LiveDNS::Zone</a></span>, <span class='object_link'><a href="LiveDNS/Zone/Snapshot.html" title="GandiV5::LiveDNS::Zone::Snapshot (class)">LiveDNS::Zone::Snapshot</a></span>, <span class='object_link'><a href="Organization.html" title="GandiV5::Organization (class)">Organization</a></span></dd>
80
+ </dl>
81
+
82
+
83
+
84
+ <dl>
85
+ <dt>Defined in:</dt>
86
+ <dd>lib/gandi_v5/data.rb<span class="defines">,<br />
87
+ lib/gandi_v5/data/converter.rb,<br /> lib/gandi_v5/data/converter/time.rb,<br /> lib/gandi_v5/data/converter/symbol.rb,<br /> lib/gandi_v5/data/converter/array_of.rb</span>
88
+ </dd>
89
+ </dl>
90
+
91
+ </div>
92
+
93
+ <h2>Overview</h2><div class="docstring">
94
+ <div class="discussion">
95
+
96
+ <p>Addin providing a DSL to manage declaring attributes and how to map and convert to/from Gandi&#39;s fields.</p>
97
+
98
+
99
+ </div>
100
+ </div>
101
+ <div class="tags">
102
+
103
+
104
+ </div><h2>Defined Under Namespace</h2>
105
+ <p class="children">
106
+
107
+
108
+ <strong class="modules">Modules:</strong> <span class='object_link'><a href="Data/ClassMethods.html" title="GandiV5::Data::ClassMethods (module)">ClassMethods</a></span>
109
+
110
+
111
+
112
+ <strong class="classes">Classes:</strong> <span class='object_link'><a href="Data/Converter.html" title="GandiV5::Data::Converter (class)">Converter</a></span>
113
+
114
+
115
+ </p>
116
+
117
+
118
+
119
+
120
+
121
+
122
+
123
+
124
+ <h2>
125
+ Class Method Summary
126
+ <small><a href="#" class="summary_toggle">collapse</a></small>
127
+ </h2>
128
+
129
+ <ul class="summary">
130
+
131
+ <li class="public ">
132
+ <span class="summary_signature">
133
+
134
+ <a href="#included-class_method" title="included (class method)">.<strong>included</strong>(host_class) &#x21d2; Object </a>
135
+
136
+
137
+
138
+ </span>
139
+
140
+
141
+
142
+
143
+
144
+
145
+
146
+
147
+
148
+ <span class="summary_desc"><div class='inline'>
149
+ <p>api private Add contents of ClassMethods to the Class which includes this module.</p>
150
+ </div></span>
151
+
152
+ </li>
153
+
154
+
155
+ </ul>
156
+
157
+ <h2>
158
+ Instance Method Summary
159
+ <small><a href="#" class="summary_toggle">collapse</a></small>
160
+ </h2>
161
+
162
+ <ul class="summary">
163
+
164
+ <li class="public ">
165
+ <span class="summary_signature">
166
+
167
+ <a href="#from_gandi-instance_method" title="#from_gandi (instance method)">#<strong>from_gandi</strong>(data) &#x21d2; self </a>
168
+
169
+
170
+
171
+ </span>
172
+
173
+
174
+
175
+
176
+
177
+
178
+
179
+
180
+
181
+ <span class="summary_desc"><div class='inline'>
182
+ <p>Update instance with data from Gandi.</p>
183
+ </div></span>
184
+
185
+ </li>
186
+
187
+
188
+ <li class="public ">
189
+ <span class="summary_signature">
190
+
191
+ <a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(**members) &#x21d2; Object </a>
192
+
193
+
194
+
195
+ </span>
196
+
197
+
198
+
199
+
200
+
201
+
202
+
203
+
204
+
205
+ <span class="summary_desc"><div class='inline'>
206
+ <p>Create a new instance from any passed members.</p>
207
+ </div></span>
208
+
209
+ </li>
210
+
211
+
212
+ <li class="public ">
213
+ <span class="summary_signature">
214
+
215
+ <a href="#to_gandi-instance_method" title="#to_gandi (instance method)">#<strong>to_gandi</strong> &#x21d2; Hash&lt;String =&gt; nil, Boolean, String, Numeric, Hash, Array&gt; </a>
216
+
217
+
218
+
219
+ </span>
220
+
221
+
222
+
223
+
224
+
225
+
226
+
227
+
228
+
229
+ <span class="summary_desc"><div class='inline'>
230
+ <p>Get a hash representation of this object suitable for passing back to Gandi.</p>
231
+ </div></span>
232
+
233
+ </li>
234
+
235
+
236
+ <li class="public ">
237
+ <span class="summary_signature">
238
+
239
+ <a href="#to_h-instance_method" title="#to_h (instance method)">#<strong>to_h</strong> &#x21d2; Hash&lt;Symbol =&gt; Object&gt; </a>
240
+
241
+
242
+
243
+ </span>
244
+
245
+
246
+
247
+
248
+
249
+
250
+
251
+
252
+
253
+ <span class="summary_desc"><div class='inline'>
254
+ <p>Get a hash representation of the object.</p>
255
+ </div></span>
256
+
257
+ </li>
258
+
259
+
260
+ <li class="public ">
261
+ <span class="summary_signature">
262
+
263
+ <a href="#values_at-instance_method" title="#values_at (instance method)">#<strong>values_at</strong>(*keys) &#x21d2; Array&lt;Object&gt; </a>
264
+
265
+
266
+
267
+ </span>
268
+
269
+
270
+
271
+
272
+
273
+
274
+
275
+
276
+
277
+ <span class="summary_desc"><div class='inline'>
278
+ <p>Get an array of values from particular members.</p>
279
+ </div></span>
280
+
281
+ </li>
282
+
283
+
284
+ </ul>
285
+
286
+
287
+
288
+
289
+ <div id="class_method_details" class="method_details_list">
290
+ <h2>Class Method Details</h2>
291
+
292
+
293
+ <div class="method_details first">
294
+ <h3 class="signature first" id="included-class_method">
295
+
296
+ .<strong>included</strong>(host_class) &#x21d2; <tt>Object</tt>
297
+
298
+
299
+
300
+
301
+
302
+ </h3><div class="docstring">
303
+ <div class="discussion">
304
+
305
+ <p>api private Add contents of ClassMethods to the Class which includes this module.</p>
306
+
307
+
308
+ </div>
309
+ </div>
310
+ <div class="tags">
311
+ <p class="tag_title">Parameters:</p>
312
+ <ul class="param">
313
+
314
+ <li>
315
+
316
+ <span class='name'>host_class</span>
317
+
318
+
319
+ <span class='type'>(<tt>Class</tt>)</span>
320
+
321
+
322
+
323
+ &mdash;
324
+ <div class='inline'>
325
+ <p>the class which included us.</p>
326
+ </div>
327
+
328
+ </li>
329
+
330
+ </ul>
331
+
332
+
333
+ </div><table class="source_code">
334
+ <tr>
335
+ <td>
336
+ <pre class="lines">
337
+
338
+
339
+ 12
340
+ 13
341
+ 14
342
+ 15
343
+ 16
344
+ 17
345
+ 18
346
+ 19
347
+ 20
348
+ 21</pre>
349
+ </td>
350
+ <td>
351
+ <pre class="code"><span class="info file"># File 'lib/gandi_v5/data.rb', line 12</span>
352
+
353
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_included'>included</span><span class='lparen'>(</span><span class='id identifier rubyid_host_class'>host_class</span><span class='rparen'>)</span>
354
+ <span class='id identifier rubyid_host_class'>host_class</span><span class='period'>.</span><span class='id identifier rubyid_extend'>extend</span> <span class='const'><span class='object_link'><a href="Data/ClassMethods.html" title="GandiV5::Data::ClassMethods (module)">ClassMethods</a></span></span>
355
+
356
+ <span class='id identifier rubyid_host_class'>host_class</span><span class='period'>.</span><span class='id identifier rubyid_instance_exec'>instance_exec</span> <span class='kw'>do</span>
357
+ <span class='ivar'>@data_members</span> <span class='op'>||=</span> <span class='const'>Set</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
358
+ <span class='ivar'>@data_converters</span> <span class='op'>||=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
359
+ <span class='ivar'>@data_map_key_to_member</span> <span class='op'>||=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
360
+ <span class='ivar'>@data_map_member_to_key</span> <span class='op'>||=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
361
+ <span class='kw'>end</span>
362
+ <span class='kw'>end</span></pre>
363
+ </td>
364
+ </tr>
365
+ </table>
366
+ </div>
367
+
368
+ </div>
369
+
370
+ <div id="instance_method_details" class="method_details_list">
371
+ <h2>Instance Method Details</h2>
372
+
373
+
374
+ <div class="method_details first">
375
+ <h3 class="signature first" id="from_gandi-instance_method">
376
+
377
+ #<strong>from_gandi</strong>(data) &#x21d2; <tt>self</tt>
378
+
379
+
380
+
381
+
382
+
383
+ </h3><div class="docstring">
384
+ <div class="discussion">
385
+
386
+ <p>Update instance with data from Gandi.</p>
387
+
388
+
389
+ </div>
390
+ </div>
391
+ <div class="tags">
392
+ <p class="tag_title">Parameters:</p>
393
+ <ul class="param">
394
+
395
+ <li>
396
+
397
+ <span class='name'>data</span>
398
+
399
+
400
+ <span class='type'>(<tt>Hash</tt>)</span>
401
+
402
+
403
+
404
+ </li>
405
+
406
+ </ul>
407
+
408
+ <p class="tag_title">Returns:</p>
409
+ <ul class="return">
410
+
411
+ <li>
412
+
413
+
414
+ <span class='type'>(<tt>self</tt>)</span>
415
+
416
+
417
+
418
+ </li>
419
+
420
+ </ul>
421
+
422
+ </div><table class="source_code">
423
+ <tr>
424
+ <td>
425
+ <pre class="lines">
426
+
427
+
428
+ 82
429
+ 83
430
+ 84
431
+ 85
432
+ 86
433
+ 87
434
+ 88
435
+ 89</pre>
436
+ </td>
437
+ <td>
438
+ <pre class="code"><span class="info file"># File 'lib/gandi_v5/data.rb', line 82</span>
439
+
440
+ <span class='kw'>def</span> <span class='id identifier rubyid_from_gandi'>from_gandi</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
441
+ <span class='id identifier rubyid_translate_gandi'>translate_gandi</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='op'>|</span>
442
+ <span class='kw'>next</span> <span class='kw'>unless</span> <span class='id identifier rubyid_data_member?'>data_member?</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rparen'>)</span>
443
+
444
+ <span class='id identifier rubyid_send'>send</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key'>key</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span>
445
+ <span class='kw'>end</span>
446
+ <span class='kw'>self</span>
447
+ <span class='kw'>end</span></pre>
448
+ </td>
449
+ </tr>
450
+ </table>
451
+ </div>
452
+
453
+ <div class="method_details ">
454
+ <h3 class="signature " id="initialize-instance_method">
455
+
456
+ #<strong>initialize</strong>(**members) &#x21d2; <tt>Object</tt>
457
+
458
+
459
+
460
+
461
+
462
+ </h3><div class="docstring">
463
+ <div class="discussion">
464
+
465
+ <p>Create a new instance from any passed members. rubocop:disable Style/IfUnlessModifier</p>
466
+
467
+
468
+ </div>
469
+ </div>
470
+ <div class="tags">
471
+ <p class="tag_title">Parameters:</p>
472
+ <ul class="param">
473
+
474
+ <li>
475
+
476
+ <span class='name'>members</span>
477
+
478
+
479
+ <span class='type'>(<tt>Hash&lt;Symbol =&gt; Object&gt;</tt>)</span>
480
+
481
+
482
+
483
+ </li>
484
+
485
+ </ul>
486
+
487
+
488
+ </div><table class="source_code">
489
+ <tr>
490
+ <td>
491
+ <pre class="lines">
492
+
493
+
494
+ 94
495
+ 95
496
+ 96
497
+ 97
498
+ 98
499
+ 99
500
+ 100
501
+ 101
502
+ 102</pre>
503
+ </td>
504
+ <td>
505
+ <pre class="code"><span class="info file"># File 'lib/gandi_v5/data.rb', line 94</span>
506
+
507
+ <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='op'>**</span><span class='id identifier rubyid_members'>members</span><span class='rparen'>)</span>
508
+ <span class='id identifier rubyid_members'>members</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_member'>member</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='op'>|</span>
509
+ <span class='kw'>unless</span> <span class='id identifier rubyid_data_member?'>data_member?</span><span class='lparen'>(</span><span class='id identifier rubyid_member'>member</span><span class='rparen'>)</span>
510
+ <span class='id identifier rubyid_fail'>fail</span> <span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>unknown keyword: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_member'>member</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span>
511
+ <span class='kw'>end</span>
512
+
513
+ <span class='id identifier rubyid_send'>send</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_member'>member</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span>
514
+ <span class='kw'>end</span>
515
+ <span class='kw'>end</span></pre>
516
+ </td>
517
+ </tr>
518
+ </table>
519
+ </div>
520
+
521
+ <div class="method_details ">
522
+ <h3 class="signature " id="to_gandi-instance_method">
523
+
524
+ #<strong>to_gandi</strong> &#x21d2; <tt>Hash&lt;String =&gt; nil, Boolean, String, Numeric, Hash, Array&gt;</tt>
525
+
526
+
527
+
528
+
529
+
530
+ </h3><div class="docstring">
531
+ <div class="discussion">
532
+
533
+ <p>Get a hash representation of this object suitable for passing back to Gandi.</p>
534
+
535
+
536
+ </div>
537
+ </div>
538
+ <div class="tags">
539
+
540
+ <p class="tag_title">Returns:</p>
541
+ <ul class="return">
542
+
543
+ <li>
544
+
545
+
546
+ <span class='type'>(<tt>Hash&lt;String =&gt; nil, Boolean, String, Numeric, Hash, Array&gt;</tt>)</span>
547
+
548
+
549
+
550
+ </li>
551
+
552
+ </ul>
553
+
554
+ </div><table class="source_code">
555
+ <tr>
556
+ <td>
557
+ <pre class="lines">
558
+
559
+
560
+ 43
561
+ 44
562
+ 45
563
+ 46
564
+ 47
565
+ 48
566
+ 49
567
+ 50
568
+ 51
569
+ 52
570
+ 53
571
+ 54
572
+ 55
573
+ 56
574
+ 57
575
+ 58
576
+ 59
577
+ 60
578
+ 61</pre>
579
+ </td>
580
+ <td>
581
+ <pre class="code"><span class="info file"># File 'lib/gandi_v5/data.rb', line 43</span>
582
+
583
+ <span class='kw'>def</span> <span class='id identifier rubyid_to_gandi'>to_gandi</span>
584
+ <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
585
+
586
+ <span class='id identifier rubyid_data_members'>data_members</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_member'>member</span><span class='op'>|</span>
587
+ <span class='id identifier rubyid_key'>key</span> <span class='op'>=</span> <span class='id identifier rubyid_data_member_to_gandi_key'>data_member_to_gandi_key</span><span class='lparen'>(</span><span class='id identifier rubyid_member'>member</span><span class='rparen'>)</span>
588
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='id identifier rubyid_member'>member</span><span class='rparen'>)</span>
589
+ <span class='id identifier rubyid_converter'>converter</span> <span class='op'>=</span> <span class='id identifier rubyid_data_converter_for'>data_converter_for</span><span class='lparen'>(</span><span class='id identifier rubyid_member'>member</span><span class='rparen'>)</span>
590
+
591
+ <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='id identifier rubyid_key'>key</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:to_gandi</span><span class='rparen'>)</span>
592
+ <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_gandi'>to_gandi</span>
593
+ <span class='kw'>elsif</span> <span class='id identifier rubyid_converter'>converter</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
594
+ <span class='id identifier rubyid_converter'>converter</span><span class='period'>.</span><span class='id identifier rubyid_to_gandi'>to_gandi</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
595
+ <span class='kw'>else</span>
596
+ <span class='id identifier rubyid_value'>value</span>
597
+ <span class='kw'>end</span>
598
+ <span class='kw'>end</span>
599
+
600
+ <span class='id identifier rubyid_data'>data</span>
601
+ <span class='kw'>end</span></pre>
602
+ </td>
603
+ </tr>
604
+ </table>
605
+ </div>
606
+
607
+ <div class="method_details ">
608
+ <h3 class="signature " id="to_h-instance_method">
609
+
610
+ #<strong>to_h</strong> &#x21d2; <tt>Hash&lt;Symbol =&gt; Object&gt;</tt>
611
+
612
+
613
+
614
+
615
+
616
+ </h3><div class="docstring">
617
+ <div class="discussion">
618
+
619
+ <p>Get a hash representation of the object.</p>
620
+
621
+
622
+ </div>
623
+ </div>
624
+ <div class="tags">
625
+
626
+ <p class="tag_title">Returns:</p>
627
+ <ul class="return">
628
+
629
+ <li>
630
+
631
+
632
+ <span class='type'>(<tt>Hash&lt;Symbol =&gt; Object&gt;</tt>)</span>
633
+
634
+
635
+
636
+ </li>
637
+
638
+ </ul>
639
+
640
+ </div><table class="source_code">
641
+ <tr>
642
+ <td>
643
+ <pre class="lines">
644
+
645
+
646
+ 25
647
+ 26
648
+ 27
649
+ 28
650
+ 29
651
+ 30
652
+ 31
653
+ 32
654
+ 33
655
+ 34
656
+ 35
657
+ 36
658
+ 37
659
+ 38
660
+ 39</pre>
661
+ </td>
662
+ <td>
663
+ <pre class="code"><span class="info file"># File 'lib/gandi_v5/data.rb', line 25</span>
664
+
665
+ <span class='kw'>def</span> <span class='id identifier rubyid_to_h'>to_h</span>
666
+ <span class='const'>Hash</span><span class='lbracket'>[</span>
667
+ <span class='id identifier rubyid_data_members'>data_members</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_key'>key</span><span class='op'>|</span>
668
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='rparen'>)</span>
669
+ <span class='kw'>next</span> <span class='lbracket'>[</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rbracket'>]</span> <span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
670
+
671
+ <span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Enumerable</span><span class='rparen'>)</span>
672
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_to_h_transform_enumerable'>to_h_transform_enumerable</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
673
+ <span class='kw'>elsif</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:to_h</span><span class='rparen'>)</span>
674
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_h'>to_h</span>
675
+ <span class='kw'>end</span>
676
+ <span class='lbracket'>[</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rbracket'>]</span>
677
+ <span class='kw'>end</span>
678
+ <span class='rbracket'>]</span>
679
+ <span class='kw'>end</span></pre>
680
+ </td>
681
+ </tr>
682
+ </table>
683
+ </div>
684
+
685
+ <div class="method_details ">
686
+ <h3 class="signature " id="values_at-instance_method">
687
+
688
+ #<strong>values_at</strong>(*keys) &#x21d2; <tt>Array&lt;Object&gt;</tt>
689
+
690
+
691
+
692
+
693
+
694
+ </h3><div class="docstring">
695
+ <div class="discussion">
696
+
697
+ <p>Get an array of values from particular members. rubocop:disable Style/IfUnlessModifier</p>
698
+
699
+
700
+ </div>
701
+ </div>
702
+ <div class="tags">
703
+ <p class="tag_title">Parameters:</p>
704
+ <ul class="param">
705
+
706
+ <li>
707
+
708
+ <span class='name'>keys</span>
709
+
710
+
711
+ <span class='type'>(<tt>Array&lt;Symbol, String&gt;</tt>)</span>
712
+
713
+
714
+
715
+ &mdash;
716
+ <div class='inline'>
717
+ <p>e.g. :fqdn, “contacts.owner”</p>
718
+ </div>
719
+
720
+ </li>
721
+
722
+ </ul>
723
+
724
+ <p class="tag_title">Returns:</p>
725
+ <ul class="return">
726
+
727
+ <li>
728
+
729
+
730
+ <span class='type'>(<tt>Array&lt;Object&gt;</tt>)</span>
731
+
732
+
733
+
734
+ </li>
735
+
736
+ </ul>
737
+
738
+ </div><table class="source_code">
739
+ <tr>
740
+ <td>
741
+ <pre class="lines">
742
+
743
+
744
+ 67
745
+ 68
746
+ 69
747
+ 70
748
+ 71
749
+ 72
750
+ 73
751
+ 74
752
+ 75
753
+ 76</pre>
754
+ </td>
755
+ <td>
756
+ <pre class="code"><span class="info file"># File 'lib/gandi_v5/data.rb', line 67</span>
757
+
758
+ <span class='kw'>def</span> <span class='id identifier rubyid_values_at'>values_at</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_keys'>keys</span><span class='rparen'>)</span>
759
+ <span class='id identifier rubyid_keys'>keys</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='symbol'>:to_s</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_key'>key</span><span class='op'>|</span>
760
+ <span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_sub_key'>sub_key</span> <span class='op'>=</span> <span class='id identifier rubyid_key'>key</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='comma'>,</span> <span class='int'>2</span><span class='rparen'>)</span>
761
+ <span class='kw'>unless</span> <span class='id identifier rubyid_data_member?'>data_member?</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rparen'>)</span>
762
+ <span class='id identifier rubyid_fail'>fail</span> <span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key'>key</span><span class='embexpr_end'>}</span><span class='tstring_content'> is not a member.</span><span class='tstring_end'>&quot;</span></span>
763
+ <span class='kw'>end</span>
764
+
765
+ <span class='id identifier rubyid_sub_key'>sub_key</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span> <span class='op'>?</span> <span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_values_at'>values_at</span><span class='lparen'>(</span><span class='id identifier rubyid_sub_key'>sub_key</span><span class='rparen'>)</span>
766
+ <span class='kw'>end</span>
767
+ <span class='kw'>end</span></pre>
768
+ </td>
769
+ </tr>
770
+ </table>
771
+ </div>
772
+
773
+ </div>
774
+
775
+ </div>
776
+
777
+ <div id="footer">
778
+ Generated on Mon Jul 22 16:44:23 2019 by
779
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
780
+ 0.9.19 (ruby-2.6.3).
781
+ </div>
782
+
783
+ </div>
784
+ </body>
785
+ </html>