gandi_v5 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.rubocop.yml +1 -1
  4. data/.travis.yml +9 -0
  5. data/CHANGELOG.md +15 -0
  6. data/FUNDING.yml +10 -0
  7. data/README.md +7 -17
  8. data/gandi_v5.gemspec +3 -2
  9. data/lib/gandi_v5.rb +24 -10
  10. data/lib/gandi_v5/billing.rb +0 -2
  11. data/lib/gandi_v5/billing/info.rb +0 -2
  12. data/lib/gandi_v5/data.rb +0 -2
  13. data/lib/gandi_v5/data/converter.rb +0 -4
  14. data/lib/gandi_v5/domain.rb +159 -17
  15. data/lib/gandi_v5/domain/availability.rb +0 -3
  16. data/lib/gandi_v5/domain/availability/product.rb +0 -3
  17. data/lib/gandi_v5/domain/live_dns.rb +42 -0
  18. data/lib/gandi_v5/domain/renewal_information.rb +0 -3
  19. data/lib/gandi_v5/email.rb +0 -4
  20. data/lib/gandi_v5/email/forward.rb +108 -0
  21. data/lib/gandi_v5/email/mailbox.rb +0 -2
  22. data/lib/gandi_v5/error.rb +0 -2
  23. data/lib/gandi_v5/live_dns.rb +0 -4
  24. data/lib/gandi_v5/live_dns/domain.rb +1 -144
  25. data/lib/gandi_v5/live_dns/has_zone_records.rb +153 -0
  26. data/lib/gandi_v5/live_dns/zone.rb +1 -146
  27. data/lib/gandi_v5/organization.rb +28 -5
  28. data/lib/gandi_v5/version.rb +1 -1
  29. data/spec/.rubocop.yml +1 -1
  30. data/spec/features/domain_spec.rb +1 -1
  31. data/spec/fixtures/bodies/GandiV5_Billing/{info.yaml → info.yml} +0 -0
  32. data/spec/fixtures/bodies/GandiV5_Domain/{get.yaml → fetch.yml} +0 -0
  33. data/spec/fixtures/bodies/GandiV5_Domain/{fetch_contacts.yaml → fetch_contacts.yml} +0 -0
  34. data/spec/fixtures/bodies/GandiV5_Domain/fetch_glue_records.yml +7 -0
  35. data/spec/fixtures/bodies/GandiV5_Domain/fetch_livedns.yml +6 -0
  36. data/spec/fixtures/bodies/GandiV5_Domain/fetch_name_servers.yml +2 -0
  37. data/spec/fixtures/bodies/GandiV5_Domain/{renewal_info.yaml → fetch_renewal_info.yml} +0 -3
  38. data/spec/fixtures/bodies/GandiV5_Domain/{restore_info.yaml → fetch_restore_info.yml} +0 -0
  39. data/spec/fixtures/bodies/GandiV5_Domain/{list.yaml → list.yml} +1 -0
  40. data/spec/fixtures/bodies/GandiV5_Domain_Availability/{fetch.yaml → fetch.yml} +0 -0
  41. data/spec/fixtures/bodies/GandiV5_Domain_TLD/{fetch.yaml → fetch.yml} +0 -0
  42. data/spec/fixtures/bodies/GandiV5_Domain_TLD/{list.yaml → list.yml} +0 -0
  43. data/spec/fixtures/bodies/GandiV5_Email_Forward/list.yml +6 -0
  44. data/spec/fixtures/bodies/GandiV5_Email_Mailbox/{get.yaml → fetch.yml} +0 -0
  45. data/spec/fixtures/bodies/GandiV5_Email_Mailbox/{list.yaml → list.yml} +0 -0
  46. data/spec/fixtures/bodies/GandiV5_Email_Slot/{get.yaml → fetch.yml} +0 -0
  47. data/spec/fixtures/bodies/GandiV5_Email_Slot/{list.yaml → list.yml} +0 -0
  48. data/spec/fixtures/bodies/GandiV5_LiveDNS_Domain/{get.yaml → fetch.yml} +0 -0
  49. data/spec/fixtures/bodies/GandiV5_LiveDNS_Domain/{list.yaml → list.yml} +0 -0
  50. data/spec/fixtures/bodies/GandiV5_LiveDNS_Zone/{get.yaml → fetch.yml} +0 -0
  51. data/spec/fixtures/bodies/GandiV5_LiveDNS_Zone/{list.yaml → list.yml} +0 -0
  52. data/spec/fixtures/bodies/GandiV5_LiveDNS_Zone_Snapshot/{fetch.yaml → fetch.yml} +0 -0
  53. data/spec/fixtures/bodies/GandiV5_LiveDNS_Zone_Snapshot/{list.yaml → list.yml} +0 -0
  54. data/spec/fixtures/bodies/GandiV5_Organization/{get.yaml → fetch.yml} +0 -0
  55. data/spec/fixtures/bodies/GandiV5_Organization/list.yml +7 -0
  56. data/spec/fixtures/vcr/Domain_features/List_domains.yml +2 -1
  57. data/spec/spec_helper.rb +2 -2
  58. data/spec/units/gandi_v5/billing_spec.rb +2 -2
  59. data/spec/units/gandi_v5/domain/availability_spec.rb +1 -1
  60. data/spec/units/gandi_v5/domain/live_dns_spec.rb +45 -0
  61. data/spec/units/gandi_v5/domain/tld_spec.rb +2 -2
  62. data/spec/units/gandi_v5/domain_spec.rb +241 -22
  63. data/spec/units/gandi_v5/email/forward_spec.rb +121 -0
  64. data/spec/units/gandi_v5/email/mailbox_spec.rb +3 -3
  65. data/spec/units/gandi_v5/email/slot_spec.rb +3 -3
  66. data/spec/units/gandi_v5/live_dns/domain_spec.rb +3 -3
  67. data/spec/units/gandi_v5/live_dns/zone/snapshot_spec.rb +2 -2
  68. data/spec/units/gandi_v5/live_dns/zone_spec.rb +2 -2
  69. data/spec/units/gandi_v5/organization_spec.rb +38 -1
  70. metadata +51 -77
  71. data/doc/GandiV5.html +0 -1183
  72. data/doc/GandiV5/Billing.html +0 -293
  73. data/doc/GandiV5/Billing/Info.html +0 -641
  74. data/doc/GandiV5/Billing/Info/Prepaid.html +0 -817
  75. data/doc/GandiV5/Data.html +0 -785
  76. data/doc/GandiV5/Data/ClassMethods.html +0 -223
  77. data/doc/GandiV5/Data/Converter.html +0 -433
  78. data/doc/GandiV5/Data/Converter/ArrayOf.html +0 -413
  79. data/doc/GandiV5/Data/Converter/Symbol.html +0 -322
  80. data/doc/GandiV5/Data/Converter/Time.html +0 -330
  81. data/doc/GandiV5/Domain.html +0 -16847
  82. data/doc/GandiV5/Domain/AutoRenew.html +0 -1237
  83. data/doc/GandiV5/Domain/Availability.html +0 -1020
  84. data/doc/GandiV5/Domain/Availability/Product.html +0 -988
  85. data/doc/GandiV5/Domain/Availability/Product/Period.html +0 -220
  86. data/doc/GandiV5/Domain/Availability/Product/Price.html +0 -1031
  87. data/doc/GandiV5/Domain/Availability/Tax.html +0 -440
  88. data/doc/GandiV5/Domain/Contact.html +0 -4459
  89. data/doc/GandiV5/Domain/Contract.html +0 -520
  90. data/doc/GandiV5/Domain/Dates.html +0 -1313
  91. data/doc/GandiV5/Domain/RenewalInformation.html +0 -1147
  92. data/doc/GandiV5/Domain/RestoreInformation.html +0 -339
  93. data/doc/GandiV5/Domain/SharingSpace.html +0 -437
  94. data/doc/GandiV5/Domain/TLD.html +0 -1565
  95. data/doc/GandiV5/Email.html +0 -144
  96. data/doc/GandiV5/Email/Mailbox.html +0 -6307
  97. data/doc/GandiV5/Email/Mailbox/Responder.html +0 -1560
  98. data/doc/GandiV5/Email/Offer.html +0 -514
  99. data/doc/GandiV5/Email/Slot.html +0 -4244
  100. data/doc/GandiV5/Error.html +0 -151
  101. data/doc/GandiV5/Error/GandiError.html +0 -270
  102. data/doc/GandiV5/LiveDNS.html +0 -300
  103. data/doc/GandiV5/LiveDNS/Domain.html +0 -2984
  104. data/doc/GandiV5/LiveDNS/RecordSet.html +0 -1593
  105. data/doc/GandiV5/LiveDNS/Zone.html +0 -8891
  106. data/doc/GandiV5/LiveDNS/Zone/Snapshot.html +0 -1556
  107. data/doc/GandiV5/Organization.html +0 -2341
  108. data/doc/_index.html +0 -474
  109. data/doc/class_list.html +0 -51
  110. data/doc/css/common.css +0 -1
  111. data/doc/css/full_list.css +0 -58
  112. data/doc/css/style.css +0 -496
  113. data/doc/file.README.html +0 -175
  114. data/doc/file_list.html +0 -56
  115. data/doc/frames.html +0 -17
  116. data/doc/index.html +0 -175
  117. data/doc/js/app.js +0 -303
  118. data/doc/js/full_list.js +0 -216
  119. data/doc/js/jquery.js +0 -4
  120. data/doc/method_list.html +0 -2427
  121. data/doc/top-level-namespace.html +0 -110
@@ -1,785 +0,0 @@
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>