endoflife_date 0.10.0 → 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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b139dd4bccdae3b216c7803cdd2fb32b4e6d4a0abe02fbdf09f70d507104469e
4
- data.tar.gz: 250f989b7a242eed6e8cba4490111191e59878cdc11d39b4bf21e436739a9ac8
3
+ metadata.gz: dca524415467bcab4a0a685c0f564cd4877d7bec53f2a0a13d98d8fb61b0a36d
4
+ data.tar.gz: c48d4fa8a062309744a28cadbed57b8ad3dea0789c0d83c48a5445a4f3a5f706
5
5
  SHA512:
6
- metadata.gz: 8c7007f236c506738d5d46988a2ee81072df481b4488e110cd295f5b88f6504479e8fc6f8b1abc045c2c19f180113561b3839059ca19e83ffec0dde45202dd16
7
- data.tar.gz: 6334f37c9f48986267e46ec2b84ca0be94e9f8501c58cfc677165f84081fadd641ab183f8da9cf78ddc611959957fd7fe259fd86374a0253b84252b5e77b413b
6
+ metadata.gz: 839ef655cf8e3832055493c42929d1b7bf7ede935a49ee0e3b786d5a4f1da2e5ea6d2bafdf39fab75d7acc779e8fea255e56ae89da0fbf54dd86aaa636c032cd
7
+ data.tar.gz: b51e83f2da7e9bf96020a796c0f00607c6e4bd3410cfa2ac987503c5289886b11e473da8872473cee4399b3d8825e1adf81f496b5c375bb12085053a8190558c
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- endoflife_date (0.10.0)
4
+ endoflife_date (1.0.0)
5
5
  typhoeus (~> 1.0, >= 1.0.1)
6
6
 
7
7
  GEM
@@ -10,14 +10,14 @@ GEM
10
10
  ast (2.4.2)
11
11
  byebug (11.1.3)
12
12
  coderay (1.1.3)
13
- diff-lcs (1.5.0)
13
+ diff-lcs (1.5.1)
14
14
  ethon (0.16.0)
15
15
  ffi (>= 1.15.0)
16
- ffi (1.15.5)
16
+ ffi (1.16.3)
17
17
  jaro_winkler (1.5.6)
18
18
  method_source (1.0.0)
19
- parallel (1.23.0)
20
- parser (3.2.2.3)
19
+ parallel (1.24.0)
20
+ parser (3.3.0.5)
21
21
  ast (~> 2.4.1)
22
22
  racc
23
23
  pry (0.14.2)
@@ -26,24 +26,24 @@ GEM
26
26
  pry-byebug (3.10.1)
27
27
  byebug (~> 11.0)
28
28
  pry (>= 0.13, < 0.15)
29
- psych (5.1.0)
29
+ psych (5.1.2)
30
30
  stringio
31
- racc (1.7.1)
31
+ racc (1.7.3)
32
32
  rainbow (3.1.1)
33
33
  rake (13.0.6)
34
- rspec (3.12.0)
35
- rspec-core (~> 3.12.0)
36
- rspec-expectations (~> 3.12.0)
37
- rspec-mocks (~> 3.12.0)
38
- rspec-core (3.12.2)
39
- rspec-support (~> 3.12.0)
40
- rspec-expectations (3.12.3)
34
+ rspec (3.13.0)
35
+ rspec-core (~> 3.13.0)
36
+ rspec-expectations (~> 3.13.0)
37
+ rspec-mocks (~> 3.13.0)
38
+ rspec-core (3.13.0)
39
+ rspec-support (~> 3.13.0)
40
+ rspec-expectations (3.13.0)
41
41
  diff-lcs (>= 1.2.0, < 2.0)
42
- rspec-support (~> 3.12.0)
43
- rspec-mocks (3.12.6)
42
+ rspec-support (~> 3.13.0)
43
+ rspec-mocks (3.13.0)
44
44
  diff-lcs (>= 1.2.0, < 2.0)
45
- rspec-support (~> 3.12.0)
46
- rspec-support (3.12.1)
45
+ rspec-support (~> 3.13.0)
46
+ rspec-support (3.13.1)
47
47
  rubocop (0.66.0)
48
48
  jaro_winkler (~> 1.5.1)
49
49
  parallel (~> 1.10)
@@ -53,8 +53,8 @@ GEM
53
53
  ruby-progressbar (~> 1.7)
54
54
  unicode-display_width (>= 1.4.0, < 1.6)
55
55
  ruby-progressbar (1.13.0)
56
- stringio (3.0.8)
57
- typhoeus (1.4.0)
56
+ stringio (3.1.0)
57
+ typhoeus (1.4.1)
58
58
  ethon (>= 0.9.0)
59
59
  unicode-display_width (1.5.0)
60
60
 
@@ -69,4 +69,4 @@ DEPENDENCIES
69
69
  rubocop (~> 0.66.0)
70
70
 
71
71
  BUNDLED WITH
72
- 2.4.17
72
+ 2.4.22
data/README.md CHANGED
@@ -7,9 +7,10 @@ Documentation for the endoflife.date API. The API is currently in Alpha. Additio
7
7
  This SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
8
8
 
9
9
  - API version: 0.0.1
10
- - Package version: 0.10.0
10
+ - Package version: 1.0.0
11
+ - Generator version: 7.4.0
11
12
  - Build package: org.openapitools.codegen.languages.RubyClientCodegen
12
- For more information, please visit [https://github.com/cliffano/endoflife.date-api-clients](https://github.com/cliffano/endoflife.date-api-clients)
13
+ For more information, please visit [https://github.com/oapicf/endoflife.date-api-clients](https://github.com/oapicf/endoflife.date-api-clients)
13
14
 
14
15
  ## Installation
15
16
 
@@ -24,22 +25,22 @@ gem build endoflife_date.gemspec
24
25
  Then either install the gem locally:
25
26
 
26
27
  ```shell
27
- gem install ./endoflife_date-0.10.0.gem
28
+ gem install ./endoflife_date-1.0.0.gem
28
29
  ```
29
30
 
30
- (for development, run `gem install --dev ./endoflife_date-0.10.0.gem` to install the development dependencies)
31
+ (for development, run `gem install --dev ./endoflife_date-1.0.0.gem` to install the development dependencies)
31
32
 
32
33
  or publish the gem to a gem hosting service, e.g. [RubyGems](https://rubygems.org/).
33
34
 
34
35
  Finally add this to the Gemfile:
35
36
 
36
- gem 'endoflife_date', '~> 0.10.0'
37
+ gem 'endoflife_date', '~> 1.0.0'
37
38
 
38
39
  ### Install from Git
39
40
 
40
- If the Ruby gem is hosted at a git repository: https://github.com/cliffano/endoflife.date-api-clients, then add the following in the Gemfile:
41
+ If the Ruby gem is hosted at a git repository: https://github.com/oapicf/endoflife.date-api-clients, then add the following in the Gemfile:
41
42
 
42
- gem 'endoflife_date', :git => 'https://github.com/cliffano/endoflife.date-api-clients.git'
43
+ gem 'endoflife_date', :git => 'https://github.com/oapicf/endoflife.date-api-clients.git'
43
44
 
44
45
  ### Include the Ruby code directly
45
46
 
@@ -83,6 +84,11 @@ Class | Method | HTTP request | Description
83
84
  ## Documentation for Models
84
85
 
85
86
  - [EndOfLifeDateApiClient::Cycle](docs/Cycle.md)
87
+ - [EndOfLifeDateApiClient::CycleCycle](docs/CycleCycle.md)
88
+ - [EndOfLifeDateApiClient::CycleDiscontinued](docs/CycleDiscontinued.md)
89
+ - [EndOfLifeDateApiClient::CycleEol](docs/CycleEol.md)
90
+ - [EndOfLifeDateApiClient::CycleLts](docs/CycleLts.md)
91
+ - [EndOfLifeDateApiClient::CycleSupport](docs/CycleSupport.md)
86
92
 
87
93
 
88
94
  ## Documentation for Authorization
data/docs/Cycle.md CHANGED
@@ -4,14 +4,14 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **cycle** | **Object** | Release Cycle | [optional] |
8
- | **release_date** | **Object** | Release Date for the first release in this cycle | [optional] |
9
- | **eol** | **Object** | End of Life Date for this release cycle | [optional] |
10
- | **latest** | **Object** | Latest release in this cycle | [optional] |
11
- | **link** | **Object** | Link to changelog for the latest release, if available | [optional] |
12
- | **lts** | **Object** | Whether this release cycle has long-term-support (LTS). Can be a date instead in YYYY-MM-DD format as well if the release enters LTS status on a given date. | [optional] |
13
- | **support** | **Object** | Whether this release cycle has active support | [optional] |
14
- | **discontinued** | **Object** | Whether this cycle is now discontinued. | [optional] |
7
+ | **cycle** | [**CycleCycle**](CycleCycle.md) | | [optional] |
8
+ | **release_date** | **Date** | Release Date for the first release in this cycle | [optional] |
9
+ | **eol** | [**CycleEol**](CycleEol.md) | | [optional] |
10
+ | **latest** | **String** | Latest release in this cycle | [optional] |
11
+ | **link** | **String** | Link to changelog for the latest release, if available | [optional] |
12
+ | **lts** | [**CycleLts**](CycleLts.md) | | [optional] |
13
+ | **support** | [**CycleSupport**](CycleSupport.md) | | [optional] |
14
+ | **discontinued** | [**CycleDiscontinued**](CycleDiscontinued.md) | | [optional] |
15
15
 
16
16
  ## Example
17
17
 
@@ -0,0 +1,15 @@
1
+ # EndOfLifeDateApiClient::CycleCycle
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+
8
+ ## Example
9
+
10
+ ```ruby
11
+ require 'endoflife_date'
12
+
13
+ instance = EndOfLifeDateApiClient::CycleCycle.new()
14
+ ```
15
+
@@ -0,0 +1,15 @@
1
+ # EndOfLifeDateApiClient::CycleDiscontinued
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+
8
+ ## Example
9
+
10
+ ```ruby
11
+ require 'endoflife_date'
12
+
13
+ instance = EndOfLifeDateApiClient::CycleDiscontinued.new()
14
+ ```
15
+
data/docs/CycleEol.md ADDED
@@ -0,0 +1,15 @@
1
+ # EndOfLifeDateApiClient::CycleEol
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+
8
+ ## Example
9
+
10
+ ```ruby
11
+ require 'endoflife_date'
12
+
13
+ instance = EndOfLifeDateApiClient::CycleEol.new()
14
+ ```
15
+
data/docs/CycleLts.md ADDED
@@ -0,0 +1,15 @@
1
+ # EndOfLifeDateApiClient::CycleLts
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+
8
+ ## Example
9
+
10
+ ```ruby
11
+ require 'endoflife_date'
12
+
13
+ instance = EndOfLifeDateApiClient::CycleLts.new()
14
+ ```
15
+
@@ -0,0 +1,15 @@
1
+ # EndOfLifeDateApiClient::CycleSupport
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+
8
+ ## Example
9
+
10
+ ```ruby
11
+ require 'endoflife_date'
12
+
13
+ instance = EndOfLifeDateApiClient::CycleSupport.new()
14
+ ```
15
+
data/docs/DefaultApi.md CHANGED
@@ -11,7 +11,7 @@ All URIs are relative to *https://endoflife.date*
11
11
 
12
12
  ## get_api_all_json
13
13
 
14
- > Object get_api_all_json
14
+ > Array&lt;String&gt; get_api_all_json
15
15
 
16
16
  All Products
17
17
 
@@ -38,7 +38,7 @@ end
38
38
 
39
39
  This returns an Array which contains the response data, status code and headers.
40
40
 
41
- > <Array(Object, Integer, Hash)> get_api_all_json_with_http_info
41
+ > <Array(Array&lt;String&gt;, Integer, Hash)> get_api_all_json_with_http_info
42
42
 
43
43
  ```ruby
44
44
  begin
@@ -46,7 +46,7 @@ begin
46
46
  data, status_code, headers = api_instance.get_api_all_json_with_http_info
47
47
  p status_code # => 2xx
48
48
  p headers # => { ... }
49
- p data # => Object
49
+ p data # => Array&lt;String&gt;
50
50
  rescue EndOfLifeDateApiClient::ApiError => e
51
51
  puts "Error when calling DefaultApi->get_api_all_json_with_http_info: #{e}"
52
52
  end
@@ -58,7 +58,7 @@ This endpoint does not need any parameter.
58
58
 
59
59
  ### Return type
60
60
 
61
- **Object**
61
+ **Array&lt;String&gt;**
62
62
 
63
63
  ### Authorization
64
64
 
@@ -85,8 +85,8 @@ require 'time'
85
85
  require 'endoflife_date'
86
86
 
87
87
  api_instance = EndOfLifeDateApiClient::DefaultApi.new
88
- product = TODO # Object | Product URL as per the canonical URL on the endofife.date website
89
- cycle = TODO # Object | Release Cycle for which the details must be fetched
88
+ product = 'product_example' # String | Product URL as per the canonical URL on the endofife.date website
89
+ cycle = 'cycle_example' # String | Release Cycle for which the details must be fetched
90
90
 
91
91
  begin
92
92
  # Single cycle details
@@ -119,8 +119,8 @@ end
119
119
 
120
120
  | Name | Type | Description | Notes |
121
121
  | ---- | ---- | ----------- | ----- |
122
- | **product** | [**Object**](.md) | Product URL as per the canonical URL on the endofife.date website | |
123
- | **cycle** | [**Object**](.md) | Release Cycle for which the details must be fetched | |
122
+ | **product** | **String** | Product URL as per the canonical URL on the endofife.date website | |
123
+ | **cycle** | **String** | Release Cycle for which the details must be fetched | |
124
124
 
125
125
  ### Return type
126
126
 
@@ -138,7 +138,7 @@ No authorization required
138
138
 
139
139
  ## get_api_product_json
140
140
 
141
- > Object get_api_product_json(product)
141
+ > <Array<Cycle>> get_api_product_json(product)
142
142
 
143
143
  Get All Details
144
144
 
@@ -151,7 +151,7 @@ require 'time'
151
151
  require 'endoflife_date'
152
152
 
153
153
  api_instance = EndOfLifeDateApiClient::DefaultApi.new
154
- product = TODO # Object | Product URL as per the canonical URL on the endofife.date website
154
+ product = 'product_example' # String | Product URL as per the canonical URL on the endofife.date website
155
155
 
156
156
  begin
157
157
  # Get All Details
@@ -166,7 +166,7 @@ end
166
166
 
167
167
  This returns an Array which contains the response data, status code and headers.
168
168
 
169
- > <Array(Object, Integer, Hash)> get_api_product_json_with_http_info(product)
169
+ > <Array(<Array<Cycle>>, Integer, Hash)> get_api_product_json_with_http_info(product)
170
170
 
171
171
  ```ruby
172
172
  begin
@@ -174,7 +174,7 @@ begin
174
174
  data, status_code, headers = api_instance.get_api_product_json_with_http_info(product)
175
175
  p status_code # => 2xx
176
176
  p headers # => { ... }
177
- p data # => Object
177
+ p data # => <Array<Cycle>>
178
178
  rescue EndOfLifeDateApiClient::ApiError => e
179
179
  puts "Error when calling DefaultApi->get_api_product_json_with_http_info: #{e}"
180
180
  end
@@ -184,11 +184,11 @@ end
184
184
 
185
185
  | Name | Type | Description | Notes |
186
186
  | ---- | ---- | ----------- | ----- |
187
- | **product** | [**Object**](.md) | Product URL as per the canonical URL on the endofife.date website | |
187
+ | **product** | **String** | Product URL as per the canonical URL on the endofife.date website | |
188
188
 
189
189
  ### Return type
190
190
 
191
- **Object**
191
+ [**Array&lt;Cycle&gt;**](Cycle.md)
192
192
 
193
193
  ### Authorization
194
194
 
@@ -6,9 +6,9 @@
6
6
  #Documentation for the endoflife.date API. The API is currently in Alpha. Additional information about the API can be found on the [endoflife.date wiki](https://github.com/endoflife-date/endoflife.date/wiki)
7
7
 
8
8
  The version of the OpenAPI document: 0.0.1
9
- Contact: blah@cliffano.com
9
+ Contact: blah+oapicf@cliffano.com
10
10
  Generated by: https://openapi-generator.tech
11
- OpenAPI Generator version: 7.0.0
11
+ Generator version: 7.4.0
12
12
 
13
13
  =end
14
14
 
@@ -19,13 +19,14 @@ Gem::Specification.new do |s|
19
19
  s.name = "endoflife_date"
20
20
  s.version = EndOfLifeDateApiClient::VERSION
21
21
  s.platform = Gem::Platform::RUBY
22
- s.authors = ["Cliffano Subagio"]
23
- s.email = ["blah@cliffano.com"]
24
- s.homepage = "https://github.com/cliffano/endoflife.date-api-clients"
22
+ s.authors = ["OpenAPI Clients Factory"]
23
+ s.email = ["blah+oapicf@cliffano.com"]
24
+ s.homepage = "https://github.com/oapicf/endoflife.date-api-clients"
25
25
  s.summary = "endoflife.date Ruby Gem"
26
26
  s.description = "Documentation for the endoflife.date API. The API is currently in Alpha. Additional information about the API can be found on the [endoflife.date wiki](https://github.com/endoflife-date/endoflife.date/wiki)"
27
27
  s.license = "MIT"
28
28
  s.required_ruby_version = ">= 2.0"
29
+ s.metadata = {}
29
30
 
30
31
  s.add_runtime_dependency 'typhoeus', '~> 1.0', '>= 1.0.1'
31
32
 
data/git_push.sh CHANGED
@@ -14,7 +14,7 @@ if [ "$git_host" = "" ]; then
14
14
  fi
15
15
 
16
16
  if [ "$git_user_id" = "" ]; then
17
- git_user_id="cliffano"
17
+ git_user_id="oapicf"
18
18
  echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id"
19
19
  fi
20
20
 
@@ -4,9 +4,9 @@
4
4
  #Documentation for the endoflife.date API. The API is currently in Alpha. Additional information about the API can be found on the [endoflife.date wiki](https://github.com/endoflife-date/endoflife.date/wiki)
5
5
 
6
6
  The version of the OpenAPI document: 0.0.1
7
- Contact: blah@cliffano.com
7
+ Contact: blah+oapicf@cliffano.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.0.0
9
+ Generator version: 7.4.0
10
10
 
11
11
  =end
12
12
 
@@ -22,7 +22,7 @@ module EndOfLifeDateApiClient
22
22
  # All Products
23
23
  # Return a list of all products. Each of these can be used for the other API endpoints.
24
24
  # @param [Hash] opts the optional parameters
25
- # @return [Object]
25
+ # @return [Array<String>]
26
26
  def get_api_all_json(opts = {})
27
27
  data, _status_code, _headers = get_api_all_json_with_http_info(opts)
28
28
  data
@@ -31,7 +31,7 @@ module EndOfLifeDateApiClient
31
31
  # All Products
32
32
  # Return a list of all products. Each of these can be used for the other API endpoints.
33
33
  # @param [Hash] opts the optional parameters
34
- # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
34
+ # @return [Array<(Array<String>, Integer, Hash)>] Array<String> data, response status code and response headers
35
35
  def get_api_all_json_with_http_info(opts = {})
36
36
  if @api_client.config.debugging
37
37
  @api_client.config.logger.debug 'Calling API: DefaultApi.get_api_all_json ...'
@@ -54,7 +54,7 @@ module EndOfLifeDateApiClient
54
54
  post_body = opts[:debug_body]
55
55
 
56
56
  # return_type
57
- return_type = opts[:debug_return_type] || 'Object'
57
+ return_type = opts[:debug_return_type] || 'Array<String>'
58
58
 
59
59
  # auth_names
60
60
  auth_names = opts[:debug_auth_names] || []
@@ -78,8 +78,8 @@ module EndOfLifeDateApiClient
78
78
 
79
79
  # Single cycle details
80
80
  # Gets details of a single cycle
81
- # @param product [Object] Product URL as per the canonical URL on the endofife.date website
82
- # @param cycle [Object] Release Cycle for which the details must be fetched
81
+ # @param product [String] Product URL as per the canonical URL on the endofife.date website
82
+ # @param cycle [String] Release Cycle for which the details must be fetched
83
83
  # @param [Hash] opts the optional parameters
84
84
  # @return [Cycle]
85
85
  def get_api_product_cycle_json(product, cycle, opts = {})
@@ -89,8 +89,8 @@ module EndOfLifeDateApiClient
89
89
 
90
90
  # Single cycle details
91
91
  # Gets details of a single cycle
92
- # @param product [Object] Product URL as per the canonical URL on the endofife.date website
93
- # @param cycle [Object] Release Cycle for which the details must be fetched
92
+ # @param product [String] Product URL as per the canonical URL on the endofife.date website
93
+ # @param cycle [String] Release Cycle for which the details must be fetched
94
94
  # @param [Hash] opts the optional parameters
95
95
  # @return [Array<(Cycle, Integer, Hash)>] Cycle data, response status code and response headers
96
96
  def get_api_product_cycle_json_with_http_info(product, cycle, opts = {})
@@ -147,9 +147,9 @@ module EndOfLifeDateApiClient
147
147
 
148
148
  # Get All Details
149
149
  # Get EoL dates of all cycles of a given product.
150
- # @param product [Object] Product URL as per the canonical URL on the endofife.date website
150
+ # @param product [String] Product URL as per the canonical URL on the endofife.date website
151
151
  # @param [Hash] opts the optional parameters
152
- # @return [Object]
152
+ # @return [Array<Cycle>]
153
153
  def get_api_product_json(product, opts = {})
154
154
  data, _status_code, _headers = get_api_product_json_with_http_info(product, opts)
155
155
  data
@@ -157,9 +157,9 @@ module EndOfLifeDateApiClient
157
157
 
158
158
  # Get All Details
159
159
  # Get EoL dates of all cycles of a given product.
160
- # @param product [Object] Product URL as per the canonical URL on the endofife.date website
160
+ # @param product [String] Product URL as per the canonical URL on the endofife.date website
161
161
  # @param [Hash] opts the optional parameters
162
- # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
162
+ # @return [Array<(Array<Cycle>, Integer, Hash)>] Array<Cycle> data, response status code and response headers
163
163
  def get_api_product_json_with_http_info(product, opts = {})
164
164
  if @api_client.config.debugging
165
165
  @api_client.config.logger.debug 'Calling API: DefaultApi.get_api_product_json ...'
@@ -186,7 +186,7 @@ module EndOfLifeDateApiClient
186
186
  post_body = opts[:debug_body]
187
187
 
188
188
  # return_type
189
- return_type = opts[:debug_return_type] || 'Object'
189
+ return_type = opts[:debug_return_type] || 'Array<Cycle>'
190
190
 
191
191
  # auth_names
192
192
  auth_names = opts[:debug_auth_names] || []
@@ -4,9 +4,9 @@
4
4
  #Documentation for the endoflife.date API. The API is currently in Alpha. Additional information about the API can be found on the [endoflife.date wiki](https://github.com/endoflife-date/endoflife.date/wiki)
5
5
 
6
6
  The version of the OpenAPI document: 0.0.1
7
- Contact: blah@cliffano.com
7
+ Contact: blah+oapicf@cliffano.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.0.0
9
+ Generator version: 7.4.0
10
10
 
11
11
  =end
12
12
 
@@ -17,6 +17,7 @@ require 'tempfile'
17
17
  require 'time'
18
18
  require 'typhoeus'
19
19
 
20
+
20
21
  module EndOfLifeDateApiClient
21
22
  class ApiClient
22
23
  # The Configuration object holding settings to be used in the API client.
@@ -45,9 +46,10 @@ module EndOfLifeDateApiClient
45
46
  # Call an API with given options.
46
47
  #
47
48
  # @return [Array<(Object, Integer, Hash)>] an array of 3 elements:
48
- # the data deserialized from response body (could be nil), response status code and response headers.
49
+ # the data deserialized from response body (may be a Tempfile or nil), response status code and response headers.
49
50
  def call_api(http_method, path, opts = {})
50
51
  request = build_request(http_method, path, opts)
52
+ tempfile = download_file(request) if opts[:return_type] == 'File'
51
53
  response = request.run
52
54
 
53
55
  if @config.debugging
@@ -69,7 +71,9 @@ module EndOfLifeDateApiClient
69
71
  end
70
72
  end
71
73
 
72
- if opts[:return_type]
74
+ if opts[:return_type] == 'File'
75
+ data = tempfile
76
+ elsif opts[:return_type]
73
77
  data = deserialize(response, opts[:return_type])
74
78
  else
75
79
  data = nil
@@ -124,9 +128,7 @@ module EndOfLifeDateApiClient
124
128
  end
125
129
  end
126
130
 
127
- request = Typhoeus::Request.new(url, req_opts)
128
- download_file(request) if opts[:return_type] == 'File'
129
- request
131
+ Typhoeus::Request.new(url, req_opts)
130
132
  end
131
133
 
132
134
  # Builds the HTTP request body
@@ -164,6 +166,8 @@ module EndOfLifeDateApiClient
164
166
  # process can use.
165
167
  #
166
168
  # @see Configuration#temp_folder_path
169
+ #
170
+ # @return [Tempfile] the tempfile generated
167
171
  def download_file(request)
168
172
  tempfile = nil
169
173
  encoding = nil
@@ -178,21 +182,24 @@ module EndOfLifeDateApiClient
178
182
  prefix = prefix + '-' unless prefix.end_with?('-')
179
183
  encoding = response.body.encoding
180
184
  tempfile = Tempfile.open(prefix, @config.temp_folder_path, encoding: encoding)
181
- @tempfile = tempfile
182
185
  end
183
186
  request.on_body do |chunk|
184
187
  chunk.force_encoding(encoding)
185
188
  tempfile.write(chunk)
186
189
  end
187
- request.on_complete do |response|
188
- if tempfile
189
- tempfile.close
190
- @config.logger.info "Temp file written to #{tempfile.path}, please copy the file to a proper folder "\
191
- "with e.g. `FileUtils.cp(tempfile.path, '/new/file/path')` otherwise the temp file "\
192
- "will be deleted automatically with GC. It's also recommended to delete the temp file "\
193
- "explicitly with `tempfile.delete`"
194
- end
190
+ # run the request to ensure the tempfile is created successfully before returning it
191
+ request.run
192
+ if tempfile
193
+ tempfile.close
194
+ @config.logger.info "Temp file written to #{tempfile.path}, please copy the file to a proper folder "\
195
+ "with e.g. `FileUtils.cp(tempfile.path, '/new/file/path')` otherwise the temp file "\
196
+ "will be deleted automatically with GC. It's also recommended to delete the temp file "\
197
+ "explicitly with `tempfile.delete`"
198
+ else
199
+ fail ApiError.new("Failed to create the tempfile based on the HTTP response from the server: #{request.inspect}")
195
200
  end
201
+
202
+ tempfile
196
203
  end
197
204
 
198
205
  # Check if the given MIME is a JSON MIME.
@@ -213,15 +220,10 @@ module EndOfLifeDateApiClient
213
220
  # @param [String] return_type some examples: "User", "Array<User>", "Hash<String, Integer>"
214
221
  def deserialize(response, return_type)
215
222
  body = response.body
216
-
217
- # handle file downloading - return the File instance processed in request callbacks
218
- # note that response body is empty when the file is written in chunks in request on_body callback
219
- return @tempfile if return_type == 'File'
220
-
221
223
  return nil if body.nil? || body.empty?
222
224
 
223
225
  # return response body directly for String return type
224
- return body if return_type == 'String'
226
+ return body.to_s if return_type == 'String'
225
227
 
226
228
  # ensuring a default content type
227
229
  content_type = response.headers['Content-Type'] || 'application/json'
@@ -4,9 +4,9 @@
4
4
  #Documentation for the endoflife.date API. The API is currently in Alpha. Additional information about the API can be found on the [endoflife.date wiki](https://github.com/endoflife-date/endoflife.date/wiki)
5
5
 
6
6
  The version of the OpenAPI document: 0.0.1
7
- Contact: blah@cliffano.com
7
+ Contact: blah+oapicf@cliffano.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.0.0
9
+ Generator version: 7.4.0
10
10
 
11
11
  =end
12
12
 
@@ -4,9 +4,9 @@
4
4
  #Documentation for the endoflife.date API. The API is currently in Alpha. Additional information about the API can be found on the [endoflife.date wiki](https://github.com/endoflife-date/endoflife.date/wiki)
5
5
 
6
6
  The version of the OpenAPI document: 0.0.1
7
- Contact: blah@cliffano.com
7
+ Contact: blah+oapicf@cliffano.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.0.0
9
+ Generator version: 7.4.0
10
10
 
11
11
  =end
12
12
 
@@ -222,8 +222,8 @@ module EndOfLifeDateApiClient
222
222
 
223
223
  # Gets access_token using access_token_getter or uses the static access_token
224
224
  def access_token_with_refresh
225
- return access_token if access_token_getter.nil?
226
- access_token_getter.call
225
+ return access_token if access_token_getter.nil?
226
+ access_token_getter.call
227
227
  end
228
228
 
229
229
  # Gets Basic Auth token string
@@ -286,5 +286,6 @@ module EndOfLifeDateApiClient
286
286
  url
287
287
  end
288
288
 
289
+
289
290
  end
290
291
  end