api2convert 10.3.2 → 10.3.3
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/README.md +1 -1
- data/docs/CHANGELOG.md +8 -0
- data/docs/SDK_CONTRACT.md +4 -4
- data/lib/api2convert/cloud_provider.rb +2 -3
- data/lib/api2convert/model/cloud_input.rb +0 -9
- data/lib/api2convert/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ada5e8eb2a1a367508025bfec543c9a730126291aa80ccff236f26a50947a2f5
|
|
4
|
+
data.tar.gz: b58f2ae36378bc937debe2f781576931a392ec18f47b80143fb1a07673075d0d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: efa67a69ac2e792e450a4f82dcccab941fd222dcb0c5014490b483fc7ec4bd845e1d3f4302f551f17bf67fbab2f4ef1cf79e30784df449bef93350657a3ddc39
|
|
7
|
+
data.tar.gz: 5d8a30b8597043b8b79489efa38866dbb3ce5d1da28659bb63a54b4136a40136f8bac7b3b8ded35f9c30f736ba463929bf1ff615b1f9cdaeb3388f329cc298d2
|
data/README.md
CHANGED
|
@@ -112,7 +112,7 @@ client.convert("report.docx", "pdf", output_targets: [target])
|
|
|
112
112
|
# Delivered to the bucket — the job completes with no local output to save.
|
|
113
113
|
```
|
|
114
114
|
|
|
115
|
-
`azure
|
|
115
|
+
`azure` and `google_cloud` have matching input factories; output uses the
|
|
116
116
|
generic `OutputTarget` for every provider. Credentials are redacted in
|
|
117
117
|
`inspect`/errors and never printed.
|
|
118
118
|
|
data/docs/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,14 @@ All notable changes to the API2Convert Ruby SDK are documented here. The five
|
|
|
4
4
|
official SDKs (PHP, Python, Java, Node.js, Ruby) version together against the
|
|
5
5
|
shared [`SDK_CONTRACT.md`](SDK_CONTRACT.md).
|
|
6
6
|
|
|
7
|
+
## [10.3.3] - 2026-11-06
|
|
8
|
+
|
|
9
|
+
### Removed
|
|
10
|
+
|
|
11
|
+
- The FTP cloud provider, because FTP is being retired from the API: `CloudInput.ftp` and
|
|
12
|
+
`CloudProvider::FTP`. Code that uses them raises `NoMethodError` or `NameError` and needs another
|
|
13
|
+
provider. Reading stays tolerant: jobs created with `ftp` earlier still load.
|
|
14
|
+
|
|
7
15
|
## [10.3.2] - 2026-08-12
|
|
8
16
|
|
|
9
17
|
### Fixed
|
data/docs/SDK_CONTRACT.md
CHANGED
|
@@ -29,13 +29,13 @@ Two layers make up an SDK:
|
|
|
29
29
|
- **Add remote input**: `POST /jobs/{id}/input` `{ type:'remote', source:'https://…' }`.
|
|
30
30
|
- **Cloud input** (import from customer storage): `POST /jobs/{id}/input` (or inline in `create`)
|
|
31
31
|
`{ type:'cloud', source:<provider>, parameters:{…}, credentials:{…} }`, `<provider> ∈ {amazons3,
|
|
32
|
-
azure,
|
|
32
|
+
azure, googlecloud}`; plus `{ type:'gdrive_picker', source:<drive-file-id>,
|
|
33
33
|
credentials:{token}, content_type? }` for Google Drive. The API validates a cloud descriptor
|
|
34
34
|
**asynchronously** — it accepts any descriptor on create (`201`) and later fails a bad one on the
|
|
35
35
|
input (`status:failed`, generic `code 99`); it never echoes a credential value.
|
|
36
36
|
- **Cloud output** (deliver to customer storage): a `conversion[]` may carry
|
|
37
37
|
`output_target:[{ type:<provider>, parameters:{…}, credentials:{…} }]`, `<provider> ∈ {amazons3,
|
|
38
|
-
googlecloud, azure,
|
|
38
|
+
googlecloud, azure, youtube, gdrive}`. `status` (`waiting|uploading|completed|failed`) is
|
|
39
39
|
server-set and read-only — never sent on create. The job reaches `completed` only after the upload
|
|
40
40
|
succeeds (a failed upload → `failed`); an output-target conversion produces **no** local output.
|
|
41
41
|
- **Start**: `PATCH /jobs/{id}` `{ process:true }`.
|
|
@@ -102,14 +102,14 @@ wire descriptors above; per-provider keys are **not** validated synchronously se
|
|
|
102
102
|
typed surface is the client's only pre-flight structure.
|
|
103
103
|
|
|
104
104
|
- **Provider vocabulary** — one shared `CloudProvider` concept (per-language spelling): `amazons3,
|
|
105
|
-
azure,
|
|
105
|
+
azure, gdrive, googlecloud, youtube`. It is **build-side vocabulary only** — read models keep
|
|
106
106
|
`source`/`type`/`status` as raw strings, and an unknown provider from the server round-trips
|
|
107
107
|
untyped (never throws).
|
|
108
108
|
- **Cloud input** — a `CloudInput` builder emits `{ type:cloud, source, parameters, credentials }`
|
|
109
109
|
and hands off to `addInput` / the create path. It ships per-provider named constructors whose
|
|
110
110
|
signatures carry each provider's required keys **verbatim** (flat/lowercase, as the API expects):
|
|
111
111
|
`amazonS3(bucket, file, accesskeyid, secretaccesskey)`,
|
|
112
|
-
`azure(container, file, accountname, accountkey)`,
|
|
112
|
+
`azure(container, file, accountname, accountkey)`,
|
|
113
113
|
`googleCloud(projectid, bucket, file, keyfile)`. The required keys are **constructor arguments**,
|
|
114
114
|
not a runtime gate — the builder never rejects a descriptor the permissive server would accept, and
|
|
115
115
|
a generic `parameters`/`credentials` map stays reachable for optional/forward-compat keys. Google
|
|
@@ -12,18 +12,17 @@ module Api2Convert
|
|
|
12
12
|
# there is deliberately no strict parse.
|
|
13
13
|
#
|
|
14
14
|
# Import support (a {Model::CloudInput} factory) exists for {AMAZON_S3},
|
|
15
|
-
# {AZURE}
|
|
15
|
+
# {AZURE} and {GOOGLE_CLOUD}. {GDRIVE} and {YOUTUBE} are **output-only**
|
|
16
16
|
# (they validate as an output `type` but have no downloader); Google Drive
|
|
17
17
|
# *input* uses the separate `gdrive_picker` input type.
|
|
18
18
|
module CloudProvider
|
|
19
19
|
AMAZON_S3 = "amazons3"
|
|
20
20
|
AZURE = "azure"
|
|
21
|
-
FTP = "ftp"
|
|
22
21
|
GDRIVE = "gdrive"
|
|
23
22
|
GOOGLE_CLOUD = "googlecloud"
|
|
24
23
|
YOUTUBE = "youtube"
|
|
25
24
|
|
|
26
25
|
# The full provider vocabulary, in canonical order.
|
|
27
|
-
ALL = [AMAZON_S3, AZURE,
|
|
26
|
+
ALL = [AMAZON_S3, AZURE, GDRIVE, GOOGLE_CLOUD, YOUTUBE].freeze
|
|
28
27
|
end
|
|
29
28
|
end
|
|
@@ -63,15 +63,6 @@ module Api2Convert
|
|
|
63
63
|
)
|
|
64
64
|
end
|
|
65
65
|
|
|
66
|
-
# Import from an FTP server.
|
|
67
|
-
def self.ftp(host:, file:, username:, password:, parameters: {}, credentials: {})
|
|
68
|
-
new(
|
|
69
|
-
source: CloudProvider::FTP,
|
|
70
|
-
parameters: { "host" => host, "file" => file }.merge(parameters),
|
|
71
|
-
credentials: { "username" => username, "password" => password }.merge(credentials)
|
|
72
|
-
)
|
|
73
|
-
end
|
|
74
|
-
|
|
75
66
|
# Import from Google Cloud Storage.
|
|
76
67
|
def self.google_cloud(projectid:, bucket:, file:, keyfile:, parameters: {}, credentials: {})
|
|
77
68
|
new(
|
data/lib/api2convert/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: api2convert
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 10.3.
|
|
4
|
+
version: 10.3.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Qaamgo Media GmbH
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-11-06 00:00:00.000000000 Z
|
|
12
12
|
dependencies: []
|
|
13
13
|
description: Convert, compress and transform images, documents, audio, video, ebooks,
|
|
14
14
|
archives and CAD — and run operations like OCR, merge, thumbnail and website capture
|