timelogic-api 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +188 -0
  3. data/docs/ApiError.md +22 -0
  4. data/docs/BulkError.md +24 -0
  5. data/docs/CalendarResponse.md +48 -0
  6. data/docs/DiffEndpointRef.md +18 -0
  7. data/docs/DiffResponse.md +36 -0
  8. data/docs/DstResponse.md +42 -0
  9. data/docs/ElapsedResponse.md +32 -0
  10. data/docs/ErrorResponse.md +22 -0
  11. data/docs/GetCurrentTime200Response.md +49 -0
  12. data/docs/GetTimezone200Response.md +49 -0
  13. data/docs/JwkKey.md +28 -0
  14. data/docs/JwksResponse.md +18 -0
  15. data/docs/TimeApi.md +1093 -0
  16. data/docs/TimePayload.md +38 -0
  17. data/docs/TimePayloadBulkItem.md +49 -0
  18. data/docs/TimePayloadBulkResponse.md +15 -0
  19. data/docs/TimezoneMatch.md +42 -0
  20. data/docs/TimezoneOffsetResponse.md +44 -0
  21. data/docs/TimezoneResolvedResponse.md +42 -0
  22. data/docs/UtilityApi.md +74 -0
  23. data/lib/timelogic-api/api/time_api.rb +1344 -0
  24. data/lib/timelogic-api/api/utility_api.rb +82 -0
  25. data/lib/timelogic-api/api_client.rb +394 -0
  26. data/lib/timelogic-api/api_error.rb +58 -0
  27. data/lib/timelogic-api/configuration.rb +353 -0
  28. data/lib/timelogic-api/models/api_error.rb +282 -0
  29. data/lib/timelogic-api/models/bulk_error.rb +271 -0
  30. data/lib/timelogic-api/models/calendar_response.rb +474 -0
  31. data/lib/timelogic-api/models/diff_endpoint_ref.rb +222 -0
  32. data/lib/timelogic-api/models/diff_response.rb +386 -0
  33. data/lib/timelogic-api/models/dst_response.rb +427 -0
  34. data/lib/timelogic-api/models/elapsed_response.rb +354 -0
  35. data/lib/timelogic-api/models/error_response.rb +247 -0
  36. data/lib/timelogic-api/models/get_current_time200_response.rb +105 -0
  37. data/lib/timelogic-api/models/get_timezone200_response.rb +105 -0
  38. data/lib/timelogic-api/models/jwk_key.rb +371 -0
  39. data/lib/timelogic-api/models/jwks_response.rb +223 -0
  40. data/lib/timelogic-api/models/time_payload.rb +395 -0
  41. data/lib/timelogic-api/models/time_payload_bulk_item.rb +106 -0
  42. data/lib/timelogic-api/models/time_payload_bulk_response.rb +210 -0
  43. data/lib/timelogic-api/models/timezone_match.rb +437 -0
  44. data/lib/timelogic-api/models/timezone_offset_response.rb +452 -0
  45. data/lib/timelogic-api/models/timezone_resolved_response.rb +434 -0
  46. data/lib/timelogic-api/transport_configuration.rb +34 -0
  47. data/lib/timelogic-api/version.rb +7 -0
  48. data/lib/timelogic-api.rb +63 -0
  49. metadata +134 -0
@@ -0,0 +1,38 @@
1
+ # TimeLogic::Api::TimePayload
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **unix** | **Integer** | | |
8
+ | **unix_ms** | **Integer** | | |
9
+ | **utc** | **Time** | | |
10
+ | **iso_local** | **String** | | |
11
+ | **rfc2822** | **String** | | |
12
+ | **human** | **String** | | |
13
+ | **day_number** | **Integer** | | |
14
+ | **day_short** | **String** | | |
15
+ | **day_full** | **String** | | |
16
+ | **timezone** | **String** | | |
17
+ | **formatted** | **String** | | [optional] |
18
+
19
+ ## Example
20
+
21
+ ```ruby
22
+ require 'timelogic-api'
23
+
24
+ instance = TimeLogic::Api::TimePayload.new(
25
+ unix: null,
26
+ unix_ms: null,
27
+ utc: null,
28
+ iso_local: null,
29
+ rfc2822: null,
30
+ human: null,
31
+ day_number: null,
32
+ day_short: null,
33
+ day_full: null,
34
+ timezone: null,
35
+ formatted: null
36
+ )
37
+ ```
38
+
@@ -0,0 +1,49 @@
1
+ # TimeLogic::Api::TimePayloadBulkItem
2
+
3
+ ## Class instance methods
4
+
5
+ ### `openapi_one_of`
6
+
7
+ Returns the list of classes defined in oneOf.
8
+
9
+ #### Example
10
+
11
+ ```ruby
12
+ require 'timelogic-api'
13
+
14
+ TimeLogic::Api::TimePayloadBulkItem.openapi_one_of
15
+ # =>
16
+ # [
17
+ # :'BulkError',
18
+ # :'TimePayload'
19
+ # ]
20
+ ```
21
+
22
+ ### build
23
+
24
+ Find the appropriate object from the `openapi_one_of` list and casts the data into it.
25
+
26
+ #### Example
27
+
28
+ ```ruby
29
+ require 'timelogic-api'
30
+
31
+ TimeLogic::Api::TimePayloadBulkItem.build(data)
32
+ # => #<BulkError:0x00007fdd4aab02a0>
33
+
34
+ TimeLogic::Api::TimePayloadBulkItem.build(data_that_doesnt_match)
35
+ # => nil
36
+ ```
37
+
38
+ #### Parameters
39
+
40
+ | Name | Type | Description |
41
+ | ---- | ---- | ----------- |
42
+ | **data** | **Mixed** | data to be matched against the list of oneOf items |
43
+
44
+ #### Return type
45
+
46
+ - `BulkError`
47
+ - `TimePayload`
48
+ - `nil` (if no type matches)
49
+
@@ -0,0 +1,15 @@
1
+ # TimeLogic::Api::TimePayloadBulkResponse
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+
8
+ ## Example
9
+
10
+ ```ruby
11
+ require 'timelogic-api'
12
+
13
+ instance = TimeLogic::Api::TimePayloadBulkResponse.new()
14
+ ```
15
+
@@ -0,0 +1,42 @@
1
+ # TimeLogic::Api::TimezoneMatch
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **unix** | **Integer** | | |
8
+ | **unix_ms** | **Integer** | | |
9
+ | **utc** | **Time** | | |
10
+ | **iso_local** | **String** | | |
11
+ | **rfc2822** | **String** | | |
12
+ | **human** | **String** | | |
13
+ | **day_number** | **Integer** | | |
14
+ | **day_short** | **String** | | |
15
+ | **day_full** | **String** | | |
16
+ | **timezone** | **String** | | |
17
+ | **formatted** | **String** | | [optional] |
18
+ | **offset** | **Integer** | | |
19
+ | **dst** | **Boolean** | | |
20
+
21
+ ## Example
22
+
23
+ ```ruby
24
+ require 'timelogic-api'
25
+
26
+ instance = TimeLogic::Api::TimezoneMatch.new(
27
+ unix: null,
28
+ unix_ms: null,
29
+ utc: null,
30
+ iso_local: null,
31
+ rfc2822: null,
32
+ human: null,
33
+ day_number: null,
34
+ day_short: null,
35
+ day_full: null,
36
+ timezone: null,
37
+ formatted: null,
38
+ offset: null,
39
+ dst: null
40
+ )
41
+ ```
42
+
@@ -0,0 +1,44 @@
1
+ # TimeLogic::Api::TimezoneOffsetResponse
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **unix** | **Integer** | | |
8
+ | **unix_ms** | **Integer** | | |
9
+ | **utc** | **Time** | | |
10
+ | **iso_local** | **String** | | |
11
+ | **rfc2822** | **String** | | |
12
+ | **human** | **String** | | |
13
+ | **day_number** | **Integer** | | |
14
+ | **day_short** | **String** | | |
15
+ | **day_full** | **String** | | |
16
+ | **timezone** | **String** | | |
17
+ | **formatted** | **String** | | [optional] |
18
+ | **offset** | **Integer** | | |
19
+ | **dst** | **Boolean** | | |
20
+ | **matching_zones** | [**Array&lt;TimezoneMatch&gt;**](TimezoneMatch.md) | | |
21
+
22
+ ## Example
23
+
24
+ ```ruby
25
+ require 'timelogic-api'
26
+
27
+ instance = TimeLogic::Api::TimezoneOffsetResponse.new(
28
+ unix: null,
29
+ unix_ms: null,
30
+ utc: null,
31
+ iso_local: null,
32
+ rfc2822: null,
33
+ human: null,
34
+ day_number: null,
35
+ day_short: null,
36
+ day_full: null,
37
+ timezone: null,
38
+ formatted: null,
39
+ offset: null,
40
+ dst: null,
41
+ matching_zones: null
42
+ )
43
+ ```
44
+
@@ -0,0 +1,42 @@
1
+ # TimeLogic::Api::TimezoneResolvedResponse
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **unix** | **Integer** | | |
8
+ | **unix_ms** | **Integer** | | |
9
+ | **utc** | **Time** | | |
10
+ | **iso_local** | **String** | | |
11
+ | **rfc2822** | **String** | | |
12
+ | **human** | **String** | | |
13
+ | **day_number** | **Integer** | | |
14
+ | **day_short** | **String** | | |
15
+ | **day_full** | **String** | | |
16
+ | **timezone** | **String** | | |
17
+ | **formatted** | **String** | | [optional] |
18
+ | **offset** | **Integer** | | |
19
+ | **dst** | **Boolean** | | |
20
+
21
+ ## Example
22
+
23
+ ```ruby
24
+ require 'timelogic-api'
25
+
26
+ instance = TimeLogic::Api::TimezoneResolvedResponse.new(
27
+ unix: null,
28
+ unix_ms: null,
29
+ utc: null,
30
+ iso_local: null,
31
+ rfc2822: null,
32
+ human: null,
33
+ day_number: null,
34
+ day_short: null,
35
+ day_full: null,
36
+ timezone: null,
37
+ formatted: null,
38
+ offset: null,
39
+ dst: null
40
+ )
41
+ ```
42
+
@@ -0,0 +1,74 @@
1
+ # TimeLogic::Api::UtilityApi
2
+
3
+ All URIs are relative to *https://api.timelogicapi.com*
4
+
5
+ | Method | HTTP request | Description |
6
+ | ------ | ------------ | ----------- |
7
+ | [**get_public_signing_key**](UtilityApi.md#get_public_signing_key) | **GET** /.well-known/time-api-public-key | Public signing key set |
8
+
9
+
10
+ ## get_public_signing_key
11
+
12
+ > <JwksResponse> get_public_signing_key(opts)
13
+
14
+ Public signing key set
15
+
16
+ Unauthenticated JWKS endpoint for verifying signed JSON responses. The public gateway proxies this route to the dedicated `time-signing` worker. For compatibility with client tooling, the gateway serves the JWKS body as standard `application/json`. Use this endpoint together with the detached signature headers returned on supported `sign=true` JSON responses: - `X-TimeLogic-Key-Id` - `X-TimeLogic-Signature` - `X-TimeLogic-Signature-Alg` - `X-TimeLogic-Signature-Timestamp` - `X-TimeLogic-Content-SHA256` - `X-TimeLogic-Signature-Input` `X-TimeLogic-Signature-Input` is the exact Base64URL-encoded UTF-8 `v1` envelope. It signs the path and query (including `sign=true`), but deliberately excludes the scheme, host, and `Content-Type` so proxy normalization cannot change the signed bytes. Behavior: - without a query string, the response returns the full retained JWKS set - the active Ed25519 key is listed first - `kid=<key-id>` returns only the matching retained public key - historical public keys may remain published after rotation so older signed responses can still be verified
17
+
18
+ ### Examples
19
+
20
+ ```ruby
21
+ require 'time'
22
+ require 'timelogic-api'
23
+
24
+ api_instance = TimeLogic::Api::UtilityApi.new
25
+ opts = {
26
+ kid: 'kid_example' # String | Optional signing key identifier filter, for example `ed25519-2026-07-19`. When present, the response returns only the matching retained public key.
27
+ }
28
+
29
+ begin
30
+ # Public signing key set
31
+ result = api_instance.get_public_signing_key(opts)
32
+ p result
33
+ rescue TimeLogic::Api::ApiError => e
34
+ puts "Error when calling UtilityApi->get_public_signing_key: #{e}"
35
+ end
36
+ ```
37
+
38
+ #### Using the get_public_signing_key_with_http_info variant
39
+
40
+ This returns an Array which contains the response data, status code and headers.
41
+
42
+ > <Array(<JwksResponse>, Integer, Hash)> get_public_signing_key_with_http_info(opts)
43
+
44
+ ```ruby
45
+ begin
46
+ # Public signing key set
47
+ data, status_code, headers = api_instance.get_public_signing_key_with_http_info(opts)
48
+ p status_code # => 2xx
49
+ p headers # => { ... }
50
+ p data # => <JwksResponse>
51
+ rescue TimeLogic::Api::ApiError => e
52
+ puts "Error when calling UtilityApi->get_public_signing_key_with_http_info: #{e}"
53
+ end
54
+ ```
55
+
56
+ ### Parameters
57
+
58
+ | Name | Type | Description | Notes |
59
+ | ---- | ---- | ----------- | ----- |
60
+ | **kid** | **String** | Optional signing key identifier filter, for example &#x60;ed25519-2026-07-19&#x60;. When present, the response returns only the matching retained public key. | [optional] |
61
+
62
+ ### Return type
63
+
64
+ [**JwksResponse**](JwksResponse.md)
65
+
66
+ ### Authorization
67
+
68
+ No authorization required
69
+
70
+ ### HTTP request headers
71
+
72
+ - **Content-Type**: Not defined
73
+ - **Accept**: application/json
74
+