uploadcare-ruby 4.2.0 → 4.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ed47599fddd9c9b01dc434fffcffc0a323231396105fb028c6c6234ff0faaa6a
4
- data.tar.gz: a9c20611bc482f6ee7454616dfdc54995d00a31f5159e943b60af71de4982792
3
+ metadata.gz: b5a41f0e682da0993059311f280acd2b5e1121de5cdc7815646ee209b6dedbd8
4
+ data.tar.gz: 37ec4e95272358faf14c597569cf10045fc3982935685c265a90a0f8cf70c2f1
5
5
  SHA512:
6
- metadata.gz: dba20c7fc6fea99e6b487e77dcec4477ec613f925d1dc2e4a1fd33caa6e8ba8844db2e7c579ac7e40427d24c4c88a4742967086face3c1a9d638815ed3d5c3e4
7
- data.tar.gz: a4303e9e5b7584b3e5db4f346aff6e1a4bb44be843a762a95edaceec1b04a0400f2ceeb9945b0cfecd03a9ebceb855cc2b126b89f789987d40088f3ecf00eae3
6
+ metadata.gz: d03e62ad958c06e2695f77a9cb2d2d521efd56b056b09ed6aa3c8fc99015e486dacdf96923fccc191995b75d1caeaa549b751f60de0068a197854ecc4353af45
7
+ data.tar.gz: 7f14a80dc1c2408ec652feb37183f90c36c12799facec201b7f6076195669367bc4fa5487c051f19ecd4a6a50751fd39426a7e2906e75415eeeec421f17a548c
@@ -9,11 +9,11 @@ jobs:
9
9
  runs-on: ubuntu-latest
10
10
 
11
11
  steps:
12
- - uses: actions/checkout@v1
12
+ - uses: actions/checkout@v3
13
13
 
14
14
  - name: Release Gem
15
15
  if: contains(github.ref, 'refs/tags/v')
16
- uses: cadwallion/publish-rubygems-action@v1.0.0
16
+ uses: cadwallion/publish-rubygems-action@master
17
17
  env:
18
18
  GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
19
19
  RUBYGEMS_API_KEY: ${{secrets.RUBYGEMS_API_KEY}}
@@ -12,20 +12,21 @@ on: [push, pull_request]
12
12
  jobs:
13
13
  test:
14
14
 
15
- runs-on: ubuntu-20.04
15
+ runs-on: ubuntu-latest
16
16
  strategy:
17
17
  matrix:
18
- ruby-version: [
19
- '2.4', '2.5', # eol
20
- '2.6', '2.7', # maintained
21
- ]
18
+ ruby-version:
19
+ - 2.7
20
+ - 3.0
21
+ - 3.1
22
+ - 3.2
22
23
 
23
24
  steps:
24
- - uses: actions/checkout@v2
25
+ - uses: actions/checkout@v3
25
26
  - name: Set up Ruby
26
27
  uses: ruby/setup-ruby@v1
27
28
  with:
28
- bundler: 1.17.3
29
+ bundler: 2.4
29
30
  ruby-version: ${{ matrix.ruby-version }}
30
31
  bundler-cache: true
31
32
  - name: Run tests
@@ -39,9 +40,11 @@ jobs:
39
40
  continue-on-error: true
40
41
  strategy:
41
42
  matrix:
42
- ruby-version: ['2.7',]
43
+ ruby-version:
44
+ - 2.7
45
+ - 3.2
43
46
  steps:
44
- - uses: actions/checkout@v2
47
+ - uses: actions/checkout@v3
45
48
  - name: Set up Ruby
46
49
  uses: ruby/setup-ruby@v1
47
50
  with:
data/.gitignore CHANGED
@@ -14,3 +14,7 @@
14
14
 
15
15
  .idea
16
16
  Gemfile.lock
17
+
18
+ .ruby-version
19
+ project_files
20
+ *.gem
data/.rubocop.yml CHANGED
@@ -1,4 +1,5 @@
1
1
  AllCops:
2
+ NewCops: enable
2
3
  TargetRubyVersion: 2.7
3
4
 
4
5
  Metrics/LineLength:
data/CHANGELOG.md CHANGED
@@ -1,6 +1,33 @@
1
1
  # Changelog
2
2
 
3
- ## 4.0.0
3
+ ## 4.3.1 — 2023-03-17
4
+
5
+ ### Changed
6
+
7
+ - Update the gem description
8
+ - Allow ENV keys to be configured after the gem load
9
+
10
+ ## 4.3.0 — 2023-03-15
11
+
12
+ Add support of new ruby versions
13
+
14
+ ### Breaking Сhanges
15
+
16
+ - Drop support of unmaintainable Ruby versions (2.4, 2.5, 2.6).
17
+ - Replace unmaintainable `api_struct` with `uploadcare-api_struct`
18
+
19
+ ### Added
20
+
21
+ - Add support for Ruby 3+ (3.0, 3.1, 3.2).
22
+
23
+ ## 4.0.0 — 2022-12-29
24
+
25
+ This version supports latest Uploadcare REST API — [v0.7](https://uploadcare.com/api-refs/rest-api/v0.7.0/), which introduces new file management features:
26
+ * [File metadata](https://uploadcare.com/docs/file-metadata/)
27
+ * New [add-ons API](https://uploadcare.com/api-refs/rest-api/v0.7.0/#tag/Add-Ons):
28
+ * [Background removal](https://uploadcare.com/docs/remove-bg/)
29
+ * [Virus checking](https://uploadcare.com/docs/security/malware-protection/)
30
+ * [Object recognition](https://uploadcare.com/docs/intelligence/object-recognition/)
4
31
 
5
32
  ### Breaking Сhanges
6
33
 
data/README.md CHANGED
@@ -35,7 +35,7 @@ wrapping Upload and REST APIs.
35
35
  * [Useful links](#useful-links)
36
36
 
37
37
  ## Requirements
38
- * ruby 2.4+
38
+ * ruby 2.7+
39
39
 
40
40
  ## Compatibility
41
41
 
@@ -54,14 +54,9 @@ And then execute:
54
54
 
55
55
  $ bundle
56
56
 
57
- If you have Ruby version >= 3, then you probably will get error:
58
- ```
59
- ArgumentError: wrong number of arguments (given 2, expected 1)
60
- ```
61
-
62
- To fix this errors, add this line to your application's Gemfile:
57
+ If you use `api_struct` gem in your project, replace it with `uploadcare-api_struct`:
63
58
  ```ruby
64
- gem 'dry-configurable', '0.13.0'
59
+ gem 'uploadcare-api_struct'
65
60
  ```
66
61
  and run `bundle install`
67
62
 
@@ -15,7 +15,7 @@ module Uploadcare
15
15
  def headers
16
16
  {
17
17
  'Content-Type': 'application/json',
18
- 'Accept': API_VERSION_HEADER_VALUE,
18
+ Accept: API_VERSION_HEADER_VALUE,
19
19
  'User-Agent': Uploadcare::Param::UserAgent.call
20
20
  }
21
21
  end
@@ -21,7 +21,7 @@ module Uploadcare
21
21
  # Get group info
22
22
  # @see https://uploadcare.com/api-refs/upload-api/#operation/filesGroupInfo
23
23
  def info(group_id)
24
- get(path: 'group/info/', params: { 'pub_key': Uploadcare.config.public_key, 'group_id': group_id })
24
+ get(path: 'group/info/', params: { pub_key: Uploadcare.config.public_key, group_id: group_id })
25
25
  end
26
26
 
27
27
  private
@@ -20,7 +20,7 @@ module Uploadcare
20
20
  def self.upload_chunks(object, links)
21
21
  Parallel.each(0...links.count, in_threads: Uploadcare.config.upload_threads) do |link_id|
22
22
  offset = link_id * CHUNK_SIZE
23
- chunk = IO.read(object, CHUNK_SIZE, offset)
23
+ chunk = File.read(object, CHUNK_SIZE, offset)
24
24
  new.upload_chunk(chunk, links[link_id])
25
25
  next unless block_given?
26
26
 
@@ -57,8 +57,8 @@ module Uploadcare
57
57
  end
58
58
 
59
59
  alias api_struct_post post
60
- def post(args = {})
61
- handle_throttling { api_struct_post(args) }
60
+ def post(**args)
61
+ handle_throttling { api_struct_post(**args) }
62
62
  end
63
63
  end
64
64
  end
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'rest_client'
4
3
  require 'dry/monads'
5
4
  require 'api_struct'
6
5
  require 'uploadcare/concern/error_handler'
@@ -56,7 +55,7 @@ module Uploadcare
56
55
  def headers
57
56
  {
58
57
  'Content-Type': 'application/json',
59
- 'Accept': 'application/vnd.uploadcare-v0.7+json',
58
+ Accept: 'application/vnd.uploadcare-v0.7+json',
60
59
  'User-Agent': Uploadcare::Param::UserAgent.call
61
60
  }
62
61
  end
@@ -73,10 +73,10 @@ module Uploadcare
73
73
 
74
74
  # Prepares body for upload_many method
75
75
  def upload_many_body(arr, options = {})
76
- files_formdata = arr.map do |file|
76
+ files_formdata = arr.to_h do |file|
77
77
  [HTTP::FormData::File.new(file).filename,
78
78
  form_data_for(file)]
79
- end.to_h
79
+ end
80
80
  HTTP::FormData::Multipart.new(
81
81
  Param::Upload::UploadParamsGenerator.call(options).merge(files_formdata)
82
82
  )
@@ -11,11 +11,11 @@ module Uploadcare
11
11
  # @see https://uploadcare.com/docs/api_reference/rest/webhooks/#subscribe
12
12
  def create(options = {})
13
13
  body = {
14
- 'target_url': options[:target_url],
15
- 'event': options[:event] || 'file.uploaded',
16
- 'is_active': options[:is_active].nil? ? true : options[:is_active]
14
+ target_url: options[:target_url],
15
+ event: options[:event] || 'file.uploaded',
16
+ is_active: options[:is_active].nil? ? true : options[:is_active]
17
17
  }.merge(
18
- { 'signing_secret': options[:signing_secret] }.compact
18
+ { signing_secret: options[:signing_secret] }.compact
19
19
  ).to_json
20
20
  post(uri: '/webhooks/', content: body)
21
21
  end
@@ -29,7 +29,7 @@ module Uploadcare
29
29
  # Permanently deletes subscription
30
30
  # @see https://uploadcare.com/docs/api_reference/rest/webhooks/#unsubscribe
31
31
  def delete(target_url)
32
- body = { 'target_url': target_url }.to_json
32
+ body = { target_url: target_url }.to_json
33
33
  request(method: 'DELETE', uri: '/webhooks/unsubscribe/', content: body)
34
34
  end
35
35
 
@@ -36,7 +36,7 @@ module Uploadcare
36
36
 
37
37
  # Raise ThrottleError. Also, tells in error when server will be ready for next request
38
38
  def raise_throttling_error(response)
39
- retry_after = response.headers['Retry-After'].to_i + 1 || 11
39
+ retry_after = (response.headers['Retry-After'].to_i + 1) || 11
40
40
  raise ThrottleError.new(retry_after), "Response throttled, retry #{retry_after} seconds later"
41
41
  end
42
42
 
@@ -24,7 +24,7 @@ module Uploadcare
24
24
  def catch_throttling_error(response)
25
25
  return unless response.code == 429
26
26
 
27
- retry_after = response.headers['Retry-After'].to_i + 1 || 11
27
+ retry_after = (response.headers['Retry-After'].to_i + 1) || 11
28
28
  raise ThrottleError.new(retry_after), "Response throttled, retry #{retry_after} seconds later"
29
29
  end
30
30
  end
@@ -26,7 +26,7 @@ module Uploadcare
26
26
  return unless url
27
27
 
28
28
  query = URI.decode_www_form(URI(url).query).to_h
29
- query = query.map { |k, v| [k.to_sym, v] }.to_h
29
+ query = query.to_h { |k, v| [k.to_sym, v] }
30
30
  self.class.list(**query)
31
31
  end
32
32
 
@@ -36,7 +36,7 @@ module Uploadcare
36
36
  return unless url
37
37
 
38
38
  query = URI.decode_www_form(URI(url).query).to_h
39
- query = query.map { |k, v| [k.to_sym, v] }.to_h
39
+ query = query.to_h { |k, v| [k.to_sym, v] }
40
40
  self.class.list(**query)
41
41
  end
42
42
 
@@ -89,7 +89,7 @@ module Uploadcare
89
89
  def convert_file(params, converter, options = {})
90
90
  raise Uploadcare::Exception::ConversionError, 'The first argument must be a Hash' unless params.is_a?(Hash)
91
91
 
92
- params_with_symbolized_keys = params.map { |k, v| [k.to_sym, v] }.to_h
92
+ params_with_symbolized_keys = params.to_h { |k, v| [k.to_sym, v] }
93
93
  params_with_symbolized_keys[:uuid] = uuid
94
94
  result = converter.convert(params_with_symbolized_keys, options)
95
95
  result.success? ? File.info(result.value![:result].first[:uuid]) : result
@@ -15,8 +15,8 @@ module Uploadcare
15
15
  @uri = options[:uri]
16
16
  @date_for_header = timestamp
17
17
  {
18
- 'Date': @date_for_header,
19
- 'Authorization': "Uploadcare #{Uploadcare.config.public_key}:#{signature}"
18
+ Date: @date_for_header,
19
+ Authorization: "Uploadcare #{Uploadcare.config.public_key}:#{signature}"
20
20
  }
21
21
  end
22
22
 
@@ -7,7 +7,7 @@ module Uploadcare
7
7
  class SimpleAuthHeader
8
8
  # @see https://uploadcare.com/docs/api_reference/rest/requests_auth/#auth-simple
9
9
  def self.call
10
- { 'Authorization': "Uploadcare.Simple #{Uploadcare.config.public_key}:#{Uploadcare.config.secret_key}" }
10
+ { Authorization: "Uploadcare.Simple #{Uploadcare.config.public_key}:#{Uploadcare.config.secret_key}" }
11
11
  end
12
12
  end
13
13
  end
@@ -14,8 +14,8 @@ module Uploadcare
14
14
  to_sign = Uploadcare.config.secret_key + expires_at.to_s
15
15
  signature = Digest::MD5.hexdigest(to_sign)
16
16
  {
17
- 'signature': signature,
18
- 'expire': expires_at
17
+ signature: signature,
18
+ expire: expires_at
19
19
  }
20
20
  end
21
21
  end
@@ -9,7 +9,7 @@ module Uploadcare
9
9
  # @see https://uploadcare.com/docs/security/secure-webhooks/
10
10
  def self.valid?(options = {})
11
11
  webhook_body_json = options[:webhook_body]
12
- signing_secret = options[:signing_secret] || ENV['UC_SIGNING_SECRET']
12
+ signing_secret = options[:signing_secret] || ENV.fetch('UC_SIGNING_SECRET', nil)
13
13
  x_uc_signature_header = options[:x_uc_signature_header]
14
14
 
15
15
  digest = OpenSSL::Digest.new('sha256')
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Uploadcare
4
- VERSION = '4.2.0'
4
+ VERSION = '4.3.1'
5
5
  end
data/lib/uploadcare.rb CHANGED
@@ -45,8 +45,8 @@ module Uploadcare
45
45
  end
46
46
  end
47
47
 
48
- setting :public_key, default: ENV.fetch('UPLOADCARE_PUBLIC_KEY')
49
- setting :secret_key, default: ENV.fetch('UPLOADCARE_SECRET_KEY')
48
+ setting :public_key, default: ENV.fetch('UPLOADCARE_PUBLIC_KEY', '')
49
+ setting :secret_key, default: ENV.fetch('UPLOADCARE_SECRET_KEY', '')
50
50
  setting :auth_type, default: 'Uploadcare'
51
51
  setting :multipart_size_threshold, default: 100 * 1024 * 1024
52
52
  setting :rest_api_root, default: 'https://api.uploadcare.com'
@@ -7,10 +7,12 @@ require 'uploadcare/ruby/version'
7
7
  Gem::Specification.new do |spec|
8
8
  spec.name = 'uploadcare-ruby'
9
9
  spec.version = Uploadcare::VERSION
10
- spec.authors = ['@dmitrijivanchenko (Dmitrij Ivanchenko), @T0mbery (Andrey Aksenov)']
10
+ spec.authors = ['@dmitrijivanchenko (Dmitrij Ivanchenko), @T0mbery (Andrey Aksenov)',
11
+ 'kraft001 (Konstantin Rafalskii)']
11
12
 
12
13
  spec.summary = 'Ruby wrapper for uploadcare API'
13
- spec.description = spec.summary
14
+ spec.description = 'Ruby API client that handles uploads and further operations with files ' \
15
+ 'by wrapping Uploadcare Upload and REST APIs.'
14
16
  spec.homepage = 'https://github.com/uploadcare/uploadcare-ruby'
15
17
  spec.license = 'MIT'
16
18
 
@@ -22,9 +24,10 @@ Gem::Specification.new do |spec|
22
24
  spec.metadata['homepage_uri'] = spec.homepage
23
25
  spec.metadata['source_code_uri'] = 'https://github.com/uploadcare/uploadcare-ruby'
24
26
  spec.metadata['changelog_uri'] = 'https://github.com/uploadcare/uploadcare-ruby/CHANGELOG.md'
27
+ spec.metadata['rubygems_mfa_required'] = 'true'
25
28
  else
26
29
  raise 'RubyGems 2.0 or newer is required to protect against ' \
27
- 'public gem pushes.'
30
+ 'public gem pushes.'
28
31
  end
29
32
 
30
33
  # Specify which files should be added to the gem when it is released.
@@ -36,23 +39,15 @@ Gem::Specification.new do |spec|
36
39
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
37
40
  spec.require_paths = ['lib', 'lib/uploadcare', 'lib/uploadcare/rest']
38
41
 
39
- spec.add_dependency 'api_struct', '~> 1.0.1'
40
- spec.add_dependency 'mimemagic'
41
- spec.add_dependency 'parallel'
42
- spec.add_dependency 'retries'
42
+ spec.add_dependency 'mimemagic', '~> 0.4'
43
+ spec.add_dependency 'parallel', '~> 1.22'
44
+ spec.add_dependency 'retries', '~> 0.0'
45
+ spec.add_dependency 'uploadcare-api_struct', '>= 1.1', '< 2'
43
46
 
44
- # rubocop:disable Gemspec/RubyVersionGlobalsUsage
45
- if RUBY_VERSION.start_with?('3')
46
- spec.add_development_dependency 'dry-configurable', '0.13.0'
47
- else
48
- spec.add_development_dependency 'dry-configurable'
49
- end
50
- # rubocop:enable Gemspec/RubyVersionGlobalsUsage
51
-
52
- spec.add_development_dependency 'byebug'
47
+ spec.add_development_dependency 'byebug', '~> 11.1'
53
48
  spec.add_development_dependency 'rake', '~> 13.0'
54
49
  spec.add_development_dependency 'rspec', '~> 3.0'
55
- spec.add_development_dependency 'rubocop'
56
- spec.add_development_dependency 'vcr'
57
- spec.add_development_dependency 'webmock'
50
+ spec.add_development_dependency 'rubocop', '~> 1.48'
51
+ spec.add_development_dependency 'vcr', '~> 6.1'
52
+ spec.add_development_dependency 'webmock', '~> 3.18'
58
53
  end
metadata CHANGED
@@ -1,99 +1,92 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: uploadcare-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.2.0
4
+ version: 4.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - "@dmitrijivanchenko (Dmitrij Ivanchenko), @T0mbery (Andrey Aksenov)"
8
+ - kraft001 (Konstantin Rafalskii)
8
9
  autorequire:
9
10
  bindir: exe
10
11
  cert_chain: []
11
- date: 2022-12-25 00:00:00.000000000 Z
12
+ date: 2023-03-17 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
- name: api_struct
15
+ name: mimemagic
15
16
  requirement: !ruby/object:Gem::Requirement
16
17
  requirements:
17
18
  - - "~>"
18
19
  - !ruby/object:Gem::Version
19
- version: 1.0.1
20
+ version: '0.4'
20
21
  type: :runtime
21
22
  prerelease: false
22
23
  version_requirements: !ruby/object:Gem::Requirement
23
24
  requirements:
24
25
  - - "~>"
25
26
  - !ruby/object:Gem::Version
26
- version: 1.0.1
27
- - !ruby/object:Gem::Dependency
28
- name: mimemagic
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
27
+ version: '0.4'
41
28
  - !ruby/object:Gem::Dependency
42
29
  name: parallel
43
30
  requirement: !ruby/object:Gem::Requirement
44
31
  requirements:
45
- - - ">="
32
+ - - "~>"
46
33
  - !ruby/object:Gem::Version
47
- version: '0'
34
+ version: '1.22'
48
35
  type: :runtime
49
36
  prerelease: false
50
37
  version_requirements: !ruby/object:Gem::Requirement
51
38
  requirements:
52
- - - ">="
39
+ - - "~>"
53
40
  - !ruby/object:Gem::Version
54
- version: '0'
41
+ version: '1.22'
55
42
  - !ruby/object:Gem::Dependency
56
43
  name: retries
57
44
  requirement: !ruby/object:Gem::Requirement
58
45
  requirements:
59
- - - ">="
46
+ - - "~>"
60
47
  - !ruby/object:Gem::Version
61
- version: '0'
48
+ version: '0.0'
62
49
  type: :runtime
63
50
  prerelease: false
64
51
  version_requirements: !ruby/object:Gem::Requirement
65
52
  requirements:
66
- - - ">="
53
+ - - "~>"
67
54
  - !ruby/object:Gem::Version
68
- version: '0'
55
+ version: '0.0'
69
56
  - !ruby/object:Gem::Dependency
70
- name: dry-configurable
57
+ name: uploadcare-api_struct
71
58
  requirement: !ruby/object:Gem::Requirement
72
59
  requirements:
73
60
  - - ">="
74
61
  - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
62
+ version: '1.1'
63
+ - - "<"
64
+ - !ruby/object:Gem::Version
65
+ version: '2'
66
+ type: :runtime
77
67
  prerelease: false
78
68
  version_requirements: !ruby/object:Gem::Requirement
79
69
  requirements:
80
70
  - - ">="
81
71
  - !ruby/object:Gem::Version
82
- version: '0'
72
+ version: '1.1'
73
+ - - "<"
74
+ - !ruby/object:Gem::Version
75
+ version: '2'
83
76
  - !ruby/object:Gem::Dependency
84
77
  name: byebug
85
78
  requirement: !ruby/object:Gem::Requirement
86
79
  requirements:
87
- - - ">="
80
+ - - "~>"
88
81
  - !ruby/object:Gem::Version
89
- version: '0'
82
+ version: '11.1'
90
83
  type: :development
91
84
  prerelease: false
92
85
  version_requirements: !ruby/object:Gem::Requirement
93
86
  requirements:
94
- - - ">="
87
+ - - "~>"
95
88
  - !ruby/object:Gem::Version
96
- version: '0'
89
+ version: '11.1'
97
90
  - !ruby/object:Gem::Dependency
98
91
  name: rake
99
92
  requirement: !ruby/object:Gem::Requirement
@@ -126,45 +119,46 @@ dependencies:
126
119
  name: rubocop
127
120
  requirement: !ruby/object:Gem::Requirement
128
121
  requirements:
129
- - - ">="
122
+ - - "~>"
130
123
  - !ruby/object:Gem::Version
131
- version: '0'
124
+ version: '1.48'
132
125
  type: :development
133
126
  prerelease: false
134
127
  version_requirements: !ruby/object:Gem::Requirement
135
128
  requirements:
136
- - - ">="
129
+ - - "~>"
137
130
  - !ruby/object:Gem::Version
138
- version: '0'
131
+ version: '1.48'
139
132
  - !ruby/object:Gem::Dependency
140
133
  name: vcr
141
134
  requirement: !ruby/object:Gem::Requirement
142
135
  requirements:
143
- - - ">="
136
+ - - "~>"
144
137
  - !ruby/object:Gem::Version
145
- version: '0'
138
+ version: '6.1'
146
139
  type: :development
147
140
  prerelease: false
148
141
  version_requirements: !ruby/object:Gem::Requirement
149
142
  requirements:
150
- - - ">="
143
+ - - "~>"
151
144
  - !ruby/object:Gem::Version
152
- version: '0'
145
+ version: '6.1'
153
146
  - !ruby/object:Gem::Dependency
154
147
  name: webmock
155
148
  requirement: !ruby/object:Gem::Requirement
156
149
  requirements:
157
- - - ">="
150
+ - - "~>"
158
151
  - !ruby/object:Gem::Version
159
- version: '0'
152
+ version: '3.18'
160
153
  type: :development
161
154
  prerelease: false
162
155
  version_requirements: !ruby/object:Gem::Requirement
163
156
  requirements:
164
- - - ">="
157
+ - - "~>"
165
158
  - !ruby/object:Gem::Version
166
- version: '0'
167
- description: Ruby wrapper for uploadcare API
159
+ version: '3.18'
160
+ description: Ruby API client that handles uploads and further operations with files
161
+ by wrapping Uploadcare Upload and REST APIs.
168
162
  email:
169
163
  executables: []
170
164
  extensions: []
@@ -244,6 +238,7 @@ metadata:
244
238
  homepage_uri: https://github.com/uploadcare/uploadcare-ruby
245
239
  source_code_uri: https://github.com/uploadcare/uploadcare-ruby
246
240
  changelog_uri: https://github.com/uploadcare/uploadcare-ruby/CHANGELOG.md
241
+ rubygems_mfa_required: 'true'
247
242
  post_install_message:
248
243
  rdoc_options: []
249
244
  require_paths:
@@ -261,7 +256,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
261
256
  - !ruby/object:Gem::Version
262
257
  version: '0'
263
258
  requirements: []
264
- rubygems_version: 3.0.1
259
+ rubygems_version: 3.4.6
265
260
  signing_key:
266
261
  specification_version: 4
267
262
  summary: Ruby wrapper for uploadcare API