world_time_api 0.1.7 → 0.1.8

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8d7f259d98a22491f13839a70cbfa93a40af4b48b53f0209fbed8f3b6519b692
4
- data.tar.gz: 11360314e9cc254373a284a53a2b0f5de0293a1fa72e9c5567a083c4d00a66c6
3
+ metadata.gz: 4b5ceda7f739773674b13c5041b80e31b3e22b848ae13c3c7194d35eab604056
4
+ data.tar.gz: 4cddff581d5c578c37afbb0ec6de5107fc689ef555966d6e85b7dda45ca6c650
5
5
  SHA512:
6
- metadata.gz: 4b1e832dcac2c50e6bd6fcc86bc866b56b81aafba41b479c563a59049b9e43149742fff36063cd9fa0ed84d6ee67a5efa7d74435694e1ab42321a74da3fcdf78
7
- data.tar.gz: 99a89a47cd75619c35b4e239f7b02132b75f3a6d6bfdc27f6861c0e567fb51d2c6182feafa068726bf24f72afb5f094261c636b10ce585896bc6cb6f38acedbd
6
+ metadata.gz: 29ddd54a209bf115b838080423c5e5e93f5a8215fa1c17517e4da023963880bd9ddbb33afa9a6450d7ec6344b63ba5e1ff16e6b286711e756725456a183f8a53
7
+ data.tar.gz: 0500e1d09c158771a3b8d6966d6c4346469fd357b3f52235902a31ae9a815ae82ed5411a9c43ecec8a3fb08ba5e90cf714fe87890f1ecdf8548e0cc26f1ba624
data/CHANGELOG.md CHANGED
@@ -1,4 +1,12 @@
1
- ## [WorldTimeAPi]
1
+ # [WorldTimeAPI]
2
+
3
+ ## [0.1.8] - 2026-01-21
4
+
5
+ * Add methods for area, location, and region endpoints (AreaTimezones, LocationTimezones, RegionTime)
6
+ * Add .txt endpoints (TimezonesTxt, AreaTimezonesTxt, LocationTimezonesTxt, RegionTimeTxt, ClientIpTxt)
7
+ * Improve and standardize YARD documentation (English)
8
+ * Add usage examples for new endpoints in README.md
9
+ * Add tests for all new methods
2
10
 
3
11
  ## [0.1.6] - 2025-11-20
4
12
 
data/README.md CHANGED
@@ -26,22 +26,58 @@ gem install world_time_api
26
26
 
27
27
  ## Usage
28
28
 
29
- ### List timezones
29
+ ### List all timezones
30
30
 
31
31
  ```ruby
32
32
  WorldTimeApi::Timezones.call
33
33
  ```
34
34
 
35
- ### Get time by timezone
35
+ ### List timezones by area
36
36
 
37
37
  ```ruby
38
- WorldTimeApi::Time.call('Europe/London')
38
+ WorldTimeApi::AreaTimezones.call('Europe')
39
39
  ```
40
40
 
41
- ### Get time by IP address
41
+ ### List timezones by area and location
42
42
 
43
43
  ```ruby
44
- WorldTimeApi::ClientIp.call('12.215.42.19')
44
+ WorldTimeApi::LocationTimezones.call('America', 'Sao_Paulo')
45
+ ```
46
+
47
+ ### Get time by area, location and region
48
+
49
+ ```ruby
50
+ WorldTimeApi::RegionTime.call('America', 'Argentina', 'Salta')
51
+ ```
52
+
53
+ ### List all timezones (plain text)
54
+
55
+ ```ruby
56
+ WorldTimeApi::TimezonesTxt.call
57
+ ```
58
+
59
+ ### List timezones by area (plain text)
60
+
61
+ ```ruby
62
+ WorldTimeApi::AreaTimezonesTxt.call('Europe')
63
+ ```
64
+
65
+ ### List timezones by area and location (plain text)
66
+
67
+ ```ruby
68
+ WorldTimeApi::LocationTimezonesTxt.call('America', 'Sao_Paulo')
69
+ ```
70
+
71
+ ### Get time by area, location and region (plain text)
72
+
73
+ ```ruby
74
+ WorldTimeApi::RegionTimeTxt.call('America', 'Argentina', 'Salta')
75
+ ```
76
+
77
+ ### Get time by IP address (plain text)
78
+
79
+ ```ruby
80
+ WorldTimeApi::ClientIpTxt.call('12.215.42.19')
45
81
  ```
46
82
 
47
83
  ## Development
@@ -52,7 +88,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
52
88
 
53
89
  ## Contributing
54
90
 
55
- Bug reports and pull requests are welcome on GitHub at https://github.com/nemuba/world_time_api. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/[USERNAME]/world_time_api/blob/master/CODE_OF_CONDUCT.md).
91
+ Bug reports and pull requests are welcome on GitHub at <https://github.com/nemuba/world_time_api>. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/[USERNAME]/world_time_api/blob/master/CODE_OF_CONDUCT.md).
56
92
 
57
93
  ## License
58
94
 
@@ -112,7 +112,7 @@
112
112
  <div class="docstring">
113
113
  <div class="discussion">
114
114
 
115
- <p>Makes an HTTP GET request to the specified URL and returns the response as a hash.</p>
115
+ <p>Makes an HTTP GET request to the specified URL and returns the response as a hash. Retries up to 3 times in case of connection errors.</p>
116
116
 
117
117
 
118
118
  </div>
@@ -148,7 +148,9 @@
148
148
 
149
149
  </div>
150
150
  </dt>
151
- <dd><pre class="code"><span class='id identifier rubyid_lambda'>lambda</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_url'>url</span><span class='op'>|</span>
151
+ <dd><pre class="code"><span class='id identifier rubyid_lambda'>lambda</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_url'>url</span><span class='comma'>,</span> <span class='label'>max_retries:</span> <span class='int'>3</span><span class='op'>|</span>
152
+ <span class='id identifier rubyid_retries'>retries</span> <span class='op'>=</span> <span class='int'>0</span>
153
+
152
154
  <span class='kw'>begin</span>
153
155
  <span class='id identifier rubyid_response'>response</span> <span class='op'>=</span> <span class='id identifier rubyid_get'>get</span><span class='lparen'>(</span><span class='id identifier rubyid_url'>url</span><span class='rparen'>)</span>
154
156
 
@@ -156,6 +158,12 @@
156
158
 
157
159
  <span class='const'><span class='object_link'><a href="../WorldTimeApi.html" title="WorldTimeApi (module)">WorldTimeApi</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../WorldTimeApi.html#Response-constant" title="WorldTimeApi::Response (constant)">Response</a></span></span><span class='lbracket'>[</span><span class='id identifier rubyid_response'>response</span><span class='rbracket'>]</span>
158
160
  <span class='kw'>rescue</span> <span class='const'>StandardError</span>
161
+ <span class='id identifier rubyid_retries'>retries</span> <span class='op'>+=</span> <span class='int'>1</span>
162
+ <span class='kw'>if</span> <span class='id identifier rubyid_retries'>retries</span> <span class='op'>&lt;</span> <span class='id identifier rubyid_max_retries'>max_retries</span>
163
+ <span class='id identifier rubyid_sleep'>sleep</span><span class='lparen'>(</span><span class='float'>0.5</span> <span class='op'>*</span> <span class='id identifier rubyid_retries'>retries</span><span class='rparen'>)</span> <span class='comment'># Exponential backoff: 0.5s, 1s, 1.5s
164
+ </span> <span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Retrying request to </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_url'>url</span><span class='embexpr_end'>}</span><span class='tstring_content'> (attempt </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_retries'>retries</span> <span class='op'>+</span> <span class='int'>1</span><span class='embexpr_end'>}</span><span class='tstring_content'>)...</span><span class='tstring_end'>&quot;</span></span>
165
+ <span class='kw'>retry</span>
166
+ <span class='kw'>end</span>
159
167
  <span class='const'><span class='object_link'><a href="../WorldTimeApi.html" title="WorldTimeApi (module)">WorldTimeApi</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../WorldTimeApi.html#Error-constant" title="WorldTimeApi::Error (constant)">Error</a></span></span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Connection error</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span>
160
168
  <span class='kw'>end</span>
161
169
  <span class='rbrace'>}</span></pre></dd>
@@ -175,7 +183,7 @@
175
183
  </div>
176
184
 
177
185
  <div id="footer">
178
- Generated on Thu Nov 20 18:24:43 2025 by
186
+ Generated on Wed Jan 21 22:02:47 2026 by
179
187
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
180
188
  0.9.37 (ruby-3.2.2).
181
189
  </div>
@@ -241,6 +241,342 @@
241
241
  </dt>
242
242
  <dd><pre class="code"><span class='tlambda'>-&gt;</span><span class='lparen'>(</span><span class='id identifier rubyid_ip'>ip</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span> <span class='tlambeg'>{</span> <span class='const'><span class='object_link'><a href="WorldTimeApi/Request.html" title="WorldTimeApi::Request (module)">Request</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="WorldTimeApi/Request.html#Call-constant" title="WorldTimeApi::Request::Call (constant)">Call</a></span></span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>/ip</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_ip'>ip</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_ip'>ip</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_end'>&quot;</span></span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span> <span class='rbrace'>}</span></pre></dd>
243
243
 
244
+ <dt id="AreaTimezones-constant" class="">AreaTimezones =
245
+ <div class="docstring">
246
+ <div class="discussion">
247
+
248
+ <p>Returns a list of all timezones for a given area.</p>
249
+
250
+
251
+ </div>
252
+ </div>
253
+ <div class="tags">
254
+
255
+ <div class="examples">
256
+ <h4 class="tag_title">Examples:</h4>
257
+
258
+
259
+ <pre class="example code"><code><span class='const'><span class='object_link'><a href="" title="WorldTimeApi (module)">WorldTimeApi</a></span></span><span class='op'>::</span><span class='const'>AreaTimezones</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Europe</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span></code></pre>
260
+
261
+ </div>
262
+
263
+ <p class="tag_title">Returns:</p>
264
+ <ul class="return">
265
+
266
+ <li>
267
+
268
+
269
+ <span class='type'>(<tt>Hash</tt>)</span>
270
+
271
+
272
+
273
+ &mdash;
274
+ <div class='inline'>
275
+ <p>Hash with the response body or error hash.</p>
276
+ </div>
277
+
278
+ </li>
279
+
280
+ </ul>
281
+
282
+ </div>
283
+ </dt>
284
+ <dd><pre class="code"><span class='tlambda'>-&gt;</span><span class='lparen'>(</span><span class='id identifier rubyid_area'>area</span><span class='rparen'>)</span> <span class='tlambeg'>{</span> <span class='const'><span class='object_link'><a href="WorldTimeApi/Request.html" title="WorldTimeApi::Request (module)">Request</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="WorldTimeApi/Request.html#Call-constant" title="WorldTimeApi::Request::Call (constant)">Call</a></span></span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>/timezone/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_area'>area</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span> <span class='rbrace'>}</span></pre></dd>
285
+
286
+ <dt id="LocationTimezones-constant" class="">LocationTimezones =
287
+ <div class="docstring">
288
+ <div class="discussion">
289
+
290
+ <p>Returns a list of all timezones for a given area and location.</p>
291
+
292
+
293
+ </div>
294
+ </div>
295
+ <div class="tags">
296
+
297
+ <div class="examples">
298
+ <h4 class="tag_title">Examples:</h4>
299
+
300
+
301
+ <pre class="example code"><code><span class='const'><span class='object_link'><a href="" title="WorldTimeApi (module)">WorldTimeApi</a></span></span><span class='op'>::</span><span class='const'>LocationTimezones</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>America</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Sao_Paulo</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span></code></pre>
302
+
303
+ </div>
304
+
305
+ <p class="tag_title">Returns:</p>
306
+ <ul class="return">
307
+
308
+ <li>
309
+
310
+
311
+ <span class='type'>(<tt>Hash</tt>)</span>
312
+
313
+
314
+
315
+ &mdash;
316
+ <div class='inline'>
317
+ <p>Hash with the response body or error hash.</p>
318
+ </div>
319
+
320
+ </li>
321
+
322
+ </ul>
323
+
324
+ </div>
325
+ </dt>
326
+ <dd><pre class="code"><span class='tlambda'>-&gt;</span><span class='lparen'>(</span><span class='id identifier rubyid_area'>area</span><span class='comma'>,</span> <span class='id identifier rubyid_location'>location</span><span class='rparen'>)</span> <span class='tlambeg'>{</span> <span class='const'><span class='object_link'><a href="WorldTimeApi/Request.html" title="WorldTimeApi::Request (module)">Request</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="WorldTimeApi/Request.html#Call-constant" title="WorldTimeApi::Request::Call (constant)">Call</a></span></span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>/timezone/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_area'>area</span><span class='embexpr_end'>}</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_location'>location</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span> <span class='rbrace'>}</span></pre></dd>
327
+
328
+ <dt id="RegionTime-constant" class="">RegionTime =
329
+ <div class="docstring">
330
+ <div class="discussion">
331
+
332
+ <p>Returns the current time for a given area, location, and region.</p>
333
+
334
+
335
+ </div>
336
+ </div>
337
+ <div class="tags">
338
+
339
+ <div class="examples">
340
+ <h4 class="tag_title">Examples:</h4>
341
+
342
+
343
+ <pre class="example code"><code><span class='const'><span class='object_link'><a href="" title="WorldTimeApi (module)">WorldTimeApi</a></span></span><span class='op'>::</span><span class='const'>RegionTime</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>America</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Argentina</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Salta</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span></code></pre>
344
+
345
+ </div>
346
+
347
+ <p class="tag_title">Returns:</p>
348
+ <ul class="return">
349
+
350
+ <li>
351
+
352
+
353
+ <span class='type'>(<tt>Hash</tt>)</span>
354
+
355
+
356
+
357
+ &mdash;
358
+ <div class='inline'>
359
+ <p>Hash with the response body or error hash.</p>
360
+ </div>
361
+
362
+ </li>
363
+
364
+ </ul>
365
+
366
+ </div>
367
+ </dt>
368
+ <dd><pre class="code"><span class='tlambda'>-&gt;</span><span class='lparen'>(</span><span class='id identifier rubyid_area'>area</span><span class='comma'>,</span> <span class='id identifier rubyid_location'>location</span><span class='comma'>,</span> <span class='id identifier rubyid_region'>region</span><span class='rparen'>)</span> <span class='tlambeg'>{</span> <span class='const'><span class='object_link'><a href="WorldTimeApi/Request.html" title="WorldTimeApi::Request (module)">Request</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="WorldTimeApi/Request.html#Call-constant" title="WorldTimeApi::Request::Call (constant)">Call</a></span></span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>/timezone/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_area'>area</span><span class='embexpr_end'>}</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_location'>location</span><span class='embexpr_end'>}</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_region'>region</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span> <span class='rbrace'>}</span></pre></dd>
369
+
370
+ <dt id="TimezonesTxt-constant" class="">TimezonesTxt =
371
+ <div class="docstring">
372
+ <div class="discussion">
373
+
374
+ <p>Returns a list of all timezones in plain text format.</p>
375
+
376
+
377
+ </div>
378
+ </div>
379
+ <div class="tags">
380
+
381
+ <div class="examples">
382
+ <h4 class="tag_title">Examples:</h4>
383
+
384
+
385
+ <pre class="example code"><code><span class='const'><span class='object_link'><a href="" title="WorldTimeApi (module)">WorldTimeApi</a></span></span><span class='op'>::</span><span class='const'>TimezonesTxt</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span></code></pre>
386
+
387
+ </div>
388
+
389
+ <p class="tag_title">Returns:</p>
390
+ <ul class="return">
391
+
392
+ <li>
393
+
394
+
395
+ <span class='type'>(<tt>Hash</tt>)</span>
396
+
397
+
398
+
399
+ &mdash;
400
+ <div class='inline'>
401
+ <p>Hash with the response body as plain text or error hash.</p>
402
+ </div>
403
+
404
+ </li>
405
+
406
+ </ul>
407
+
408
+ </div>
409
+ </dt>
410
+ <dd><pre class="code"><span class='tlambda'>-&gt;</span> <span class='tlambeg'>{</span> <span class='const'><span class='object_link'><a href="WorldTimeApi/Request.html" title="WorldTimeApi::Request (module)">Request</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="WorldTimeApi/Request.html#Call-constant" title="WorldTimeApi::Request::Call (constant)">Call</a></span></span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>/timezone.txt</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span> <span class='rbrace'>}</span></pre></dd>
411
+
412
+ <dt id="AreaTimezonesTxt-constant" class="">AreaTimezonesTxt =
413
+ <div class="docstring">
414
+ <div class="discussion">
415
+
416
+ <p>Returns a list of all timezones for a given area in plain text format.</p>
417
+
418
+
419
+ </div>
420
+ </div>
421
+ <div class="tags">
422
+
423
+ <div class="examples">
424
+ <h4 class="tag_title">Examples:</h4>
425
+
426
+
427
+ <pre class="example code"><code><span class='const'><span class='object_link'><a href="" title="WorldTimeApi (module)">WorldTimeApi</a></span></span><span class='op'>::</span><span class='const'>AreaTimezonesTxt</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Europe</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span></code></pre>
428
+
429
+ </div>
430
+
431
+ <p class="tag_title">Returns:</p>
432
+ <ul class="return">
433
+
434
+ <li>
435
+
436
+
437
+ <span class='type'>(<tt>Hash</tt>)</span>
438
+
439
+
440
+
441
+ &mdash;
442
+ <div class='inline'>
443
+ <p>Hash with the response body as plain text or error hash.</p>
444
+ </div>
445
+
446
+ </li>
447
+
448
+ </ul>
449
+
450
+ </div>
451
+ </dt>
452
+ <dd><pre class="code"><span class='tlambda'>-&gt;</span><span class='lparen'>(</span><span class='id identifier rubyid_area'>area</span><span class='rparen'>)</span> <span class='tlambeg'>{</span> <span class='const'><span class='object_link'><a href="WorldTimeApi/Request.html" title="WorldTimeApi::Request (module)">Request</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="WorldTimeApi/Request.html#Call-constant" title="WorldTimeApi::Request::Call (constant)">Call</a></span></span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>/timezone/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_area'>area</span><span class='embexpr_end'>}</span><span class='tstring_content'>.txt</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span> <span class='rbrace'>}</span></pre></dd>
453
+
454
+ <dt id="LocationTimezonesTxt-constant" class="">LocationTimezonesTxt =
455
+ <div class="docstring">
456
+ <div class="discussion">
457
+
458
+ <p>Returns a list of all timezones for a given area and location in plain text format.</p>
459
+
460
+
461
+ </div>
462
+ </div>
463
+ <div class="tags">
464
+
465
+ <div class="examples">
466
+ <h4 class="tag_title">Examples:</h4>
467
+
468
+
469
+ <pre class="example code"><code><span class='const'><span class='object_link'><a href="" title="WorldTimeApi (module)">WorldTimeApi</a></span></span><span class='op'>::</span><span class='const'>LocationTimezonesTxt</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>America</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Sao_Paulo</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span></code></pre>
470
+
471
+ </div>
472
+
473
+ <p class="tag_title">Returns:</p>
474
+ <ul class="return">
475
+
476
+ <li>
477
+
478
+
479
+ <span class='type'>(<tt>Hash</tt>)</span>
480
+
481
+
482
+
483
+ &mdash;
484
+ <div class='inline'>
485
+ <p>Hash with the response body as plain text or error hash.</p>
486
+ </div>
487
+
488
+ </li>
489
+
490
+ </ul>
491
+
492
+ </div>
493
+ </dt>
494
+ <dd><pre class="code"><span class='tlambda'>-&gt;</span><span class='lparen'>(</span><span class='id identifier rubyid_area'>area</span><span class='comma'>,</span> <span class='id identifier rubyid_location'>location</span><span class='rparen'>)</span> <span class='tlambeg'>{</span> <span class='const'><span class='object_link'><a href="WorldTimeApi/Request.html" title="WorldTimeApi::Request (module)">Request</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="WorldTimeApi/Request.html#Call-constant" title="WorldTimeApi::Request::Call (constant)">Call</a></span></span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>/timezone/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_area'>area</span><span class='embexpr_end'>}</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_location'>location</span><span class='embexpr_end'>}</span><span class='tstring_content'>.txt</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span> <span class='rbrace'>}</span></pre></dd>
495
+
496
+ <dt id="RegionTimeTxt-constant" class="">RegionTimeTxt =
497
+ <div class="docstring">
498
+ <div class="discussion">
499
+
500
+ <p>Returns the current time for a given area, location, and region in plain text format.</p>
501
+
502
+
503
+ </div>
504
+ </div>
505
+ <div class="tags">
506
+
507
+ <div class="examples">
508
+ <h4 class="tag_title">Examples:</h4>
509
+
510
+
511
+ <pre class="example code"><code><span class='const'><span class='object_link'><a href="" title="WorldTimeApi (module)">WorldTimeApi</a></span></span><span class='op'>::</span><span class='const'>RegionTimeTxt</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>America</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Argentina</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Salta</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span></code></pre>
512
+
513
+ </div>
514
+
515
+ <p class="tag_title">Returns:</p>
516
+ <ul class="return">
517
+
518
+ <li>
519
+
520
+
521
+ <span class='type'>(<tt>Hash</tt>)</span>
522
+
523
+
524
+
525
+ &mdash;
526
+ <div class='inline'>
527
+ <p>Hash with the response body as plain text or error hash.</p>
528
+ </div>
529
+
530
+ </li>
531
+
532
+ </ul>
533
+
534
+ </div>
535
+ </dt>
536
+ <dd><pre class="code"><span class='tlambda'>-&gt;</span><span class='lparen'>(</span><span class='id identifier rubyid_area'>area</span><span class='comma'>,</span> <span class='id identifier rubyid_location'>location</span><span class='comma'>,</span> <span class='id identifier rubyid_region'>region</span><span class='rparen'>)</span> <span class='tlambeg'>{</span> <span class='const'><span class='object_link'><a href="WorldTimeApi/Request.html" title="WorldTimeApi::Request (module)">Request</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="WorldTimeApi/Request.html#Call-constant" title="WorldTimeApi::Request::Call (constant)">Call</a></span></span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>/timezone/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_area'>area</span><span class='embexpr_end'>}</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_location'>location</span><span class='embexpr_end'>}</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_region'>region</span><span class='embexpr_end'>}</span><span class='tstring_content'>.txt</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span> <span class='rbrace'>}</span></pre></dd>
537
+
538
+ <dt id="ClientIpTxt-constant" class="">ClientIpTxt =
539
+ <div class="docstring">
540
+ <div class="discussion">
541
+
542
+ <p>Returns the current time for the client’s IP address in plain text format, or for the specified IP address if provided.</p>
543
+
544
+
545
+ </div>
546
+ </div>
547
+ <div class="tags">
548
+
549
+ <div class="examples">
550
+ <h4 class="tag_title">Examples:</h4>
551
+
552
+
553
+ <pre class="example code"><code><span class='const'><span class='object_link'><a href="" title="WorldTimeApi (module)">WorldTimeApi</a></span></span><span class='op'>::</span><span class='const'>ClientIpTxt</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>127.0.0.1</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span></code></pre>
554
+
555
+ </div>
556
+
557
+ <p class="tag_title">Returns:</p>
558
+ <ul class="return">
559
+
560
+ <li>
561
+
562
+
563
+ <span class='type'>(<tt>Hash</tt>)</span>
564
+
565
+
566
+
567
+ &mdash;
568
+ <div class='inline'>
569
+ <p>Hash with the response body as plain text or error hash.</p>
570
+ </div>
571
+
572
+ </li>
573
+
574
+ </ul>
575
+
576
+ </div>
577
+ </dt>
578
+ <dd><pre class="code"><span class='tlambda'>-&gt;</span><span class='lparen'>(</span><span class='id identifier rubyid_ip'>ip</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span> <span class='tlambeg'>{</span> <span class='const'><span class='object_link'><a href="WorldTimeApi/Request.html" title="WorldTimeApi::Request (module)">Request</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="WorldTimeApi/Request.html#Call-constant" title="WorldTimeApi::Request::Call (constant)">Call</a></span></span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>/ip</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_ip'>ip</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_ip'>ip</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_end'>&quot;</span></span><span class='embexpr_end'>}</span><span class='tstring_content'>.txt</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span> <span class='rbrace'>}</span></pre></dd>
579
+
244
580
  <dt id="Error-constant" class="">Error =
245
581
  <div class="docstring">
246
582
  <div class="discussion">
@@ -297,7 +633,7 @@
297
633
 
298
634
  </div>
299
635
  </dt>
300
- <dd><pre class="code"><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>0.1.5</span><span class='tstring_end'>&quot;</span></span></pre></dd>
636
+ <dd><pre class="code"><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>0.1.7</span><span class='tstring_end'>&quot;</span></span></pre></dd>
301
637
 
302
638
  <dt id="Response-constant" class="">Response =
303
639
  <div class="docstring">
@@ -355,7 +691,7 @@
355
691
  </div>
356
692
 
357
693
  <div id="footer">
358
- Generated on Thu Nov 20 18:24:43 2025 by
694
+ Generated on Wed Jan 21 22:02:47 2026 by
359
695
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
360
696
  0.9.37 (ruby-3.2.2).
361
697
  </div>
data/doc/_index.html CHANGED
@@ -112,7 +112,7 @@
112
112
  </div>
113
113
 
114
114
  <div id="footer">
115
- Generated on Thu Nov 20 18:24:43 2025 by
115
+ Generated on Wed Jan 21 22:02:47 2026 by
116
116
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
117
117
  0.9.37 (ruby-3.2.2).
118
118
  </div>
data/doc/file.README.html CHANGED
@@ -83,19 +83,49 @@
83
83
 
84
84
  <h2 id="label-Usage">Usage</h2>
85
85
 
86
- <h3 id="label-List+timezones">List timezones</h3>
86
+ <h3 id="label-List+all+timezones">List all timezones</h3>
87
87
 
88
88
  <pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="WorldTimeApi.html" title="WorldTimeApi (module)">WorldTimeApi</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="WorldTimeApi.html#Timezones-constant" title="WorldTimeApi::Timezones (constant)">Timezones</a></span></span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span>
89
89
  </code></pre>
90
90
 
91
- <h3 id="label-Get+time+by+timezone">Get time by timezone</h3>
91
+ <h3 id="label-List+timezones+by+area">List timezones by area</h3>
92
92
 
93
- <pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="WorldTimeApi.html" title="WorldTimeApi (module)">WorldTimeApi</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="WorldTimeApi.html#Time-constant" title="WorldTimeApi::Time (constant)">Time</a></span></span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Europe/London</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
93
+ <pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="WorldTimeApi.html" title="WorldTimeApi (module)">WorldTimeApi</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="WorldTimeApi.html#AreaTimezones-constant" title="WorldTimeApi::AreaTimezones (constant)">AreaTimezones</a></span></span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Europe</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
94
94
  </code></pre>
95
95
 
96
- <h3 id="label-Get+time+by+IP+address">Get time by IP address</h3>
96
+ <h3 id="label-List+timezones+by+area+and+location">List timezones by area and location</h3>
97
97
 
98
- <pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="WorldTimeApi.html" title="WorldTimeApi (module)">WorldTimeApi</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="WorldTimeApi.html#ClientIp-constant" title="WorldTimeApi::ClientIp (constant)">ClientIp</a></span></span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>12.215.42.19</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
98
+ <pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="WorldTimeApi.html" title="WorldTimeApi (module)">WorldTimeApi</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="WorldTimeApi.html#LocationTimezones-constant" title="WorldTimeApi::LocationTimezones (constant)">LocationTimezones</a></span></span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>America</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Sao_Paulo</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
99
+ </code></pre>
100
+
101
+ <h3 id="label-Get+time+by+area-2C+location+and+region">Get time by area, location and region</h3>
102
+
103
+ <pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="WorldTimeApi.html" title="WorldTimeApi (module)">WorldTimeApi</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="WorldTimeApi.html#RegionTime-constant" title="WorldTimeApi::RegionTime (constant)">RegionTime</a></span></span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>America</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Argentina</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Salta</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
104
+ </code></pre>
105
+
106
+ <h3 id="label-List+all+timezones+-28plain+text-29">List all timezones (plain text)</h3>
107
+
108
+ <pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="WorldTimeApi.html" title="WorldTimeApi (module)">WorldTimeApi</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="WorldTimeApi.html#TimezonesTxt-constant" title="WorldTimeApi::TimezonesTxt (constant)">TimezonesTxt</a></span></span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span>
109
+ </code></pre>
110
+
111
+ <h3 id="label-List+timezones+by+area+-28plain+text-29">List timezones by area (plain text)</h3>
112
+
113
+ <pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="WorldTimeApi.html" title="WorldTimeApi (module)">WorldTimeApi</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="WorldTimeApi.html#AreaTimezonesTxt-constant" title="WorldTimeApi::AreaTimezonesTxt (constant)">AreaTimezonesTxt</a></span></span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Europe</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
114
+ </code></pre>
115
+
116
+ <h3 id="label-List+timezones+by+area+and+location+-28plain+text-29">List timezones by area and location (plain text)</h3>
117
+
118
+ <pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="WorldTimeApi.html" title="WorldTimeApi (module)">WorldTimeApi</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="WorldTimeApi.html#LocationTimezonesTxt-constant" title="WorldTimeApi::LocationTimezonesTxt (constant)">LocationTimezonesTxt</a></span></span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>America</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Sao_Paulo</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
119
+ </code></pre>
120
+
121
+ <h3 id="label-Get+time+by+area-2C+location+and+region+-28plain+text-29">Get time by area, location and region (plain text)</h3>
122
+
123
+ <pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="WorldTimeApi.html" title="WorldTimeApi (module)">WorldTimeApi</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="WorldTimeApi.html#RegionTimeTxt-constant" title="WorldTimeApi::RegionTimeTxt (constant)">RegionTimeTxt</a></span></span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>America</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Argentina</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Salta</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
124
+ </code></pre>
125
+
126
+ <h3 id="label-Get+time+by+IP+address+-28plain+text-29">Get time by IP address (plain text)</h3>
127
+
128
+ <pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="WorldTimeApi.html" title="WorldTimeApi (module)">WorldTimeApi</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="WorldTimeApi.html#ClientIpTxt-constant" title="WorldTimeApi::ClientIpTxt (constant)">ClientIpTxt</a></span></span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>12.215.42.19</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
99
129
  </code></pre>
100
130
 
101
131
  <h2 id="label-Development">Development</h2>
@@ -118,7 +148,7 @@
118
148
  </div></div>
119
149
 
120
150
  <div id="footer">
121
- Generated on Thu Nov 20 18:24:43 2025 by
151
+ Generated on Wed Jan 21 22:02:47 2026 by
122
152
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
123
153
  0.9.37 (ruby-3.2.2).
124
154
  </div>
data/doc/index.html CHANGED
@@ -83,19 +83,49 @@
83
83
 
84
84
  <h2 id="label-Usage">Usage</h2>
85
85
 
86
- <h3 id="label-List+timezones">List timezones</h3>
86
+ <h3 id="label-List+all+timezones">List all timezones</h3>
87
87
 
88
88
  <pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="WorldTimeApi.html" title="WorldTimeApi (module)">WorldTimeApi</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="WorldTimeApi.html#Timezones-constant" title="WorldTimeApi::Timezones (constant)">Timezones</a></span></span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span>
89
89
  </code></pre>
90
90
 
91
- <h3 id="label-Get+time+by+timezone">Get time by timezone</h3>
91
+ <h3 id="label-List+timezones+by+area">List timezones by area</h3>
92
92
 
93
- <pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="WorldTimeApi.html" title="WorldTimeApi (module)">WorldTimeApi</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="WorldTimeApi.html#Time-constant" title="WorldTimeApi::Time (constant)">Time</a></span></span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Europe/London</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
93
+ <pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="WorldTimeApi.html" title="WorldTimeApi (module)">WorldTimeApi</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="WorldTimeApi.html#AreaTimezones-constant" title="WorldTimeApi::AreaTimezones (constant)">AreaTimezones</a></span></span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Europe</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
94
94
  </code></pre>
95
95
 
96
- <h3 id="label-Get+time+by+IP+address">Get time by IP address</h3>
96
+ <h3 id="label-List+timezones+by+area+and+location">List timezones by area and location</h3>
97
97
 
98
- <pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="WorldTimeApi.html" title="WorldTimeApi (module)">WorldTimeApi</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="WorldTimeApi.html#ClientIp-constant" title="WorldTimeApi::ClientIp (constant)">ClientIp</a></span></span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>12.215.42.19</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
98
+ <pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="WorldTimeApi.html" title="WorldTimeApi (module)">WorldTimeApi</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="WorldTimeApi.html#LocationTimezones-constant" title="WorldTimeApi::LocationTimezones (constant)">LocationTimezones</a></span></span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>America</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Sao_Paulo</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
99
+ </code></pre>
100
+
101
+ <h3 id="label-Get+time+by+area-2C+location+and+region">Get time by area, location and region</h3>
102
+
103
+ <pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="WorldTimeApi.html" title="WorldTimeApi (module)">WorldTimeApi</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="WorldTimeApi.html#RegionTime-constant" title="WorldTimeApi::RegionTime (constant)">RegionTime</a></span></span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>America</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Argentina</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Salta</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
104
+ </code></pre>
105
+
106
+ <h3 id="label-List+all+timezones+-28plain+text-29">List all timezones (plain text)</h3>
107
+
108
+ <pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="WorldTimeApi.html" title="WorldTimeApi (module)">WorldTimeApi</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="WorldTimeApi.html#TimezonesTxt-constant" title="WorldTimeApi::TimezonesTxt (constant)">TimezonesTxt</a></span></span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span>
109
+ </code></pre>
110
+
111
+ <h3 id="label-List+timezones+by+area+-28plain+text-29">List timezones by area (plain text)</h3>
112
+
113
+ <pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="WorldTimeApi.html" title="WorldTimeApi (module)">WorldTimeApi</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="WorldTimeApi.html#AreaTimezonesTxt-constant" title="WorldTimeApi::AreaTimezonesTxt (constant)">AreaTimezonesTxt</a></span></span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Europe</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
114
+ </code></pre>
115
+
116
+ <h3 id="label-List+timezones+by+area+and+location+-28plain+text-29">List timezones by area and location (plain text)</h3>
117
+
118
+ <pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="WorldTimeApi.html" title="WorldTimeApi (module)">WorldTimeApi</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="WorldTimeApi.html#LocationTimezonesTxt-constant" title="WorldTimeApi::LocationTimezonesTxt (constant)">LocationTimezonesTxt</a></span></span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>America</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Sao_Paulo</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
119
+ </code></pre>
120
+
121
+ <h3 id="label-Get+time+by+area-2C+location+and+region+-28plain+text-29">Get time by area, location and region (plain text)</h3>
122
+
123
+ <pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="WorldTimeApi.html" title="WorldTimeApi (module)">WorldTimeApi</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="WorldTimeApi.html#RegionTimeTxt-constant" title="WorldTimeApi::RegionTimeTxt (constant)">RegionTimeTxt</a></span></span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>America</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Argentina</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Salta</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
124
+ </code></pre>
125
+
126
+ <h3 id="label-Get+time+by+IP+address+-28plain+text-29">Get time by IP address (plain text)</h3>
127
+
128
+ <pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="WorldTimeApi.html" title="WorldTimeApi (module)">WorldTimeApi</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="WorldTimeApi.html#ClientIpTxt-constant" title="WorldTimeApi::ClientIpTxt (constant)">ClientIpTxt</a></span></span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>12.215.42.19</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
99
129
  </code></pre>
100
130
 
101
131
  <h2 id="label-Development">Development</h2>
@@ -118,7 +148,7 @@
118
148
  </div></div>
119
149
 
120
150
  <div id="footer">
121
- Generated on Thu Nov 20 18:24:43 2025 by
151
+ Generated on Wed Jan 21 22:02:47 2026 by
122
152
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
123
153
  0.9.37 (ruby-3.2.2).
124
154
  </div>
@@ -100,7 +100,7 @@
100
100
  </div>
101
101
 
102
102
  <div id="footer">
103
- Generated on Thu Nov 20 18:24:43 2025 by
103
+ Generated on Wed Jan 21 22:02:47 2026 by
104
104
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
105
105
  0.9.37 (ruby-3.2.2).
106
106
  </div>
@@ -3,5 +3,5 @@
3
3
  # A Ruby wrapper for the World Time API.
4
4
  module WorldTimeApi
5
5
  # The current version number of the WorldTimeApi gem.
6
- VERSION = "0.1.7"
6
+ VERSION = "0.1.8"
7
7
  end
@@ -30,4 +30,73 @@ module WorldTimeApi
30
30
  # @example
31
31
  # WorldTimeApi::ClientIp.call('127.0.0.1')
32
32
  ClientIp = ->(ip = nil) { Request::Call["/ip#{ip ? "/#{ip}" : ""}"] }
33
+
34
+ # Returns a list of all timezones for a given area.
35
+ #
36
+ # @param area [String] The area (e.g., 'Europe').
37
+ # @return [Hash] Hash with the response body or error hash.
38
+ # @example
39
+ # WorldTimeApi::AreaTimezones.call('Europe')
40
+ AreaTimezones = ->(area) { Request::Call["/timezone/#{area}"] }
41
+
42
+ # Returns a list of all timezones for a given area and location.
43
+ #
44
+ # @param area [String] The area (e.g., 'America').
45
+ # @param location [String] The location (e.g., 'Sao_Paulo').
46
+ # @return [Hash] Hash with the response body or error hash.
47
+ # @example
48
+ # WorldTimeApi::LocationTimezones.call('America', 'Sao_Paulo')
49
+ LocationTimezones = ->(area, location) { Request::Call["/timezone/#{area}/#{location}"] }
50
+
51
+ # Returns the current time for a given area, location, and region.
52
+ #
53
+ # @param area [String] The area (e.g., 'America').
54
+ # @param location [String] The location (e.g., 'Argentina').
55
+ # @param region [String] The region (e.g., 'Salta').
56
+ # @return [Hash] Hash with the response body or error hash.
57
+ # @example
58
+ # WorldTimeApi::RegionTime.call('America', 'Argentina', 'Salta')
59
+ RegionTime = ->(area, location, region) { Request::Call["/timezone/#{area}/#{location}/#{region}"] }
60
+
61
+ # Returns a list of all timezones in plain text format.
62
+ #
63
+ # @return [Hash] Hash with the response body as plain text or error hash.
64
+ # @example
65
+ # WorldTimeApi::TimezonesTxt.call
66
+ TimezonesTxt = -> { Request::Call["/timezone.txt"] }
67
+
68
+ # Returns a list of all timezones for a given area in plain text format.
69
+ #
70
+ # @param area [String] The area (e.g., 'Europe').
71
+ # @return [Hash] Hash with the response body as plain text or error hash.
72
+ # @example
73
+ # WorldTimeApi::AreaTimezonesTxt.call('Europe')
74
+ AreaTimezonesTxt = ->(area) { Request::Call["/timezone/#{area}.txt"] }
75
+
76
+ # Returns a list of all timezones for a given area and location in plain text format.
77
+ #
78
+ # @param area [String] The area (e.g., 'America').
79
+ # @param location [String] The location (e.g., 'Sao_Paulo').
80
+ # @return [Hash] Hash with the response body as plain text or error hash.
81
+ # @example
82
+ # WorldTimeApi::LocationTimezonesTxt.call('America', 'Sao_Paulo')
83
+ LocationTimezonesTxt = ->(area, location) { Request::Call["/timezone/#{area}/#{location}.txt"] }
84
+
85
+ # Returns the current time for a given area, location, and region in plain text format.
86
+ #
87
+ # @param area [String] The area (e.g., 'America').
88
+ # @param location [String] The location (e.g., 'Argentina').
89
+ # @param region [String] The region (e.g., 'Salta').
90
+ # @return [Hash] Hash with the response body as plain text or error hash.
91
+ # @example
92
+ # WorldTimeApi::RegionTimeTxt.call('America', 'Argentina', 'Salta')
93
+ RegionTimeTxt = ->(area, location, region) { Request::Call["/timezone/#{area}/#{location}/#{region}.txt"] }
94
+
95
+ # Returns the current time for the client's IP address in plain text format, or for the specified IP address if provided.
96
+ #
97
+ # @param ip [String] (optional) The IP address to lookup.
98
+ # @return [Hash] Hash with the response body as plain text or error hash.
99
+ # @example
100
+ # WorldTimeApi::ClientIpTxt.call('127.0.0.1')
101
+ ClientIpTxt = ->(ip = nil) { Request::Call["/ip#{ip ? "/#{ip}" : ""}.txt"] }
33
102
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: world_time_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alef Ojeda de Oliveira
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-11-20 00:00:00.000000000 Z
11
+ date: 2026-01-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake