deepl-rb 2.1.0 → 2.2.4
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 +5 -5
- data/.circleci/config.yml +1 -13
- data/.rubocop.yml +1 -0
- data/Gemfile +2 -0
- data/README.md +30 -12
- data/Rakefile +2 -0
- data/VERSION +1 -1
- data/deepl-rb.gemspec +8 -10
- data/lib/deepl.rb +3 -0
- data/lib/deepl/api.rb +2 -0
- data/lib/deepl/configuration.rb +4 -1
- data/lib/deepl/exceptions/authorization_failed.rb +2 -0
- data/lib/deepl/exceptions/bad_request.rb +4 -0
- data/lib/deepl/exceptions/error.rb +2 -0
- data/lib/deepl/exceptions/limit_exceeded.rb +2 -0
- data/lib/deepl/exceptions/quota_exceeded.rb +11 -0
- data/lib/deepl/exceptions/request_error.rb +4 -1
- data/lib/deepl/requests/base.rb +5 -4
- data/lib/deepl/requests/translate.rb +3 -0
- data/lib/deepl/requests/usage.rb +2 -0
- data/lib/deepl/resources/base.rb +2 -0
- data/lib/deepl/resources/text.rb +2 -0
- data/lib/deepl/resources/usage.rb +2 -0
- data/spec/api/api_spec.rb +2 -0
- data/spec/api/configuration_spec.rb +5 -1
- data/spec/api/deepl_spec.rb +4 -1
- data/spec/fixtures/vcr_cassettes/deepl_translate.yml +2 -2
- data/spec/fixtures/vcr_cassettes/deepl_usage.yml +1 -1
- data/spec/fixtures/vcr_cassettes/translate_texts.yml +7 -7
- data/spec/fixtures/vcr_cassettes/usage.yml +1 -1
- data/spec/requests/translate_spec.rb +2 -0
- data/spec/requests/usage_spec.rb +2 -0
- data/spec/resources/text_spec.rb +2 -0
- data/spec/resources/usage_spec.rb +2 -0
- data/spec/spec_helper.rb +2 -0
- metadata +7 -8
- data/Gemfile.lock +0 -113
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: cf8ebdcd8a45fe7ad967c6b029c25bbfb434fb084248f4857af3a951ac796d2f
|
4
|
+
data.tar.gz: fbc03bfcbb0e0da19a0c0b13f6362fda347bf8827f06621938504276b498f5b3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 43f953deb1764db33e4c184af1f2456ec2f0eeccb4eeb4be1487dd4f84929b557f2e5cb81c9e258fb97caf5ab3adc2e28b7c850e8eed744d865f12c10abbc680
|
7
|
+
data.tar.gz: dcbf37fa50d6219ff68f6c77684414f9d7b1e32c102654e98e4e550af38f6f2923dd796563f15a35fb0fe87891a49d88b804f229e632de45407811f12db6e2ea
|
data/.circleci/config.yml
CHANGED
@@ -3,26 +3,14 @@ jobs:
|
|
3
3
|
build:
|
4
4
|
working_directory: ~/deepl-rb
|
5
5
|
docker:
|
6
|
-
- image: circleci/ruby:2.
|
6
|
+
- image: circleci/ruby:2.7
|
7
7
|
steps:
|
8
8
|
- checkout
|
9
9
|
|
10
|
-
# Restore bundle cache
|
11
|
-
- type: cache-restore
|
12
|
-
name: Restore bundle cache
|
13
|
-
key: deepl-rb-bundle-{{ checksum "Gemfile.lock" }}
|
14
|
-
|
15
10
|
- run:
|
16
11
|
name: Bundle Install
|
17
12
|
command: bundle install --path vendor/bundle
|
18
13
|
|
19
|
-
# Store bundle cache
|
20
|
-
- type: cache-save
|
21
|
-
name: Store bundle cache
|
22
|
-
key: deepl-rb-bundle-{{ checksum "Gemfile.lock" }}
|
23
|
-
paths:
|
24
|
-
- vendor/bundle
|
25
|
-
|
26
14
|
# Run rspec
|
27
15
|
- type: shell
|
28
16
|
command: |
|
data/.rubocop.yml
CHANGED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# DeepL for ruby
|
4
4
|
|
5
|
-
A simple ruby wrapper for the [DeepL translation API (
|
5
|
+
A simple ruby wrapper for the [DeepL translation API (v2)](https://www.deepl.com/api.html).
|
6
6
|
|
7
7
|
## Installation
|
8
8
|
|
@@ -35,12 +35,13 @@ DeepL.configure do |config|
|
|
35
35
|
end
|
36
36
|
```
|
37
37
|
|
38
|
-
You can also configure the
|
38
|
+
You can also configure the API host and the API version:
|
39
39
|
|
40
40
|
```rb
|
41
41
|
DeepL.configure do |config|
|
42
42
|
config.auth_key = 'your-api-token'
|
43
43
|
config.host = 'https://test-api.deepl.com' # Default value is 'https://api.deepl.com'
|
44
|
+
config.version = 'v1' # Default value is 'v2'
|
44
45
|
end
|
45
46
|
```
|
46
47
|
|
@@ -86,9 +87,11 @@ Here's a list of available language codes:
|
|
86
87
|
| `DE` | German
|
87
88
|
| `FR` | French
|
88
89
|
| `ES` | Spanish
|
90
|
+
| `PT` | Portuguese
|
89
91
|
| `IT` | Italian
|
90
92
|
| `NL` | Dutch
|
91
93
|
| `PL` | Polish
|
94
|
+
| `RU` | Russian
|
92
95
|
|
93
96
|
You can also use custom query parameters, like `tag_handling`, `split_sentences`, `non_splitting_tags` or `ignore_tags`:
|
94
97
|
|
@@ -127,11 +130,12 @@ puts usage.character_limit
|
|
127
130
|
|
128
131
|
You can capture and process exceptions that may be raised during API calls. These are all the possible exceptions:
|
129
132
|
|
130
|
-
| Exception class |
|
133
|
+
| Exception class | Description |
|
131
134
|
| --------------- | ----------- |
|
132
|
-
| `DeepL::Exceptions::AuthorizationFailed` | The authorization process has failed. Check your auth_key value. |
|
135
|
+
| `DeepL::Exceptions::AuthorizationFailed` | The authorization process has failed. Check your `auth_key` value. |
|
133
136
|
| `DeepL::Exceptions::BadRequest` | Something is wrong in your request. Check `exception.message` for more information. |
|
134
137
|
| `DeepL::Exceptions::LimitExceeded` | You've reached the API's call limit. |
|
138
|
+
| `DeepL::Exceptions::QuotaExceeded` | You've reached the API's character limit. |
|
135
139
|
| `DeepL::Exceptions::RequestError` | An unkown request error. Check `exception.response` and `exception.request` for more information. |
|
136
140
|
|
137
141
|
An exampling of handling a generic exception:
|
@@ -145,9 +149,31 @@ rescue DeepL::Exceptions::RequestError => e
|
|
145
149
|
puts "Response body: #{e.response.body}"
|
146
150
|
puts "Request body: #{e.request.body}"
|
147
151
|
end
|
152
|
+
```
|
153
|
+
|
154
|
+
## Integrations
|
155
|
+
|
156
|
+
### Ruby on Rails
|
157
|
+
|
158
|
+
You may use this gem as a standalone service by creating an initializer on your
|
159
|
+
`config/initializers` folder with your DeepL configuration. For example:
|
148
160
|
|
161
|
+
```rb
|
162
|
+
# config/initializers/deepl.rb
|
163
|
+
DeepL.configure do |config|
|
164
|
+
# Your configuration goes here
|
165
|
+
end
|
149
166
|
```
|
150
167
|
|
168
|
+
Since the DeepL service is defined globally, you can use service anywhere in your code
|
169
|
+
(controllers, models, views, jobs, plain ruby objects… you name it).
|
170
|
+
|
171
|
+
### i18n-tasks
|
172
|
+
|
173
|
+
You may also take a look at [`i18n-tasks`](https://github.com/glebm/i18n-tasks), which is a gem
|
174
|
+
that helps you find and manage missing and unused translations. `deepl-rb` is used as one of the
|
175
|
+
backend services to translate content.
|
176
|
+
|
151
177
|
## Development
|
152
178
|
|
153
179
|
Clone the repository, and install its dependencies:
|
@@ -163,11 +189,3 @@ To run tests (rspec and rubocop), use
|
|
163
189
|
```
|
164
190
|
bundle exec rake test
|
165
191
|
```
|
166
|
-
|
167
|
-
## Contributors
|
168
|
-
|
169
|
-
This project has been developed by:
|
170
|
-
|
171
|
-
| Avatar | Name | Nickname | Email |
|
172
|
-
| ------ | ---- | -------- | ----- |
|
173
|
-
|  | Daniel Herzog | Wikiti | [info@danielherzog.es](mailto:info@danielherzog.es)
|
data/Rakefile
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.
|
1
|
+
2.2.4
|
data/deepl-rb.gemspec
CHANGED
@@ -2,16 +2,16 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: deepl-rb 2.
|
5
|
+
# stub: deepl-rb 2.2.4 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "deepl-rb".freeze
|
9
|
-
s.version = "2.
|
9
|
+
s.version = "2.2.4"
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
12
12
|
s.require_paths = ["lib".freeze]
|
13
13
|
s.authors = ["Daniel Herzog".freeze]
|
14
|
-
s.date = "
|
14
|
+
s.date = "2021-02-28"
|
15
15
|
s.description = "A simple ruby wrapper for the DeepL translation API (v1). For more information, check this: https://www.deepl.com/docs/api-reference.html".freeze
|
16
16
|
s.email = "info@danielherzog.es".freeze
|
17
17
|
s.extra_rdoc_files = [
|
@@ -22,7 +22,6 @@ Gem::Specification.new do |s|
|
|
22
22
|
".circleci/config.yml",
|
23
23
|
".rubocop.yml",
|
24
24
|
"Gemfile",
|
25
|
-
"Gemfile.lock",
|
26
25
|
"LICENSE.md",
|
27
26
|
"README.md",
|
28
27
|
"Rakefile",
|
@@ -35,6 +34,7 @@ Gem::Specification.new do |s|
|
|
35
34
|
"lib/deepl/exceptions/bad_request.rb",
|
36
35
|
"lib/deepl/exceptions/error.rb",
|
37
36
|
"lib/deepl/exceptions/limit_exceeded.rb",
|
37
|
+
"lib/deepl/exceptions/quota_exceeded.rb",
|
38
38
|
"lib/deepl/exceptions/request_error.rb",
|
39
39
|
"lib/deepl/requests/base.rb",
|
40
40
|
"lib/deepl/requests/translate.rb",
|
@@ -57,17 +57,15 @@ Gem::Specification.new do |s|
|
|
57
57
|
]
|
58
58
|
s.homepage = "http://github.com/wikiti/deepl-rb".freeze
|
59
59
|
s.licenses = ["MIT".freeze]
|
60
|
-
s.rubygems_version = "
|
60
|
+
s.rubygems_version = "3.1.2".freeze
|
61
61
|
s.summary = "A simple ruby wrapper for the DeepL API".freeze
|
62
62
|
|
63
63
|
if s.respond_to? :specification_version then
|
64
64
|
s.specification_version = 4
|
65
|
+
end
|
65
66
|
|
66
|
-
|
67
|
-
|
68
|
-
else
|
69
|
-
s.add_dependency(%q<juwelier>.freeze, [">= 0"])
|
70
|
-
end
|
67
|
+
if s.respond_to? :add_runtime_dependency then
|
68
|
+
s.add_development_dependency(%q<juwelier>.freeze, [">= 0"])
|
71
69
|
else
|
72
70
|
s.add_dependency(%q<juwelier>.freeze, [">= 0"])
|
73
71
|
end
|
data/lib/deepl.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# -- Dependencies
|
2
4
|
require 'json'
|
3
5
|
require 'net/http'
|
@@ -8,6 +10,7 @@ require 'deepl/exceptions/request_error'
|
|
8
10
|
require 'deepl/exceptions/authorization_failed'
|
9
11
|
require 'deepl/exceptions/bad_request'
|
10
12
|
require 'deepl/exceptions/limit_exceeded'
|
13
|
+
require 'deepl/exceptions/quota_exceeded'
|
11
14
|
|
12
15
|
# -- Requests
|
13
16
|
require 'deepl/requests/base'
|
data/lib/deepl/api.rb
CHANGED
data/lib/deepl/configuration.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module DeepL
|
2
4
|
class Configuration
|
3
|
-
ATTRIBUTES = %i[auth_key host].freeze
|
5
|
+
ATTRIBUTES = %i[auth_key host version].freeze
|
4
6
|
|
5
7
|
attr_accessor(*ATTRIBUTES)
|
6
8
|
|
@@ -8,6 +10,7 @@ module DeepL
|
|
8
10
|
data.each { |key, value| send("#{key}=", value) }
|
9
11
|
@auth_key ||= ENV['DEEPL_AUTH_KEY']
|
10
12
|
@host ||= 'https://api.deepl.com'
|
13
|
+
@version ||= 'v2'
|
11
14
|
end
|
12
15
|
|
13
16
|
def validate!
|
@@ -1,15 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module DeepL
|
2
4
|
module Exceptions
|
3
5
|
class RequestError < Error
|
4
6
|
attr_reader :request, :response
|
5
7
|
|
6
8
|
def initialize(request, response)
|
9
|
+
super()
|
7
10
|
@request = request
|
8
11
|
@response = response
|
9
12
|
end
|
10
13
|
|
11
14
|
def message
|
12
|
-
'
|
15
|
+
'Unknown error.'
|
13
16
|
end
|
14
17
|
end
|
15
18
|
end
|
data/lib/deepl/requests/base.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module DeepL
|
2
4
|
module Requests
|
3
5
|
class Base
|
4
|
-
API_VERSION = 'v1'.freeze
|
5
|
-
|
6
6
|
attr_reader :api, :response, :options
|
7
7
|
|
8
8
|
def initialize(api, options = {})
|
@@ -34,7 +34,7 @@ module DeepL
|
|
34
34
|
|
35
35
|
def post(payload)
|
36
36
|
request = Net::HTTP::Post.new(uri.request_uri)
|
37
|
-
request.set_form_data(payload.
|
37
|
+
request.set_form_data(payload.compact)
|
38
38
|
response = http.request(request)
|
39
39
|
|
40
40
|
validate_response!(request, response)
|
@@ -64,6 +64,7 @@ module DeepL
|
|
64
64
|
when '400' then raise Exceptions::BadRequest.new(request, response)
|
65
65
|
when '403' then raise Exceptions::AuthorizationFailed.new(request, response)
|
66
66
|
when '429' then raise Exceptions::LimitExceeded.new(request, response)
|
67
|
+
when '456' then raise Exceptions::QuotaExceeded.new(request, response)
|
67
68
|
else raise Exceptions::RequestError.new(request, response)
|
68
69
|
end
|
69
70
|
end
|
@@ -73,7 +74,7 @@ module DeepL
|
|
73
74
|
end
|
74
75
|
|
75
76
|
def url
|
76
|
-
"#{host}/#{
|
77
|
+
"#{host}/#{api.configuration.version}/#{path}"
|
77
78
|
end
|
78
79
|
|
79
80
|
def uri
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module DeepL
|
2
4
|
module Requests
|
3
5
|
class Translate < Base
|
@@ -31,6 +33,7 @@ module DeepL
|
|
31
33
|
def tweak_parameters!
|
32
34
|
OPTIONS_CONVERSIONS.each do |param, converter|
|
33
35
|
next unless option?(param) && converter[option(param)]
|
36
|
+
|
34
37
|
set_option(param, converter[option(param)])
|
35
38
|
end
|
36
39
|
end
|
data/lib/deepl/requests/usage.rb
CHANGED
data/lib/deepl/resources/base.rb
CHANGED
data/lib/deepl/resources/text.rb
CHANGED
data/spec/api/api_spec.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'spec_helper'
|
2
4
|
|
3
5
|
describe DeepL::Configuration do
|
@@ -9,15 +11,17 @@ describe DeepL::Configuration do
|
|
9
11
|
it 'should use default attributes' do
|
10
12
|
expect(subject.auth_key).to eq(ENV['DEEPL_AUTH_KEY'])
|
11
13
|
expect(subject.host).to eq('https://api.deepl.com')
|
14
|
+
expect(subject.version).to eq('v2')
|
12
15
|
end
|
13
16
|
end
|
14
17
|
|
15
18
|
context 'When using custom configuration attributes' do
|
16
|
-
let(:attributes) { { auth_key: 'SAMPLE', host: 'http://www.example.org' } }
|
19
|
+
let(:attributes) { { auth_key: 'SAMPLE', host: 'http://www.example.org', version: 'v1' } }
|
17
20
|
|
18
21
|
it 'should use custom attributes' do
|
19
22
|
expect(subject.auth_key).to eq(attributes[:auth_key])
|
20
23
|
expect(subject.host).to eq(attributes[:host])
|
24
|
+
expect(subject.version).to eq(attributes[:version])
|
21
25
|
end
|
22
26
|
end
|
23
27
|
end
|
data/spec/api/deepl_spec.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'spec_helper'
|
2
4
|
|
3
5
|
describe DeepL do
|
@@ -15,12 +17,13 @@ describe DeepL do
|
|
15
17
|
|
16
18
|
context 'When providing a valid configuration' do
|
17
19
|
let(:configuration) do
|
18
|
-
DeepL::Configuration.new(auth_key: 'VALID', host: 'http://www.example.org')
|
20
|
+
DeepL::Configuration.new(auth_key: 'VALID', host: 'http://www.example.org', version: 'v1')
|
19
21
|
end
|
20
22
|
before do
|
21
23
|
subject.configure do |config|
|
22
24
|
config.auth_key = configuration.auth_key
|
23
25
|
config.host = configuration.host
|
26
|
+
config.version = configuration.version
|
24
27
|
end
|
25
28
|
end
|
26
29
|
|
@@ -2,7 +2,7 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: post
|
5
|
-
uri: https://api.deepl.com/
|
5
|
+
uri: https://api.deepl.com/v2/translate?auth_key=VALID_TOKEN¶m=fake
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: text=Sample&source_lang=EN&target_lang=ES
|
@@ -35,6 +35,6 @@ http_interactions:
|
|
35
35
|
body:
|
36
36
|
encoding: UTF-8
|
37
37
|
string: '{"translations":[{"detected_source_language":"EN","text":"Muestra"}]}'
|
38
|
-
http_version:
|
38
|
+
http_version:
|
39
39
|
recorded_at: Tue, 08 May 2018 16:31:33 GMT
|
40
40
|
recorded_with: VCR 4.0.0
|
@@ -2,7 +2,7 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: post
|
5
|
-
uri: https://api.deepl.com/
|
5
|
+
uri: https://api.deepl.com/v2/translate?auth_key=VALID_TOKEN
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: text=Sample+text&source_lang=EN&target_lang=ES
|
@@ -40,7 +40,7 @@ http_interactions:
|
|
40
40
|
recorded_at: Tue, 08 May 2018 16:31:34 GMT
|
41
41
|
- request:
|
42
42
|
method: post
|
43
|
-
uri: https://api.deepl.com/
|
43
|
+
uri: https://api.deepl.com/v2/translate?auth_key=VALID_TOKEN
|
44
44
|
body:
|
45
45
|
encoding: US-ASCII
|
46
46
|
string: text=Sample&text=Word&source_lang=EN&target_lang=ES
|
@@ -77,7 +77,7 @@ http_interactions:
|
|
77
77
|
recorded_at: Tue, 08 May 2018 16:31:35 GMT
|
78
78
|
- request:
|
79
79
|
method: post
|
80
|
-
uri: https://api.deepl.com/
|
80
|
+
uri: https://api.deepl.com/v2/translate?auth_key=VALID_TOKEN
|
81
81
|
body:
|
82
82
|
encoding: US-ASCII
|
83
83
|
string: text=%3Cp%3ESample+text%3C%2Fp%3E&source_lang=EN&target_lang=ES
|
@@ -115,7 +115,7 @@ http_interactions:
|
|
115
115
|
recorded_at: Tue, 08 May 2018 16:31:36 GMT
|
116
116
|
- request:
|
117
117
|
method: post
|
118
|
-
uri: https://api.deepl.com/
|
118
|
+
uri: https://api.deepl.com/v2/translate?auth_key=invalid
|
119
119
|
body:
|
120
120
|
encoding: US-ASCII
|
121
121
|
string: text=Sample+text&source_lang=EN&target_lang=ES
|
@@ -148,7 +148,7 @@ http_interactions:
|
|
148
148
|
recorded_at: Tue, 08 May 2018 16:31:37 GMT
|
149
149
|
- request:
|
150
150
|
method: post
|
151
|
-
uri: https://api.deepl.com/
|
151
|
+
uri: https://api.deepl.com/v2/translate?auth_key=VALID_TOKEN
|
152
152
|
body:
|
153
153
|
encoding: US-ASCII
|
154
154
|
string: source_lang=EN&target_lang=ES
|
@@ -181,7 +181,7 @@ http_interactions:
|
|
181
181
|
recorded_at: Tue, 08 May 2018 16:31:37 GMT
|
182
182
|
- request:
|
183
183
|
method: post
|
184
|
-
uri: https://api.deepl.com/
|
184
|
+
uri: https://api.deepl.com/v2/translate?auth_key=VALID_TOKEN
|
185
185
|
body:
|
186
186
|
encoding: US-ASCII
|
187
187
|
string: text=Sample+text&source_lang=EN
|
@@ -214,7 +214,7 @@ http_interactions:
|
|
214
214
|
recorded_at: Tue, 08 May 2018 16:31:37 GMT
|
215
215
|
- request:
|
216
216
|
method: post
|
217
|
-
uri: https://api.deepl.com/
|
217
|
+
uri: https://api.deepl.com/v2/translate?auth_key=VALID_TOKEN&ignore_tags=code,%20span
|
218
218
|
body:
|
219
219
|
encoding: US-ASCII
|
220
220
|
string: text=Welcome+and+%3Ccode%3EHello+great+World%3C%2Fcode%3E+Good+Morning%21&source_lang=EN&target_lang=ES
|
data/spec/requests/usage_spec.rb
CHANGED
data/spec/resources/text_spec.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: deepl-rb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Herzog
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-02-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: juwelier
|
@@ -36,7 +36,6 @@ files:
|
|
36
36
|
- ".circleci/config.yml"
|
37
37
|
- ".rubocop.yml"
|
38
38
|
- Gemfile
|
39
|
-
- Gemfile.lock
|
40
39
|
- LICENSE.md
|
41
40
|
- README.md
|
42
41
|
- Rakefile
|
@@ -49,6 +48,7 @@ files:
|
|
49
48
|
- lib/deepl/exceptions/bad_request.rb
|
50
49
|
- lib/deepl/exceptions/error.rb
|
51
50
|
- lib/deepl/exceptions/limit_exceeded.rb
|
51
|
+
- lib/deepl/exceptions/quota_exceeded.rb
|
52
52
|
- lib/deepl/exceptions/request_error.rb
|
53
53
|
- lib/deepl/requests/base.rb
|
54
54
|
- lib/deepl/requests/translate.rb
|
@@ -72,7 +72,7 @@ homepage: http://github.com/wikiti/deepl-rb
|
|
72
72
|
licenses:
|
73
73
|
- MIT
|
74
74
|
metadata: {}
|
75
|
-
post_install_message:
|
75
|
+
post_install_message:
|
76
76
|
rdoc_options: []
|
77
77
|
require_paths:
|
78
78
|
- lib
|
@@ -87,9 +87,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
87
87
|
- !ruby/object:Gem::Version
|
88
88
|
version: '0'
|
89
89
|
requirements: []
|
90
|
-
|
91
|
-
|
92
|
-
signing_key:
|
90
|
+
rubygems_version: 3.1.2
|
91
|
+
signing_key:
|
93
92
|
specification_version: 4
|
94
93
|
summary: A simple ruby wrapper for the DeepL API
|
95
94
|
test_files: []
|
data/Gemfile.lock
DELETED
@@ -1,113 +0,0 @@
|
|
1
|
-
GEM
|
2
|
-
remote: https://rubygems.org/
|
3
|
-
specs:
|
4
|
-
addressable (2.5.2)
|
5
|
-
public_suffix (>= 2.0.2, < 4.0)
|
6
|
-
ast (2.3.0)
|
7
|
-
builder (3.2.3)
|
8
|
-
codecov (0.1.10)
|
9
|
-
json
|
10
|
-
simplecov
|
11
|
-
url
|
12
|
-
crack (0.4.3)
|
13
|
-
safe_yaml (~> 1.0.0)
|
14
|
-
descendants_tracker (0.0.4)
|
15
|
-
thread_safe (~> 0.3, >= 0.3.1)
|
16
|
-
diff-lcs (1.3)
|
17
|
-
docile (1.1.5)
|
18
|
-
faraday (0.12.2)
|
19
|
-
multipart-post (>= 1.2, < 3)
|
20
|
-
git (1.3.0)
|
21
|
-
github_api (0.18.2)
|
22
|
-
addressable (~> 2.4)
|
23
|
-
descendants_tracker (~> 0.0.4)
|
24
|
-
faraday (~> 0.8)
|
25
|
-
hashie (~> 3.5, >= 3.5.2)
|
26
|
-
oauth2 (~> 1.0)
|
27
|
-
hashdiff (0.3.7)
|
28
|
-
hashie (3.5.7)
|
29
|
-
highline (1.7.10)
|
30
|
-
json (2.1.0)
|
31
|
-
juwelier (2.1.3)
|
32
|
-
builder
|
33
|
-
bundler (>= 1.13)
|
34
|
-
git (>= 1.2.5)
|
35
|
-
github_api
|
36
|
-
highline (>= 1.6.15)
|
37
|
-
nokogiri (>= 1.5.10)
|
38
|
-
rake
|
39
|
-
rdoc
|
40
|
-
semver
|
41
|
-
jwt (1.5.6)
|
42
|
-
mini_portile2 (2.3.0)
|
43
|
-
multi_json (1.12.2)
|
44
|
-
multi_xml (0.6.0)
|
45
|
-
multipart-post (2.0.0)
|
46
|
-
nokogiri (1.8.1)
|
47
|
-
mini_portile2 (~> 2.3.0)
|
48
|
-
oauth2 (1.4.0)
|
49
|
-
faraday (>= 0.8, < 0.13)
|
50
|
-
jwt (~> 1.0)
|
51
|
-
multi_json (~> 1.3)
|
52
|
-
multi_xml (~> 0.5)
|
53
|
-
rack (>= 1.2, < 3)
|
54
|
-
parallel (1.12.1)
|
55
|
-
parser (2.4.0.2)
|
56
|
-
ast (~> 2.3)
|
57
|
-
powerpack (0.1.1)
|
58
|
-
public_suffix (3.0.1)
|
59
|
-
rack (1.6.8)
|
60
|
-
rainbow (3.0.0)
|
61
|
-
rake (12.3.0)
|
62
|
-
rdoc (5.1.0)
|
63
|
-
rspec (3.7.0)
|
64
|
-
rspec-core (~> 3.7.0)
|
65
|
-
rspec-expectations (~> 3.7.0)
|
66
|
-
rspec-mocks (~> 3.7.0)
|
67
|
-
rspec-core (3.7.1)
|
68
|
-
rspec-support (~> 3.7.0)
|
69
|
-
rspec-expectations (3.7.0)
|
70
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
71
|
-
rspec-support (~> 3.7.0)
|
72
|
-
rspec-mocks (3.7.0)
|
73
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
74
|
-
rspec-support (~> 3.7.0)
|
75
|
-
rspec-support (3.7.0)
|
76
|
-
rubocop (0.52.1)
|
77
|
-
parallel (~> 1.10)
|
78
|
-
parser (>= 2.4.0.2, < 3.0)
|
79
|
-
powerpack (~> 0.1)
|
80
|
-
rainbow (>= 2.2.2, < 4.0)
|
81
|
-
ruby-progressbar (~> 1.7)
|
82
|
-
unicode-display_width (~> 1.0, >= 1.0.1)
|
83
|
-
ruby-progressbar (1.9.0)
|
84
|
-
safe_yaml (1.0.4)
|
85
|
-
semver (1.0.1)
|
86
|
-
simplecov (0.15.1)
|
87
|
-
docile (~> 1.1.0)
|
88
|
-
json (>= 1.8, < 3)
|
89
|
-
simplecov-html (~> 0.10.0)
|
90
|
-
simplecov-html (0.10.2)
|
91
|
-
thread_safe (0.3.6)
|
92
|
-
unicode-display_width (1.3.0)
|
93
|
-
url (0.3.2)
|
94
|
-
vcr (4.0.0)
|
95
|
-
webmock (3.2.1)
|
96
|
-
addressable (>= 2.3.6)
|
97
|
-
crack (>= 0.3.2)
|
98
|
-
hashdiff
|
99
|
-
|
100
|
-
PLATFORMS
|
101
|
-
ruby
|
102
|
-
|
103
|
-
DEPENDENCIES
|
104
|
-
codecov
|
105
|
-
juwelier
|
106
|
-
rspec
|
107
|
-
rubocop
|
108
|
-
simplecov
|
109
|
-
vcr
|
110
|
-
webmock
|
111
|
-
|
112
|
-
BUNDLED WITH
|
113
|
-
1.16.0.pre.2
|