uploadcare-ruby 4.2.0 → 4.3.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 +4 -4
- data/.github/workflows/gem-push.yml +4 -2
- data/.github/workflows/ruby.yml +12 -9
- data/.gitignore +4 -0
- data/.rubocop.yml +1 -0
- data/CHANGELOG.md +20 -1
- data/README.md +3 -8
- data/lib/uploadcare/client/conversion/base_conversion_client.rb +1 -1
- data/lib/uploadcare/client/group_client.rb +1 -1
- data/lib/uploadcare/client/multipart_upload/chunks_client.rb +1 -1
- data/lib/uploadcare/client/multipart_upload_client.rb +2 -2
- data/lib/uploadcare/client/rest_client.rb +1 -2
- data/lib/uploadcare/client/uploader_client.rb +2 -2
- data/lib/uploadcare/client/webhook_client.rb +5 -5
- data/lib/uploadcare/concern/error_handler.rb +1 -1
- data/lib/uploadcare/concern/upload_error_handler.rb +1 -1
- data/lib/uploadcare/entity/decorator/paginator.rb +2 -2
- data/lib/uploadcare/entity/file.rb +1 -1
- data/lib/uploadcare/param/secure_auth_header.rb +2 -2
- data/lib/uploadcare/param/simple_auth_header.rb +1 -1
- data/lib/uploadcare/param/upload/signature_generator.rb +2 -2
- data/lib/uploadcare/param/webhook_signature_verifier.rb +1 -1
- data/lib/uploadcare/ruby/version.rb +1 -1
- data/uploadcare-ruby.gemspec +10 -17
- metadata +41 -48
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cf8a5684245c373f5f84e4aa67daae89eab8202ffdee98e64468bffa1336832e
|
4
|
+
data.tar.gz: 10437f9330e348641c2e68507e1290b481c05cf7f8432a5fc02ea16979249914
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 79c53ddc0fad34527fce0c3d15362c6d18479bad625ccce2b127c97089bea4d650cc2fa5c698a76f534b2631aca356bfd4a829d1fc44f08ba466c76f2926eba1
|
7
|
+
data.tar.gz: 44ba70a98651ec3d764491335d754684634bb3ccff1719197ca6b0a9117bcef50b45bf9e8b2f09be2f85a151f60837216032c63f0a514caebf9afe5eb5e755a7
|
@@ -2,6 +2,8 @@ name: Publish Gem
|
|
2
2
|
|
3
3
|
on:
|
4
4
|
push:
|
5
|
+
branches:
|
6
|
+
- "*"
|
5
7
|
tags:
|
6
8
|
- v*
|
7
9
|
jobs:
|
@@ -9,11 +11,11 @@ jobs:
|
|
9
11
|
runs-on: ubuntu-latest
|
10
12
|
|
11
13
|
steps:
|
12
|
-
- uses: actions/checkout@
|
14
|
+
- uses: actions/checkout@v3
|
13
15
|
|
14
16
|
- name: Release Gem
|
15
17
|
if: contains(github.ref, 'refs/tags/v')
|
16
|
-
uses: cadwallion/publish-rubygems-action@
|
18
|
+
uses: cadwallion/publish-rubygems-action@master
|
17
19
|
env:
|
18
20
|
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
|
19
21
|
RUBYGEMS_API_KEY: ${{secrets.RUBYGEMS_API_KEY}}
|
data/.github/workflows/ruby.yml
CHANGED
@@ -12,20 +12,21 @@ on: [push, pull_request]
|
|
12
12
|
jobs:
|
13
13
|
test:
|
14
14
|
|
15
|
-
runs-on: ubuntu-
|
15
|
+
runs-on: ubuntu-latest
|
16
16
|
strategy:
|
17
17
|
matrix:
|
18
|
-
ruby-version:
|
19
|
-
|
20
|
-
|
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@
|
25
|
+
- uses: actions/checkout@v3
|
25
26
|
- name: Set up Ruby
|
26
27
|
uses: ruby/setup-ruby@v1
|
27
28
|
with:
|
28
|
-
bundler:
|
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:
|
43
|
+
ruby-version:
|
44
|
+
- 2.7
|
45
|
+
- 3.2
|
43
46
|
steps:
|
44
|
-
- uses: actions/checkout@
|
47
|
+
- uses: actions/checkout@v3
|
45
48
|
- name: Set up Ruby
|
46
49
|
uses: ruby/setup-ruby@v1
|
47
50
|
with:
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,25 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
-
## 4.
|
3
|
+
## 4.3.0 — 2023-03-15
|
4
|
+
|
5
|
+
Add support of new ruby versions
|
6
|
+
|
7
|
+
### Breaking Сhanges
|
8
|
+
|
9
|
+
Drop support of unmaintainable Ruby versions (2.4, 2.5, 2.6).
|
10
|
+
|
11
|
+
### Added
|
12
|
+
|
13
|
+
Add support for Ruby 3+ (3.0, 3.1, 3.2).
|
14
|
+
|
15
|
+
## 4.0.0 — 2022-12-29
|
16
|
+
|
17
|
+
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:
|
18
|
+
* [File metadata](https://uploadcare.com/docs/file-metadata/)
|
19
|
+
* New [add-ons API](https://uploadcare.com/api-refs/rest-api/v0.7.0/#tag/Add-Ons):
|
20
|
+
* [Background removal](https://uploadcare.com/docs/remove-bg/)
|
21
|
+
* [Virus checking](https://uploadcare.com/docs/security/malware-protection/)
|
22
|
+
* [Object recognition](https://uploadcare.com/docs/intelligence/object-recognition/)
|
4
23
|
|
5
24
|
### Breaking Сhanges
|
6
25
|
|
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.
|
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
|
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 '
|
59
|
+
gem 'uploadcare-api_struct'
|
65
60
|
```
|
66
61
|
and run `bundle install`
|
67
62
|
|
@@ -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: {
|
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 =
|
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
|
|
@@ -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
|
-
|
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.
|
76
|
+
files_formdata = arr.to_h do |file|
|
77
77
|
[HTTP::FormData::File.new(file).filename,
|
78
78
|
form_data_for(file)]
|
79
|
-
end
|
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
|
-
|
15
|
-
|
16
|
-
|
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
|
-
{
|
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 = {
|
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.
|
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.
|
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.
|
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
|
-
|
19
|
-
|
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
|
-
{
|
10
|
+
{ Authorization: "Uploadcare.Simple #{Uploadcare.config.public_key}:#{Uploadcare.config.secret_key}" }
|
11
11
|
end
|
12
12
|
end
|
13
13
|
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
|
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')
|
data/uploadcare-ruby.gemspec
CHANGED
@@ -22,9 +22,10 @@ Gem::Specification.new do |spec|
|
|
22
22
|
spec.metadata['homepage_uri'] = spec.homepage
|
23
23
|
spec.metadata['source_code_uri'] = 'https://github.com/uploadcare/uploadcare-ruby'
|
24
24
|
spec.metadata['changelog_uri'] = 'https://github.com/uploadcare/uploadcare-ruby/CHANGELOG.md'
|
25
|
+
spec.metadata['rubygems_mfa_required'] = 'true'
|
25
26
|
else
|
26
27
|
raise 'RubyGems 2.0 or newer is required to protect against ' \
|
27
|
-
|
28
|
+
'public gem pushes.'
|
28
29
|
end
|
29
30
|
|
30
31
|
# Specify which files should be added to the gem when it is released.
|
@@ -36,23 +37,15 @@ Gem::Specification.new do |spec|
|
|
36
37
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
37
38
|
spec.require_paths = ['lib', 'lib/uploadcare', 'lib/uploadcare/rest']
|
38
39
|
|
39
|
-
spec.add_dependency '
|
40
|
-
spec.add_dependency '
|
41
|
-
spec.add_dependency '
|
42
|
-
spec.add_dependency '
|
40
|
+
spec.add_dependency 'mimemagic', '~> 0.4'
|
41
|
+
spec.add_dependency 'parallel', '~> 1.22'
|
42
|
+
spec.add_dependency 'retries', '~> 0.0'
|
43
|
+
spec.add_dependency 'uploadcare-api_struct', '>= 1.1', '< 2'
|
43
44
|
|
44
|
-
|
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'
|
45
|
+
spec.add_development_dependency 'byebug', '~> 11.1'
|
53
46
|
spec.add_development_dependency 'rake', '~> 13.0'
|
54
47
|
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'
|
48
|
+
spec.add_development_dependency 'rubocop', '~> 1.48'
|
49
|
+
spec.add_development_dependency 'vcr', '~> 6.1'
|
50
|
+
spec.add_development_dependency 'webmock', '~> 3.18'
|
58
51
|
end
|
metadata
CHANGED
@@ -1,99 +1,91 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: uploadcare-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- "@dmitrijivanchenko (Dmitrij Ivanchenko), @T0mbery (Andrey Aksenov)"
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-03-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: mimemagic
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: '0.4'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
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'
|
26
|
+
version: '0.4'
|
41
27
|
- !ruby/object:Gem::Dependency
|
42
28
|
name: parallel
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
44
30
|
requirements:
|
45
|
-
- - "
|
31
|
+
- - "~>"
|
46
32
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
33
|
+
version: '1.22'
|
48
34
|
type: :runtime
|
49
35
|
prerelease: false
|
50
36
|
version_requirements: !ruby/object:Gem::Requirement
|
51
37
|
requirements:
|
52
|
-
- - "
|
38
|
+
- - "~>"
|
53
39
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
40
|
+
version: '1.22'
|
55
41
|
- !ruby/object:Gem::Dependency
|
56
42
|
name: retries
|
57
43
|
requirement: !ruby/object:Gem::Requirement
|
58
44
|
requirements:
|
59
|
-
- - "
|
45
|
+
- - "~>"
|
60
46
|
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
47
|
+
version: '0.0'
|
62
48
|
type: :runtime
|
63
49
|
prerelease: false
|
64
50
|
version_requirements: !ruby/object:Gem::Requirement
|
65
51
|
requirements:
|
66
|
-
- - "
|
52
|
+
- - "~>"
|
67
53
|
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
54
|
+
version: '0.0'
|
69
55
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
56
|
+
name: uploadcare-api_struct
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
72
58
|
requirements:
|
73
59
|
- - ">="
|
74
60
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
76
|
-
|
61
|
+
version: '1.1'
|
62
|
+
- - "<"
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
version: '2'
|
65
|
+
type: :runtime
|
77
66
|
prerelease: false
|
78
67
|
version_requirements: !ruby/object:Gem::Requirement
|
79
68
|
requirements:
|
80
69
|
- - ">="
|
81
70
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
71
|
+
version: '1.1'
|
72
|
+
- - "<"
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '2'
|
83
75
|
- !ruby/object:Gem::Dependency
|
84
76
|
name: byebug
|
85
77
|
requirement: !ruby/object:Gem::Requirement
|
86
78
|
requirements:
|
87
|
-
- - "
|
79
|
+
- - "~>"
|
88
80
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
81
|
+
version: '11.1'
|
90
82
|
type: :development
|
91
83
|
prerelease: false
|
92
84
|
version_requirements: !ruby/object:Gem::Requirement
|
93
85
|
requirements:
|
94
|
-
- - "
|
86
|
+
- - "~>"
|
95
87
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
88
|
+
version: '11.1'
|
97
89
|
- !ruby/object:Gem::Dependency
|
98
90
|
name: rake
|
99
91
|
requirement: !ruby/object:Gem::Requirement
|
@@ -126,44 +118,44 @@ dependencies:
|
|
126
118
|
name: rubocop
|
127
119
|
requirement: !ruby/object:Gem::Requirement
|
128
120
|
requirements:
|
129
|
-
- - "
|
121
|
+
- - "~>"
|
130
122
|
- !ruby/object:Gem::Version
|
131
|
-
version: '
|
123
|
+
version: '1.48'
|
132
124
|
type: :development
|
133
125
|
prerelease: false
|
134
126
|
version_requirements: !ruby/object:Gem::Requirement
|
135
127
|
requirements:
|
136
|
-
- - "
|
128
|
+
- - "~>"
|
137
129
|
- !ruby/object:Gem::Version
|
138
|
-
version: '
|
130
|
+
version: '1.48'
|
139
131
|
- !ruby/object:Gem::Dependency
|
140
132
|
name: vcr
|
141
133
|
requirement: !ruby/object:Gem::Requirement
|
142
134
|
requirements:
|
143
|
-
- - "
|
135
|
+
- - "~>"
|
144
136
|
- !ruby/object:Gem::Version
|
145
|
-
version: '
|
137
|
+
version: '6.1'
|
146
138
|
type: :development
|
147
139
|
prerelease: false
|
148
140
|
version_requirements: !ruby/object:Gem::Requirement
|
149
141
|
requirements:
|
150
|
-
- - "
|
142
|
+
- - "~>"
|
151
143
|
- !ruby/object:Gem::Version
|
152
|
-
version: '
|
144
|
+
version: '6.1'
|
153
145
|
- !ruby/object:Gem::Dependency
|
154
146
|
name: webmock
|
155
147
|
requirement: !ruby/object:Gem::Requirement
|
156
148
|
requirements:
|
157
|
-
- - "
|
149
|
+
- - "~>"
|
158
150
|
- !ruby/object:Gem::Version
|
159
|
-
version: '
|
151
|
+
version: '3.18'
|
160
152
|
type: :development
|
161
153
|
prerelease: false
|
162
154
|
version_requirements: !ruby/object:Gem::Requirement
|
163
155
|
requirements:
|
164
|
-
- - "
|
156
|
+
- - "~>"
|
165
157
|
- !ruby/object:Gem::Version
|
166
|
-
version: '
|
158
|
+
version: '3.18'
|
167
159
|
description: Ruby wrapper for uploadcare API
|
168
160
|
email:
|
169
161
|
executables: []
|
@@ -244,6 +236,7 @@ metadata:
|
|
244
236
|
homepage_uri: https://github.com/uploadcare/uploadcare-ruby
|
245
237
|
source_code_uri: https://github.com/uploadcare/uploadcare-ruby
|
246
238
|
changelog_uri: https://github.com/uploadcare/uploadcare-ruby/CHANGELOG.md
|
239
|
+
rubygems_mfa_required: 'true'
|
247
240
|
post_install_message:
|
248
241
|
rdoc_options: []
|
249
242
|
require_paths:
|
@@ -261,7 +254,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
261
254
|
- !ruby/object:Gem::Version
|
262
255
|
version: '0'
|
263
256
|
requirements: []
|
264
|
-
rubygems_version: 3.
|
257
|
+
rubygems_version: 3.4.6
|
265
258
|
signing_key:
|
266
259
|
specification_version: 4
|
267
260
|
summary: Ruby wrapper for uploadcare API
|