deepl-rb 2.3.0 → 2.5.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/.rubocop.yml +7 -4
- data/README.md +102 -1
- data/VERSION +1 -1
- data/deepl-rb.gemspec +25 -4
- data/lib/deepl/configuration.rb +1 -1
- data/lib/deepl/exceptions/not_found.rb +13 -0
- data/lib/deepl/exceptions/not_supported.rb +11 -0
- data/lib/deepl/glossary_api.rb +35 -0
- data/lib/deepl/requests/base.rb +21 -4
- data/lib/deepl/requests/glossary/create.rb +45 -0
- data/lib/deepl/requests/glossary/destroy.rb +30 -0
- data/lib/deepl/requests/glossary/entries.rb +30 -0
- data/lib/deepl/requests/glossary/find.rb +31 -0
- data/lib/deepl/requests/glossary/language_pairs.rb +31 -0
- data/lib/deepl/requests/glossary/list.rb +30 -0
- data/lib/deepl/requests/languages.rb +3 -1
- data/lib/deepl/requests/translate.rb +1 -0
- data/lib/deepl/resources/glossary.rb +25 -0
- data/lib/deepl/resources/language.rb +8 -1
- data/lib/deepl/resources/language_pair.rb +20 -0
- data/lib/deepl.rb +16 -0
- data/spec/api/deepl_spec.rb +189 -0
- data/spec/fixtures/vcr_cassettes/deepl_glossaries.yml +374 -0
- data/spec/fixtures/vcr_cassettes/deepl_languages.yml +3 -1
- data/spec/fixtures/vcr_cassettes/deepl_translate.yml +212 -1
- data/spec/fixtures/vcr_cassettes/deepl_usage.yml +3 -1
- data/spec/fixtures/vcr_cassettes/glossaries.yml +480 -0
- data/spec/fixtures/vcr_cassettes/languages.yml +9 -3
- data/spec/fixtures/vcr_cassettes/translate_texts.yml +340 -286
- data/spec/fixtures/vcr_cassettes/usage.yml +3 -1
- data/spec/requests/glossary/create_spec.rb +55 -0
- data/spec/requests/glossary/destroy_spec.rb +50 -0
- data/spec/requests/glossary/entries_spec.rb +48 -0
- data/spec/requests/glossary/find_spec.rb +54 -0
- data/spec/requests/glossary/language_pairs_spec.rb +30 -0
- data/spec/requests/glossary/list_spec.rb +44 -0
- data/spec/requests/translate_spec.rb +51 -0
- data/spec/resources/glossary_spec.rb +35 -0
- data/spec/resources/language_pair_spec.rb +20 -0
- data/spec/resources/language_spec.rb +23 -1
- data/spec/spec_helper.rb +2 -2
- metadata +24 -3
@@ -0,0 +1,55 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe DeepL::Requests::Glossary::Create do
|
6
|
+
let(:api) { build_deepl_api }
|
7
|
+
let(:name) { 'Mi Glosario' }
|
8
|
+
let(:source_lang) { 'EN' }
|
9
|
+
let(:target_lang) { 'ES' }
|
10
|
+
let(:entries) do
|
11
|
+
[
|
12
|
+
%w[Hello Hola],
|
13
|
+
%w[World Mundo]
|
14
|
+
]
|
15
|
+
end
|
16
|
+
let(:entries_format) { 'tsv' }
|
17
|
+
let(:options) { {} }
|
18
|
+
subject do
|
19
|
+
DeepL::Requests::Glossary::Create.new(api, name, source_lang, target_lang, entries, options)
|
20
|
+
end
|
21
|
+
|
22
|
+
describe '#initialize' do
|
23
|
+
context 'When building a request' do
|
24
|
+
it 'should create a request object' do
|
25
|
+
expect(subject).to be_a(described_class)
|
26
|
+
end
|
27
|
+
|
28
|
+
it 'should set the default value for the entries format if not specified' do
|
29
|
+
request = DeepL::Requests::Glossary::Create.new(api, name, source_lang, target_lang,
|
30
|
+
entries, options)
|
31
|
+
expect(request.entries_format).to eq('tsv')
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
describe '#request' do
|
37
|
+
around do |example|
|
38
|
+
VCR.use_cassette('glossaries') { example.call }
|
39
|
+
end
|
40
|
+
|
41
|
+
context 'When performing a valid request with two glossary entries' do
|
42
|
+
it 'should return a glossaries object' do
|
43
|
+
glossary = subject.request
|
44
|
+
expect(glossary).to be_a(DeepL::Resources::Glossary)
|
45
|
+
expect(glossary.id).to be_kind_of(String)
|
46
|
+
expect(glossary.name).to eq('Mi Glosario')
|
47
|
+
expect(glossary.ready).to be(true).or be(false)
|
48
|
+
expect(glossary.source_lang).to eq('en')
|
49
|
+
expect(glossary.target_lang).to eq('es')
|
50
|
+
expect { Time.iso8601(glossary.creation_time) }.not_to raise_error
|
51
|
+
expect(glossary.entry_count).to eq(2)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe DeepL::Requests::Glossary::Destroy do
|
6
|
+
let(:api) { build_deepl_api }
|
7
|
+
let(:id) { '367eef44-b533-4d95-be19-74950c7760e9' }
|
8
|
+
subject { DeepL::Requests::Glossary::Destroy.new(api, id) }
|
9
|
+
|
10
|
+
describe '#initialize' do
|
11
|
+
context 'When building a request' do
|
12
|
+
it 'should create a request object' do
|
13
|
+
expect(subject).to be_a(described_class)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
describe '#request' do
|
19
|
+
around do |example|
|
20
|
+
VCR.use_cassette('glossaries') { example.call }
|
21
|
+
end
|
22
|
+
|
23
|
+
context 'When performing a valid request' do
|
24
|
+
let(:new_glossary) do
|
25
|
+
DeepL::Requests::Glossary::Create.new(api, 'fixture', 'EN', 'ES', [%w[Hello Hola]]).request
|
26
|
+
end
|
27
|
+
subject { DeepL::Requests::Glossary::Destroy.new(api, new_glossary.id) }
|
28
|
+
it 'should return an empty object' do
|
29
|
+
response = subject.request
|
30
|
+
expect(response).to eq(new_glossary.id)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
context 'When deleting a non existing glossary with a valid id' do
|
35
|
+
let(:id) { '00000000-0000-0000-0000-000000000000' }
|
36
|
+
subject { DeepL::Requests::Glossary::Destroy.new(api, id) }
|
37
|
+
it 'should raise a not found error' do
|
38
|
+
expect { subject.request }.to raise_error(DeepL::Exceptions::NotFound)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
context 'When deleting a non existing glossary with an invalid id' do
|
43
|
+
let(:id) { 'invalid-uuid' }
|
44
|
+
subject { DeepL::Requests::Glossary::Destroy.new(api, id) }
|
45
|
+
it 'should raise a bad request error' do
|
46
|
+
expect { subject.request }.to raise_error(DeepL::Exceptions::BadRequest)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe DeepL::Requests::Glossary::Entries do
|
6
|
+
let(:api) { build_deepl_api }
|
7
|
+
let(:id) { '012a5576-b551-4d4c-b917-ce01bc8debb6' }
|
8
|
+
subject { DeepL::Requests::Glossary::Entries.new(api, id) }
|
9
|
+
|
10
|
+
describe '#initialize' do
|
11
|
+
context 'When building a request' do
|
12
|
+
it 'should create a request object' do
|
13
|
+
expect(subject).to be_a(described_class)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
describe '#request' do
|
19
|
+
around do |example|
|
20
|
+
VCR.use_cassette('glossaries') { example.call }
|
21
|
+
end
|
22
|
+
|
23
|
+
context 'When performing a valid request' do
|
24
|
+
it 'should return a list of entries in TSV format' do
|
25
|
+
entries = subject.request
|
26
|
+
expect(entries).to be_kind_of(Array)
|
27
|
+
expect(entries).to all(be_a(Array))
|
28
|
+
expect(entries.size).to eq(2)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
context 'When requesting entries with a valid but non existing glossary id' do
|
33
|
+
let(:id) { '00000000-0000-0000-0000-000000000000' }
|
34
|
+
subject { DeepL::Requests::Glossary::Entries.new(api, id) }
|
35
|
+
it 'should raise a not found error' do
|
36
|
+
expect { subject.request }.to raise_error(DeepL::Exceptions::NotFound)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
context 'When requesting entries with an invalid glossary id' do
|
41
|
+
let(:id) { 'invalid-uuid' }
|
42
|
+
subject { DeepL::Requests::Glossary::Entries.new(api, id) }
|
43
|
+
it 'should raise a bad request error' do
|
44
|
+
expect { subject.request }.to raise_error(DeepL::Exceptions::BadRequest)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe DeepL::Requests::Glossary::Find do
|
6
|
+
let(:api) { build_deepl_api }
|
7
|
+
let(:id) { 'd9ad833f-c818-430c-a3c9-47071384fa3e' }
|
8
|
+
let(:options) { {} }
|
9
|
+
subject { DeepL::Requests::Glossary::Find.new(api, id, options) }
|
10
|
+
|
11
|
+
describe '#initialize' do
|
12
|
+
context 'When building a request' do
|
13
|
+
it 'should create a request object' do
|
14
|
+
expect(subject).to be_a(described_class)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
describe '#request' do
|
20
|
+
around do |example|
|
21
|
+
VCR.use_cassette('glossaries') { example.call }
|
22
|
+
end
|
23
|
+
|
24
|
+
context 'When performing a valid request' do
|
25
|
+
it 'should return a glossary object' do
|
26
|
+
glossary = subject.request
|
27
|
+
expect(glossary).to be_a(DeepL::Resources::Glossary)
|
28
|
+
expect(glossary.id).to eq('d9ad833f-c818-430c-a3c9-47071384fa3e')
|
29
|
+
expect(glossary.name).to eq('Mi Glosario')
|
30
|
+
expect(glossary.ready).to be(true).or be(false)
|
31
|
+
expect(glossary.source_lang).to eq('en')
|
32
|
+
expect(glossary.target_lang).to eq('es')
|
33
|
+
expect { Time.iso8601(glossary.creation_time) }.not_to raise_error
|
34
|
+
expect(glossary.entry_count).to eq(2)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
context 'When requesting a non existing glossary with a valid id' do
|
39
|
+
let(:id) { 'a0af40e1-d81b-4aab-a95c-7cafbcfd1eb1' }
|
40
|
+
subject { DeepL::Requests::Glossary::Find.new(api, id, options) }
|
41
|
+
it 'should raise a not found error' do
|
42
|
+
expect { subject.request }.to raise_error(DeepL::Exceptions::NotFound)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
context 'When requesting a non existing glossary with an invalid id' do
|
47
|
+
let(:id) { 'invalid-uuid' }
|
48
|
+
subject { DeepL::Requests::Glossary::Find.new(api, id, options) }
|
49
|
+
it 'should raise a bad request error' do
|
50
|
+
expect { subject.request }.to raise_error(DeepL::Exceptions::BadRequest)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe DeepL::Requests::Glossary::LanguagePairs do
|
6
|
+
let(:api) { build_deepl_api }
|
7
|
+
let(:options) { {} }
|
8
|
+
subject { DeepL::Requests::Glossary::LanguagePairs.new(api, options) }
|
9
|
+
|
10
|
+
describe '#initialize' do
|
11
|
+
context 'When building a request' do
|
12
|
+
it 'should create a request object' do
|
13
|
+
expect(subject).to be_a(described_class)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
describe '#request' do
|
19
|
+
around do |example|
|
20
|
+
VCR.use_cassette('glossaries') { example.call }
|
21
|
+
end
|
22
|
+
|
23
|
+
context 'When requesting a list of all language pairs supported by glossaries' do
|
24
|
+
it 'should return a language pairs object' do
|
25
|
+
language_pairs = subject.request
|
26
|
+
expect(language_pairs).to be_an(Array)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe DeepL::Requests::Glossary::List do
|
6
|
+
let(:api) { build_deepl_api }
|
7
|
+
let(:options) { {} }
|
8
|
+
subject { DeepL::Requests::Glossary::List.new(api, options) }
|
9
|
+
|
10
|
+
describe '#initialize' do
|
11
|
+
context 'When building a request' do
|
12
|
+
it 'should create a request object' do
|
13
|
+
expect(subject).to be_a(described_class)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
describe '#request' do
|
19
|
+
around do |example|
|
20
|
+
VCR.use_cassette('glossaries') { example.call }
|
21
|
+
end
|
22
|
+
|
23
|
+
context 'When requesting a list of all glossaries' do
|
24
|
+
it 'should return a glossaries object' do
|
25
|
+
glossaries = subject.request
|
26
|
+
expect(glossaries).to be_an(Array)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
context 'When performing a bad request' do
|
31
|
+
context 'When using an invalid token' do
|
32
|
+
let(:api) do
|
33
|
+
api = build_deepl_api
|
34
|
+
api.configuration.auth_key = 'invalid'
|
35
|
+
api
|
36
|
+
end
|
37
|
+
|
38
|
+
it 'should raise an unauthorized error' do
|
39
|
+
expect { subject.request }.to raise_error(DeepL::Exceptions::AuthorizationFailed)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -90,6 +90,11 @@ describe DeepL::Requests::Translate do
|
|
90
90
|
expect(request.options[:split_sentences]).to eq('0')
|
91
91
|
end
|
92
92
|
|
93
|
+
it 'should leave `nonewlines` as is' do
|
94
|
+
request = DeepL::Requests::Translate.new(api, nil, nil, nil, split_sentences: 'nonewlines')
|
95
|
+
expect(request.options[:split_sentences]).to eq('nonewlines')
|
96
|
+
end
|
97
|
+
|
93
98
|
it 'should leave `1` as is' do
|
94
99
|
request = DeepL::Requests::Translate.new(api, nil, nil, nil, split_sentences: '1')
|
95
100
|
expect(request.options[:split_sentences]).to eq('1')
|
@@ -117,6 +122,52 @@ describe DeepL::Requests::Translate do
|
|
117
122
|
expect(request.options[:preserve_formatting]).to eq('1')
|
118
123
|
end
|
119
124
|
end
|
125
|
+
|
126
|
+
context 'when using `outline_detection` options' do
|
127
|
+
it 'should convert `true` to `1`' do
|
128
|
+
request = DeepL::Requests::Translate.new(api, nil, nil, nil, outline_detection: true)
|
129
|
+
expect(request.options[:outline_detection]).to eq('1')
|
130
|
+
end
|
131
|
+
|
132
|
+
it 'should convert `false` to `0`' do
|
133
|
+
request = DeepL::Requests::Translate.new(api, nil, nil, nil, outline_detection: false)
|
134
|
+
expect(request.options[:outline_detection]).to eq('0')
|
135
|
+
end
|
136
|
+
|
137
|
+
it 'should leave `0` as is' do
|
138
|
+
request = DeepL::Requests::Translate.new(api, nil, nil, nil, outline_detection: '0')
|
139
|
+
expect(request.options[:outline_detection]).to eq('0')
|
140
|
+
end
|
141
|
+
|
142
|
+
it 'should leave `1` as is' do
|
143
|
+
request = DeepL::Requests::Translate.new(api, nil, nil, nil, outline_detection: '1')
|
144
|
+
expect(request.options[:outline_detection]).to eq('1')
|
145
|
+
end
|
146
|
+
end
|
147
|
+
|
148
|
+
context 'when using `glossary_id` options' do
|
149
|
+
it 'should work with a nil values' do
|
150
|
+
request = DeepL::Requests::Translate.new(api, nil, nil, nil, glossary_id: nil)
|
151
|
+
expect(request.options[:glossary_id]).to eq(nil)
|
152
|
+
end
|
153
|
+
|
154
|
+
it 'should work with a string' do
|
155
|
+
request = DeepL::Requests::Translate.new(api, nil, nil, nil, glossary_id: 'sample_id')
|
156
|
+
expect(request.options[:glossary_id]).to eq('sample_id')
|
157
|
+
end
|
158
|
+
end
|
159
|
+
|
160
|
+
context 'when using `formality` options' do
|
161
|
+
it 'should work with a nil values' do
|
162
|
+
request = DeepL::Requests::Translate.new(api, nil, nil, nil, formality: nil)
|
163
|
+
expect(request.options[:formality]).to eq(nil)
|
164
|
+
end
|
165
|
+
|
166
|
+
it 'should work with a string' do
|
167
|
+
request = DeepL::Requests::Translate.new(api, nil, nil, nil, formality: 'more')
|
168
|
+
expect(request.options[:formality]).to eq('more')
|
169
|
+
end
|
170
|
+
end
|
120
171
|
end
|
121
172
|
|
122
173
|
describe '#request' do
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe DeepL::Resources::Glossary do
|
6
|
+
subject do
|
7
|
+
described_class.new({
|
8
|
+
'glossary_id' => 'def3a26b-3e84-45b3-84ae-0c0aaf3525f7',
|
9
|
+
'name' => 'Mein Glossar',
|
10
|
+
'ready' => true,
|
11
|
+
'source_lang' => 'EN',
|
12
|
+
'target_lang' => 'DE',
|
13
|
+
'creation_time' => '2021-08-03T14:16:18.329Z',
|
14
|
+
'entry_count' => 1
|
15
|
+
}, nil, nil)
|
16
|
+
end
|
17
|
+
|
18
|
+
describe '#initialize' do
|
19
|
+
context 'When building a basic object' do
|
20
|
+
it 'should create a resource' do
|
21
|
+
expect(subject).to be_a(described_class)
|
22
|
+
end
|
23
|
+
|
24
|
+
it 'should assign the attributes' do
|
25
|
+
expect(subject.id).to eq('def3a26b-3e84-45b3-84ae-0c0aaf3525f7')
|
26
|
+
expect(subject.name).to eq('Mein Glossar')
|
27
|
+
expect(subject.ready).to eq(true)
|
28
|
+
expect(subject.source_lang).to eq('EN')
|
29
|
+
expect(subject.target_lang).to eq('DE')
|
30
|
+
expect(subject.creation_time).to eq('2021-08-03T14:16:18.329Z')
|
31
|
+
expect(subject.entry_count).to eq(1)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe DeepL::Resources::LanguagePair do
|
6
|
+
subject { described_class.new('en', 'de', nil, nil) }
|
7
|
+
|
8
|
+
describe '#initialize' do
|
9
|
+
context 'When building a basic object' do
|
10
|
+
it 'should create a resource' do
|
11
|
+
expect(subject).to be_a(described_class)
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'should assign the attributes' do
|
15
|
+
expect(subject.source_lang).to eq('en')
|
16
|
+
expect(subject.target_lang).to eq('de')
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -3,7 +3,7 @@
|
|
3
3
|
require 'spec_helper'
|
4
4
|
|
5
5
|
describe DeepL::Resources::Language do
|
6
|
-
subject { described_class.new('EN', 'English', nil, nil) }
|
6
|
+
subject { described_class.new('EN', 'English', nil, nil, nil) }
|
7
7
|
|
8
8
|
describe '#initialize' do
|
9
9
|
context 'When building a basic object' do
|
@@ -15,6 +15,28 @@ describe DeepL::Resources::Language do
|
|
15
15
|
expect(subject.code).to eq('EN')
|
16
16
|
expect(subject.name).to eq('English')
|
17
17
|
end
|
18
|
+
|
19
|
+
it 'should not define the supports formality method' do
|
20
|
+
expect { subject.supports_formality? }.to raise_error(DeepL::Exceptions::NotSupported)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
context 'when building a target language object' do
|
25
|
+
subject { described_class.new('EN', 'English', true, nil, nil) }
|
26
|
+
|
27
|
+
it 'should create a resource' do
|
28
|
+
expect(subject).to be_a(described_class)
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'should assign the attributes' do
|
32
|
+
expect(subject.code).to eq('EN')
|
33
|
+
expect(subject.name).to eq('English')
|
34
|
+
end
|
35
|
+
|
36
|
+
it 'should include the supports formality method' do
|
37
|
+
expect { subject.supports_formality? }.not_to raise_error
|
38
|
+
expect(subject.supports_formality?).to be_truthy
|
39
|
+
end
|
18
40
|
end
|
19
41
|
end
|
20
42
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -20,8 +20,8 @@ VCR.configure do |config|
|
|
20
20
|
config.hook_into :webmock
|
21
21
|
config.filter_sensitive_data('VALID_TOKEN') { ENV['DEEPL_AUTH_KEY'] }
|
22
22
|
config.default_cassette_options = {
|
23
|
-
record: :new_episodes,
|
24
|
-
match_requests_on: %i[method uri body]
|
23
|
+
# record: :new_episodes,
|
24
|
+
match_requests_on: %i[method uri body headers]
|
25
25
|
}
|
26
26
|
end
|
27
27
|
|
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.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Herzog
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-06-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: juwelier
|
@@ -62,28 +62,49 @@ files:
|
|
62
62
|
- lib/deepl/exceptions/bad_request.rb
|
63
63
|
- lib/deepl/exceptions/error.rb
|
64
64
|
- lib/deepl/exceptions/limit_exceeded.rb
|
65
|
+
- lib/deepl/exceptions/not_found.rb
|
66
|
+
- lib/deepl/exceptions/not_supported.rb
|
65
67
|
- lib/deepl/exceptions/quota_exceeded.rb
|
66
68
|
- lib/deepl/exceptions/request_error.rb
|
69
|
+
- lib/deepl/glossary_api.rb
|
67
70
|
- lib/deepl/requests/base.rb
|
71
|
+
- lib/deepl/requests/glossary/create.rb
|
72
|
+
- lib/deepl/requests/glossary/destroy.rb
|
73
|
+
- lib/deepl/requests/glossary/entries.rb
|
74
|
+
- lib/deepl/requests/glossary/find.rb
|
75
|
+
- lib/deepl/requests/glossary/language_pairs.rb
|
76
|
+
- lib/deepl/requests/glossary/list.rb
|
68
77
|
- lib/deepl/requests/languages.rb
|
69
78
|
- lib/deepl/requests/translate.rb
|
70
79
|
- lib/deepl/requests/usage.rb
|
71
80
|
- lib/deepl/resources/base.rb
|
81
|
+
- lib/deepl/resources/glossary.rb
|
72
82
|
- lib/deepl/resources/language.rb
|
83
|
+
- lib/deepl/resources/language_pair.rb
|
73
84
|
- lib/deepl/resources/text.rb
|
74
85
|
- lib/deepl/resources/usage.rb
|
75
86
|
- spec/api/api_spec.rb
|
76
87
|
- spec/api/configuration_spec.rb
|
77
88
|
- spec/api/deepl_spec.rb
|
89
|
+
- spec/fixtures/vcr_cassettes/deepl_glossaries.yml
|
78
90
|
- spec/fixtures/vcr_cassettes/deepl_languages.yml
|
79
91
|
- spec/fixtures/vcr_cassettes/deepl_translate.yml
|
80
92
|
- spec/fixtures/vcr_cassettes/deepl_usage.yml
|
93
|
+
- spec/fixtures/vcr_cassettes/glossaries.yml
|
81
94
|
- spec/fixtures/vcr_cassettes/languages.yml
|
82
95
|
- spec/fixtures/vcr_cassettes/translate_texts.yml
|
83
96
|
- spec/fixtures/vcr_cassettes/usage.yml
|
97
|
+
- spec/requests/glossary/create_spec.rb
|
98
|
+
- spec/requests/glossary/destroy_spec.rb
|
99
|
+
- spec/requests/glossary/entries_spec.rb
|
100
|
+
- spec/requests/glossary/find_spec.rb
|
101
|
+
- spec/requests/glossary/language_pairs_spec.rb
|
102
|
+
- spec/requests/glossary/list_spec.rb
|
84
103
|
- spec/requests/languages_spec.rb
|
85
104
|
- spec/requests/translate_spec.rb
|
86
105
|
- spec/requests/usage_spec.rb
|
106
|
+
- spec/resources/glossary_spec.rb
|
107
|
+
- spec/resources/language_pair_spec.rb
|
87
108
|
- spec/resources/language_spec.rb
|
88
109
|
- spec/resources/text_spec.rb
|
89
110
|
- spec/resources/usage_spec.rb
|
@@ -107,7 +128,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
107
128
|
- !ruby/object:Gem::Version
|
108
129
|
version: '0'
|
109
130
|
requirements: []
|
110
|
-
rubygems_version: 3.
|
131
|
+
rubygems_version: 3.3.7
|
111
132
|
signing_key:
|
112
133
|
specification_version: 4
|
113
134
|
summary: A simple ruby wrapper for the DeepL API
|