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 +4 -4
- data/.github/workflows/gem-push.yml +2 -2
- data/.github/workflows/ruby.yml +12 -9
- data/.gitignore +4 -0
- data/.rubocop.yml +1 -0
- data/CHANGELOG.md +28 -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/lib/uploadcare.rb +2 -2
- data/uploadcare-ruby.gemspec +14 -19
- metadata +44 -49
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b5a41f0e682da0993059311f280acd2b5e1121de5cdc7815646ee209b6dedbd8
|
|
4
|
+
data.tar.gz: 37ec4e95272358faf14c597569cf10045fc3982935685c265a90a0f8cf70c2f1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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@
|
|
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@
|
|
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}}
|
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,33 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 4.
|
|
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.
|
|
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/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'
|
data/uploadcare-ruby.gemspec
CHANGED
|
@@ -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 =
|
|
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
|
-
|
|
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 '
|
|
40
|
-
spec.add_dependency '
|
|
41
|
-
spec.add_dependency '
|
|
42
|
-
spec.add_dependency '
|
|
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
|
-
|
|
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.
|
|
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:
|
|
12
|
+
date: 2023-03-17 00:00:00.000000000 Z
|
|
12
13
|
dependencies:
|
|
13
14
|
- !ruby/object:Gem::Dependency
|
|
14
|
-
name:
|
|
15
|
+
name: mimemagic
|
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
|
16
17
|
requirements:
|
|
17
18
|
- - "~>"
|
|
18
19
|
- !ruby/object:Gem::Version
|
|
19
|
-
version:
|
|
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:
|
|
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: '
|
|
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: '
|
|
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:
|
|
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: '
|
|
76
|
-
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
167
|
-
description: Ruby
|
|
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.
|
|
259
|
+
rubygems_version: 3.4.6
|
|
265
260
|
signing_key:
|
|
266
261
|
specification_version: 4
|
|
267
262
|
summary: Ruby wrapper for uploadcare API
|