uploadcare-ruby 4.2.0 → 4.3.1

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: 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