cheminee 0.1.34 → 0.1.35

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: a816e24d54c16eac05470a3ab784eae20281fc29178fc12f362ef1a23b1d9ae0
4
- data.tar.gz: ad426021b133d06f6fc33637d1d69a99de6602119ea4d65abd3ce0a5791d5494
3
+ metadata.gz: b489a78e92999967bac81cd48a4b6470ecbc181bead072db956d786f4b684289
4
+ data.tar.gz: '02818840a73cb71be8e156cd231aafcf6756b2d969bb027bb2e1b3b9a011db7b'
5
5
  SHA512:
6
- metadata.gz: cb6654c25f54f5b54baca4b998fc5ad47264a4cdb4fa74f61d0c1dbcd91c96e6ac313e4b9fb66aeb8a01f01eb69338e4e485798d697f5413d702cdbfe4dbbf6e
7
- data.tar.gz: a8c8032f8fc977069b621922b8f814becf537b2ae7a1c62721f26646a804873aaaba1c12b2332589db1fab844ac56fafbaf08463d2299f631867aa0206f58bce
6
+ metadata.gz: 362e1a903b2bfcda17583fd21ebb5833f44266f84d72bc9a8a5afdc505e9d0a7337af2c0c0535525c1a67836618375c159cd55de04bac6b30216d4e810b3ae2b
7
+ data.tar.gz: 23497cef82cb992182ef2c632998163513d280aeb9d17a35dc0108c3d36b09d6c1fc7c316a9b88653aff7584c08c4dc247dc8575f53fc8902be95d1ad0ef5ed3
data/Gemfile.lock CHANGED
@@ -1,8 +1,10 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cheminee (0.1.34)
5
- typhoeus (~> 1.0, >= 1.0.1)
4
+ cheminee (0.1.35)
5
+ faraday (>= 1.0.1, < 3.0)
6
+ faraday-multipart
7
+ marcel
6
8
 
7
9
  GEM
8
10
  remote: https://rubygems.org/
@@ -11,11 +13,22 @@ GEM
11
13
  byebug (11.1.3)
12
14
  coderay (1.1.3)
13
15
  diff-lcs (1.5.1)
14
- ethon (0.16.0)
15
- ffi (>= 1.15.0)
16
- ffi (1.17.0-x86_64-linux-gnu)
16
+ faraday (2.12.0)
17
+ faraday-net_http (>= 2.0, < 3.4)
18
+ json
19
+ logger
20
+ faraday-multipart (1.0.4)
21
+ multipart-post (~> 2)
22
+ faraday-net_http (3.3.0)
23
+ net-http
17
24
  jaro_winkler (1.5.6)
25
+ json (2.7.2)
26
+ logger (1.6.1)
27
+ marcel (1.0.4)
18
28
  method_source (1.1.0)
29
+ multipart-post (2.4.1)
30
+ net-http (0.4.1)
31
+ uri
19
32
  parallel (1.26.3)
20
33
  parser (3.3.5.0)
21
34
  ast (~> 2.4.1)
@@ -54,9 +67,8 @@ GEM
54
67
  unicode-display_width (>= 1.4.0, < 1.6)
55
68
  ruby-progressbar (1.13.0)
56
69
  stringio (3.1.1)
57
- typhoeus (1.4.1)
58
- ethon (>= 0.9.0)
59
70
  unicode-display_width (1.5.0)
71
+ uri (0.13.1)
60
72
 
61
73
  PLATFORMS
62
74
  x86_64-linux
data/README.md CHANGED
@@ -7,7 +7,7 @@ Cheminée: The Chemical Structure Search Engine
7
7
  This SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
8
8
 
9
9
  - API version: 1.0
10
- - Package version: 0.1.34
10
+ - Package version: 0.1.35
11
11
  - Generator version: 7.9.0-SNAPSHOT
12
12
  - Build package: org.openapitools.codegen.languages.RubyClientCodegen
13
13
  For more information, please visit [https://github.com/rdkit-rs/cheminee](https://github.com/rdkit-rs/cheminee)
@@ -25,16 +25,16 @@ gem build cheminee.gemspec
25
25
  Then either install the gem locally:
26
26
 
27
27
  ```shell
28
- gem install ./cheminee-0.1.34.gem
28
+ gem install ./cheminee-0.1.35.gem
29
29
  ```
30
30
 
31
- (for development, run `gem install --dev ./cheminee-0.1.34.gem` to install the development dependencies)
31
+ (for development, run `gem install --dev ./cheminee-0.1.35.gem` to install the development dependencies)
32
32
 
33
33
  or publish the gem to a gem hosting service, e.g. [RubyGems](https://rubygems.org/).
34
34
 
35
35
  Finally add this to the Gemfile:
36
36
 
37
- gem 'cheminee', '~> 0.1.34'
37
+ gem 'cheminee', '~> 0.1.35'
38
38
 
39
39
  ### Install from Git
40
40
 
data/cheminee.gemspec CHANGED
@@ -28,7 +28,9 @@ Gem::Specification.new do |s|
28
28
  s.required_ruby_version = ">= 3.0"
29
29
  s.metadata = {}
30
30
 
31
- s.add_runtime_dependency 'typhoeus', '~> 1.0', '>= 1.0.1'
31
+ s.add_runtime_dependency 'faraday', '>= 1.0.1', '< 3.0'
32
+ s.add_runtime_dependency 'faraday-multipart'
33
+ s.add_runtime_dependency 'marcel'
32
34
 
33
35
  s.add_development_dependency 'rspec', '~> 3.6', '>= 3.6.0'
34
36
 
@@ -15,7 +15,9 @@ require 'json'
15
15
  require 'logger'
16
16
  require 'tempfile'
17
17
  require 'time'
18
- require 'typhoeus'
18
+ require 'faraday'
19
+ require 'faraday/multipart' if Gem::Version.new(Faraday::VERSION) >= Gem::Version.new('2.0')
20
+ require 'marcel'
19
21
 
20
22
 
21
23
  module Cheminee
@@ -46,39 +48,45 @@ module Cheminee
46
48
  # Call an API with given options.
47
49
  #
48
50
  # @return [Array<(Object, Integer, Hash)>] an array of 3 elements:
49
- # the data deserialized from response body (may be a Tempfile or nil), response status code and response headers.
51
+ # the data deserialized from response body (could be nil), response status code and response headers.
50
52
  def call_api(http_method, path, opts = {})
51
- request = build_request(http_method, path, opts)
52
- tempfile = download_file(request) if opts[:return_type] == 'File'
53
- response = request.run
53
+ stream = nil
54
+ begin
55
+ response = connection(opts).public_send(http_method.to_sym.downcase) do |req|
56
+ request = build_request(http_method, path, req, opts)
57
+ stream = download_file(request) if opts[:return_type] == 'File' || opts[:return_type] == 'Binary'
58
+ end
54
59
 
55
- if @config.debugging
56
- @config.logger.debug "HTTP response body ~BEGIN~\n#{response.body}\n~END~\n"
57
- end
60
+ if config.debugging
61
+ config.logger.debug "HTTP response body ~BEGIN~\n#{response.body}\n~END~\n"
62
+ end
58
63
 
59
- unless response.success?
60
- if response.timed_out?
61
- fail ApiError.new('Connection timed out')
62
- elsif response.code == 0
63
- # Errors from libcurl will be made visible here
64
- fail ApiError.new(:code => 0,
65
- :message => response.return_message)
66
- else
67
- fail ApiError.new(:code => response.code,
68
- :response_headers => response.headers,
69
- :response_body => response.body),
70
- response.status_message
64
+ unless response.success?
65
+ if response.status == 0 && response.respond_to?(:return_message)
66
+ # Errors from libcurl will be made visible here
67
+ fail ApiError.new(code: 0,
68
+ message: response.return_message)
69
+ else
70
+ fail ApiError.new(code: response.status,
71
+ response_headers: response.headers,
72
+ response_body: response.body),
73
+ response.reason_phrase
74
+ end
71
75
  end
76
+ rescue Faraday::TimeoutError
77
+ fail ApiError.new('Connection timed out')
78
+ rescue Faraday::ConnectionFailed
79
+ fail ApiError.new('Connection failed')
72
80
  end
73
81
 
74
- if opts[:return_type] == 'File'
75
- data = tempfile
82
+ if opts[:return_type] == 'File' || opts[:return_type] == 'Binary'
83
+ data = deserialize_file(response, stream)
76
84
  elsif opts[:return_type]
77
85
  data = deserialize(response, opts[:return_type])
78
86
  else
79
87
  data = nil
80
88
  end
81
- return data, response.code, response.headers
89
+ return data, response.status, response.headers
82
90
  end
83
91
 
84
92
  # Builds the HTTP request
@@ -89,46 +97,33 @@ module Cheminee
89
97
  # @option opts [Hash] :query_params Query parameters
90
98
  # @option opts [Hash] :form_params Query parameters
91
99
  # @option opts [Object] :body HTTP body (JSON/XML)
92
- # @return [Typhoeus::Request] A Typhoeus Request
93
- def build_request(http_method, path, opts = {})
100
+ # @return [Faraday::Request] A Faraday Request
101
+ def build_request(http_method, path, request, opts = {})
94
102
  url = build_request_url(path, opts)
95
103
  http_method = http_method.to_sym.downcase
96
104
 
97
105
  header_params = @default_headers.merge(opts[:header_params] || {})
98
106
  query_params = opts[:query_params] || {}
99
107
  form_params = opts[:form_params] || {}
100
- follow_location = opts[:follow_location] || true
101
-
102
-
103
- # set ssl_verifyhosts option based on @config.verify_ssl_host (true/false)
104
- _verify_ssl_host = @config.verify_ssl_host ? 2 : 0
105
-
106
- req_opts = {
107
- :method => http_method,
108
- :headers => header_params,
109
- :params => query_params,
110
- :params_encoding => @config.params_encoding,
111
- :timeout => @config.timeout,
112
- :ssl_verifypeer => @config.verify_ssl,
113
- :ssl_verifyhost => _verify_ssl_host,
114
- :sslcert => @config.cert_file,
115
- :sslkey => @config.key_file,
116
- :verbose => @config.debugging,
117
- :followlocation => follow_location
118
- }
119
108
 
120
- # set custom cert, if provided
121
- req_opts[:cainfo] = @config.ssl_ca_cert if @config.ssl_ca_cert
109
+ update_params_for_auth! header_params, query_params, opts[:auth_names]
122
110
 
123
111
  if [:post, :patch, :put, :delete].include?(http_method)
124
112
  req_body = build_request_body(header_params, form_params, opts[:body])
125
- req_opts.update :body => req_body
126
- if @config.debugging
127
- @config.logger.debug "HTTP request body param ~BEGIN~\n#{req_body}\n~END~\n"
113
+ if config.debugging
114
+ config.logger.debug "HTTP request body param ~BEGIN~\n#{req_body}\n~END~\n"
128
115
  end
129
116
  end
117
+ request.headers = header_params
118
+ request.body = req_body
130
119
 
131
- Typhoeus::Request.new(url, req_opts)
120
+ # Overload default options only if provided
121
+ request.options.params_encoder = config.params_encoder if config.params_encoder
122
+ request.options.timeout = config.timeout if config.timeout
123
+
124
+ request.url url
125
+ request.params = query_params
126
+ request
132
127
  end
133
128
 
134
129
  # Builds the HTTP request body
@@ -139,13 +134,16 @@ module Cheminee
139
134
  # @return [String] HTTP body data in the form of string
140
135
  def build_request_body(header_params, form_params, body)
141
136
  # http form
142
- if header_params['Content-Type'] == 'application/x-www-form-urlencoded' ||
143
- header_params['Content-Type'] == 'multipart/form-data'
137
+ if header_params['Content-Type'] == 'application/x-www-form-urlencoded'
138
+ data = URI.encode_www_form(form_params)
139
+ elsif header_params['Content-Type'] == 'multipart/form-data'
144
140
  data = {}
145
141
  form_params.each do |key, value|
146
142
  case value
147
- when ::File, ::Array, nil
148
- # let typhoeus handle File, Array and nil parameters
143
+ when ::File, ::Tempfile
144
+ data[key] = Faraday::FilePart.new(value.path, Marcel::MimeType.for(Pathname.new(value.path)))
145
+ when ::Array, nil
146
+ # let Faraday handle Array and nil parameters
149
147
  data[key] = value
150
148
  else
151
149
  data[key] = value.to_s
@@ -159,49 +157,95 @@ module Cheminee
159
157
  data
160
158
  end
161
159
 
162
- # Save response body into a file in (the defined) temporary folder, using the filename
163
- # from the "Content-Disposition" header if provided, otherwise a random filename.
164
- # The response body is written to the file in chunks in order to handle files which
165
- # size is larger than maximum Ruby String or even larger than the maximum memory a Ruby
166
- # process can use.
167
- #
168
- # @see Configuration#temp_folder_path
169
- #
170
- # @return [Tempfile] the tempfile generated
171
160
  def download_file(request)
172
- tempfile = nil
173
- encoding = nil
174
- request.on_headers do |response|
175
- content_disposition = response.headers['Content-Disposition']
176
- if content_disposition && content_disposition =~ /filename=/i
177
- filename = content_disposition[/filename=['"]?([^'"\s]+)['"]?/, 1]
178
- prefix = sanitize_filename(filename)
179
- else
180
- prefix = 'download-'
181
- end
182
- prefix = prefix + '-' unless prefix.end_with?('-')
183
- encoding = response.body.encoding
184
- tempfile = Tempfile.open(prefix, @config.temp_folder_path, encoding: encoding)
185
- end
186
- request.on_body do |chunk|
187
- chunk.force_encoding(encoding)
188
- tempfile.write(chunk)
161
+ stream = []
162
+
163
+ # handle streaming Responses
164
+ request.options.on_data = Proc.new do |chunk, overall_received_bytes|
165
+ stream << chunk
189
166
  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`"
167
+
168
+ stream
169
+ end
170
+
171
+ def deserialize_file(response, stream)
172
+ body = response.body
173
+ encoding = body.encoding
174
+
175
+ # reconstruct content
176
+ content = stream.join
177
+ content = content.unpack('m').join if response.headers['Content-Transfer-Encoding'] == 'binary'
178
+ content = content.force_encoding(encoding)
179
+
180
+ # return byte stream
181
+ return content if @config.return_binary_data == true
182
+
183
+ # return file instead of binary data
184
+ content_disposition = response.headers['Content-Disposition']
185
+ if content_disposition && content_disposition =~ /filename=/i
186
+ filename = content_disposition[/filename=['"]?([^'"\s]+)['"]?/, 1]
187
+ prefix = sanitize_filename(filename)
198
188
  else
199
- fail ApiError.new("Failed to create the tempfile based on the HTTP response from the server: #{request.inspect}")
189
+ prefix = 'download-'
200
190
  end
191
+ prefix = prefix + '-' unless prefix.end_with?('-')
192
+
193
+ tempfile = Tempfile.open(prefix, @config.temp_folder_path, encoding: encoding)
194
+ tempfile.write(content)
195
+ tempfile.close
201
196
 
197
+ config.logger.info "Temp file written to #{tempfile.path}, please copy the file to a proper folder "\
198
+ "with e.g. `FileUtils.cp(tempfile.path, '/new/file/path')` otherwise the temp file "\
199
+ "will be deleted automatically with GC. It's also recommended to delete the temp file "\
200
+ "explicitly with `tempfile.delete`"
202
201
  tempfile
203
202
  end
204
203
 
204
+ def connection(opts)
205
+ opts[:header_params]['Content-Type'] == 'multipart/form-data' ? connection_multipart : connection_regular
206
+ end
207
+
208
+ def connection_multipart
209
+ @connection_multipart ||= build_connection do |conn|
210
+ conn.request :multipart
211
+ conn.request :url_encoded
212
+ end
213
+ end
214
+
215
+ def connection_regular
216
+ @connection_regular ||= build_connection
217
+ end
218
+
219
+ def build_connection
220
+ Faraday.new(url: config.base_url, ssl: ssl_options, proxy: config.proxy) do |conn|
221
+ basic_auth(conn)
222
+ config.configure_middleware(conn)
223
+ yield(conn) if block_given?
224
+ conn.adapter(Faraday.default_adapter)
225
+ config.configure_connection(conn)
226
+ end
227
+ end
228
+
229
+ def ssl_options
230
+ {
231
+ ca_file: config.ssl_ca_file,
232
+ verify: config.ssl_verify,
233
+ verify_mode: config.ssl_verify_mode,
234
+ client_cert: config.ssl_client_cert,
235
+ client_key: config.ssl_client_key
236
+ }
237
+ end
238
+
239
+ def basic_auth(conn)
240
+ if config.username && config.password
241
+ if Gem::Version.new(Faraday::VERSION) >= Gem::Version.new('2.0')
242
+ conn.request(:authorization, :basic, config.username, config.password)
243
+ else
244
+ conn.request(:basic_auth, config.username, config.password)
245
+ end
246
+ end
247
+ end
248
+
205
249
  # Check if the given MIME is a JSON MIME.
206
250
  # JSON MIME examples:
207
251
  # application/json
@@ -116,40 +116,39 @@ module Cheminee
116
116
  # @note Do NOT set it to false in production code, otherwise you would face multiple types of cryptographic attacks.
117
117
  #
118
118
  # @return [true, false]
119
- attr_accessor :verify_ssl
119
+ attr_accessor :ssl_verify
120
120
 
121
121
  ### TLS/SSL setting
122
- # Set this to false to skip verifying SSL host name
123
- # Default to true.
122
+ # Any `OpenSSL::SSL::` constant (see https://ruby-doc.org/stdlib-2.5.1/libdoc/openssl/rdoc/OpenSSL/SSL.html)
124
123
  #
125
124
  # @note Do NOT set it to false in production code, otherwise you would face multiple types of cryptographic attacks.
126
125
  #
127
- # @return [true, false]
128
- attr_accessor :verify_ssl_host
126
+ attr_accessor :ssl_verify_mode
129
127
 
130
128
  ### TLS/SSL setting
131
129
  # Set this to customize the certificate file to verify the peer.
132
130
  #
133
131
  # @return [String] the path to the certificate file
134
- #
135
- # @see The `cainfo` option of Typhoeus, `--cert` option of libcurl. Related source code:
136
- # https://github.com/typhoeus/typhoeus/blob/master/lib/typhoeus/easy_factory.rb#L145
137
- attr_accessor :ssl_ca_cert
132
+ attr_accessor :ssl_ca_file
138
133
 
139
134
  ### TLS/SSL setting
140
135
  # Client certificate file (for client certificate)
141
- attr_accessor :cert_file
136
+ attr_accessor :ssl_client_cert
142
137
 
143
138
  ### TLS/SSL setting
144
139
  # Client private key file (for client certificate)
145
- attr_accessor :key_file
140
+ attr_accessor :ssl_client_key
141
+
142
+ ### Proxy setting
143
+ # HTTP Proxy settings
144
+ attr_accessor :proxy
146
145
 
147
- # Set this to customize parameters encoding of array parameter with multi collectionFormat.
148
- # Default to nil.
146
+ # Set this to customize parameters encoder of array parameter.
147
+ # Default to nil. Faraday uses NestedParamsEncoder when nil.
149
148
  #
150
- # @see The params_encoding option of Ethon. Related source code:
151
- # https://github.com/typhoeus/ethon/blob/master/lib/ethon/easy/queryable.rb#L96
152
- attr_accessor :params_encoding
149
+ # @see The params_encoder option of Faraday. Related source code:
150
+ # https://github.com/lostisland/faraday/tree/main/lib/faraday/encoders
151
+ attr_accessor :params_encoder
153
152
 
154
153
 
155
154
  attr_accessor :inject_format
@@ -167,12 +166,17 @@ module Cheminee
167
166
  @api_key = {}
168
167
  @api_key_prefix = {}
169
168
  @client_side_validation = true
170
- @verify_ssl = true
171
- @verify_ssl_host = true
172
- @cert_file = nil
173
- @key_file = nil
174
- @timeout = 0
175
- @params_encoding = nil
169
+ @ssl_verify = true
170
+ @ssl_verify_mode = nil
171
+ @ssl_ca_file = nil
172
+ @ssl_client_cert = nil
173
+ @ssl_client_key = nil
174
+ @middlewares = Hash.new { |h, k| h[k] = [] }
175
+ @configure_connection_blocks = []
176
+ @timeout = 60
177
+ # return data as binary instead of file
178
+ @return_binary_data = false
179
+ @params_encoder = nil
176
180
  @debugging = false
177
181
  @ignore_operation_servers = false
178
182
  @inject_format = false
@@ -296,6 +300,86 @@ module Cheminee
296
300
  url
297
301
  end
298
302
 
303
+ # Configure Faraday connection directly.
304
+ #
305
+ # ```
306
+ # c.configure_faraday_connection do |conn|
307
+ # conn.use Faraday::HttpCache, shared_cache: false, logger: logger
308
+ # conn.response :logger, nil, headers: true, bodies: true, log_level: :debug do |logger|
309
+ # logger.filter(/(Authorization: )(.*)/, '\1[REDACTED]')
310
+ # end
311
+ # end
312
+ #
313
+ # c.configure_faraday_connection do |conn|
314
+ # conn.adapter :typhoeus
315
+ # end
316
+ # ```
317
+ #
318
+ # @param block [Proc] `#call`able object that takes one arg, the connection
319
+ def configure_faraday_connection(&block)
320
+ @configure_connection_blocks << block
321
+ end
322
+
323
+ def configure_connection(conn)
324
+ @configure_connection_blocks.each do |block|
325
+ block.call(conn)
326
+ end
327
+ end
328
+
329
+ # Adds middleware to the stack
330
+ def use(*middleware)
331
+ set_faraday_middleware(:use, *middleware)
332
+ end
333
+
334
+ # Adds request middleware to the stack
335
+ def request(*middleware)
336
+ set_faraday_middleware(:request, *middleware)
337
+ end
338
+
339
+ # Adds response middleware to the stack
340
+ def response(*middleware)
341
+ set_faraday_middleware(:response, *middleware)
342
+ end
343
+
344
+ # Adds Faraday middleware setting information to the stack
345
+ #
346
+ # @example Use the `set_faraday_middleware` method to set middleware information
347
+ # config.set_faraday_middleware(:request, :retry, max: 3, methods: [:get, :post], retry_statuses: [503])
348
+ # config.set_faraday_middleware(:response, :logger, nil, { bodies: true, log_level: :debug })
349
+ # config.set_faraday_middleware(:use, Faraday::HttpCache, store: Rails.cache, shared_cache: false)
350
+ # config.set_faraday_middleware(:insert, 0, FaradayMiddleware::FollowRedirects, { standards_compliant: true, limit: 1 })
351
+ # config.set_faraday_middleware(:swap, 0, Faraday::Response::Logger)
352
+ # config.set_faraday_middleware(:delete, Faraday::Multipart::Middleware)
353
+ #
354
+ # @see https://github.com/lostisland/faraday/blob/v2.3.0/lib/faraday/rack_builder.rb#L92-L143
355
+ def set_faraday_middleware(operation, key, *args, &block)
356
+ unless [:request, :response, :use, :insert, :insert_before, :insert_after, :swap, :delete].include?(operation)
357
+ fail ArgumentError, "Invalid faraday middleware operation #{operation}. Must be" \
358
+ " :request, :response, :use, :insert, :insert_before, :insert_after, :swap or :delete."
359
+ end
360
+
361
+ @middlewares[operation] << [key, args, block]
362
+ end
363
+ ruby2_keywords(:set_faraday_middleware) if respond_to?(:ruby2_keywords, true)
364
+
365
+ # Set up middleware on the connection
366
+ def configure_middleware(connection)
367
+ return if @middlewares.empty?
368
+
369
+ [:request, :response, :use, :insert, :insert_before, :insert_after, :swap].each do |operation|
370
+ next unless @middlewares.key?(operation)
371
+
372
+ @middlewares[operation].each do |key, args, block|
373
+ connection.builder.send(operation, key, *args, &block)
374
+ end
375
+ end
376
+
377
+ if @middlewares.key?(:delete)
378
+ @middlewares[:delete].each do |key, _args, _block|
379
+ connection.builder.delete(key)
380
+ end
381
+ end
382
+ end
299
383
 
300
384
  end
301
385
  end
@@ -11,5 +11,5 @@ Generator version: 7.9.0-SNAPSHOT
11
11
  =end
12
12
 
13
13
  module Cheminee
14
- VERSION = '0.1.34'
14
+ VERSION = '0.1.35'
15
15
  end
Binary file
metadata CHANGED
@@ -1,35 +1,63 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cheminee
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.34
4
+ version: 0.1.35
5
5
  platform: ruby
6
6
  authors:
7
7
  - Xavier Lange
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-09-23 00:00:00.000000000 Z
11
+ date: 2024-09-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: typhoeus
14
+ name: faraday
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 1.0.1
20
+ - - "<"
18
21
  - !ruby/object:Gem::Version
19
- version: '1.0'
22
+ version: '3.0'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
20
27
  - - ">="
21
28
  - !ruby/object:Gem::Version
22
29
  version: 1.0.1
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '3.0'
33
+ - !ruby/object:Gem::Dependency
34
+ name: faraday-multipart
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
23
40
  type: :runtime
24
41
  prerelease: false
25
42
  version_requirements: !ruby/object:Gem::Requirement
26
43
  requirements:
27
- - - "~>"
44
+ - - ">="
28
45
  - !ruby/object:Gem::Version
29
- version: '1.0'
46
+ version: '0'
47
+ - !ruby/object:Gem::Dependency
48
+ name: marcel
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
30
51
  - - ">="
31
52
  - !ruby/object:Gem::Version
32
- version: 1.0.1
53
+ version: '0'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
33
61
  - !ruby/object:Gem::Dependency
34
62
  name: rspec
35
63
  requirement: !ruby/object:Gem::Requirement
@@ -126,7 +154,7 @@ files:
126
154
  - lib/cheminee/version.rb
127
155
  - openapi-generator-config.json
128
156
  - openapi.json
129
- - pkg/cheminee-0.1.34.gem
157
+ - pkg/cheminee-0.1.35.gem
130
158
  - spec/api/default_api_spec.rb
131
159
  - spec/api_client_spec.rb
132
160
  - spec/configuration_spec.rb
Binary file