deepl-rb 3.2.0 → 3.4.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.
Files changed (96) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +46 -27
  3. data/README.md +71 -0
  4. metadata +3 -95
  5. data/.circleci/config.yml +0 -27
  6. data/.github/workflows/add_issues_to_kanban.yml +0 -16
  7. data/.gitlab-ci.yml +0 -135
  8. data/.rubocop.yml +0 -51
  9. data/CODE_OF_CONDUCT.md +0 -132
  10. data/CONTRIBUTING.md +0 -37
  11. data/Gemfile +0 -24
  12. data/Rakefile +0 -53
  13. data/SECURITY.md +0 -58
  14. data/VERSION +0 -1
  15. data/deepl-rb.gemspec +0 -132
  16. data/lib/deepl/api.rb +0 -22
  17. data/lib/deepl/configuration.rb +0 -59
  18. data/lib/deepl/constants/base_constant.rb +0 -18
  19. data/lib/deepl/constants/formality.rb +0 -16
  20. data/lib/deepl/constants/model_type.rb +0 -14
  21. data/lib/deepl/constants/split_sentences.rb +0 -14
  22. data/lib/deepl/constants/tag_handling.rb +0 -13
  23. data/lib/deepl/constants/tone.rb +0 -20
  24. data/lib/deepl/constants/writing_style.rb +0 -20
  25. data/lib/deepl/document_api.rb +0 -121
  26. data/lib/deepl/exceptions/authorization_failed.rb +0 -14
  27. data/lib/deepl/exceptions/bad_request.rb +0 -16
  28. data/lib/deepl/exceptions/document_translation_error.rb +0 -15
  29. data/lib/deepl/exceptions/error.rb +0 -14
  30. data/lib/deepl/exceptions/limit_exceeded.rb +0 -18
  31. data/lib/deepl/exceptions/not_found.rb +0 -16
  32. data/lib/deepl/exceptions/not_supported.rb +0 -14
  33. data/lib/deepl/exceptions/quota_exceeded.rb +0 -14
  34. data/lib/deepl/exceptions/request_entity_too_large.rb +0 -15
  35. data/lib/deepl/exceptions/request_error.rb +0 -21
  36. data/lib/deepl/exceptions/server_error.rb +0 -18
  37. data/lib/deepl/glossary_api.rb +0 -38
  38. data/lib/deepl/requests/base.rb +0 -163
  39. data/lib/deepl/requests/document/download.rb +0 -44
  40. data/lib/deepl/requests/document/get_status.rb +0 -44
  41. data/lib/deepl/requests/document/upload.rb +0 -64
  42. data/lib/deepl/requests/glossary/create.rb +0 -59
  43. data/lib/deepl/requests/glossary/destroy.rb +0 -37
  44. data/lib/deepl/requests/glossary/entries.rb +0 -37
  45. data/lib/deepl/requests/glossary/find.rb +0 -38
  46. data/lib/deepl/requests/glossary/language_pairs.rb +0 -38
  47. data/lib/deepl/requests/glossary/list.rb +0 -37
  48. data/lib/deepl/requests/languages.rb +0 -37
  49. data/lib/deepl/requests/rephrase.rb +0 -54
  50. data/lib/deepl/requests/translate.rb +0 -82
  51. data/lib/deepl/requests/usage.rb +0 -33
  52. data/lib/deepl/resources/base.rb +0 -17
  53. data/lib/deepl/resources/document_handle.rb +0 -57
  54. data/lib/deepl/resources/document_translation_status.rb +0 -54
  55. data/lib/deepl/resources/glossary.rb +0 -28
  56. data/lib/deepl/resources/language.rb +0 -30
  57. data/lib/deepl/resources/language_pair.rb +0 -23
  58. data/lib/deepl/resources/text.rb +0 -24
  59. data/lib/deepl/resources/usage.rb +0 -27
  60. data/lib/deepl/utils/backoff_timer.rb +0 -46
  61. data/lib/deepl/utils/exception_builder.rb +0 -34
  62. data/lib/deepl.rb +0 -142
  63. data/lib/http_client_options.rb +0 -22
  64. data/spec/api/api_spec.rb +0 -20
  65. data/spec/api/configuration_spec.rb +0 -122
  66. data/spec/api/deepl_spec.rb +0 -431
  67. data/spec/constants/constants_spec.rb +0 -158
  68. data/spec/fixtures/vcr_cassettes/deepl_document.yml +0 -95
  69. data/spec/fixtures/vcr_cassettes/deepl_document_download.yml +0 -1214
  70. data/spec/fixtures/vcr_cassettes/deepl_glossaries.yml +0 -1163
  71. data/spec/fixtures/vcr_cassettes/deepl_languages.yml +0 -54
  72. data/spec/fixtures/vcr_cassettes/deepl_translate.yml +0 -358
  73. data/spec/fixtures/vcr_cassettes/deepl_usage.yml +0 -129
  74. data/spec/fixtures/vcr_cassettes/glossaries.yml +0 -1702
  75. data/spec/fixtures/vcr_cassettes/languages.yml +0 -229
  76. data/spec/fixtures/vcr_cassettes/rephrase_texts.yml +0 -401
  77. data/spec/fixtures/vcr_cassettes/translate_texts.yml +0 -10372
  78. data/spec/fixtures/vcr_cassettes/usage.yml +0 -171
  79. data/spec/integration_tests/document_api_spec.rb +0 -155
  80. data/spec/integration_tests/integration_test_utils.rb +0 -170
  81. data/spec/requests/glossary/create_spec.rb +0 -65
  82. data/spec/requests/glossary/destroy_spec.rb +0 -66
  83. data/spec/requests/glossary/entries_spec.rb +0 -62
  84. data/spec/requests/glossary/find_spec.rb +0 -68
  85. data/spec/requests/glossary/language_pairs_spec.rb +0 -40
  86. data/spec/requests/glossary/list_spec.rb +0 -54
  87. data/spec/requests/languages_spec.rb +0 -68
  88. data/spec/requests/rephrase_spec.rb +0 -172
  89. data/spec/requests/translate_spec.rb +0 -410
  90. data/spec/requests/usage_spec.rb +0 -43
  91. data/spec/resources/glossary_spec.rb +0 -38
  92. data/spec/resources/language_pair_spec.rb +0 -23
  93. data/spec/resources/language_spec.rb +0 -45
  94. data/spec/resources/text_spec.rb +0 -23
  95. data/spec/resources/usage_spec.rb +0 -35
  96. data/spec/spec_helper.rb +0 -92
data/spec/spec_helper.rb DELETED
@@ -1,92 +0,0 @@
1
- # Copyright 2018 Daniel Herzog
2
- # Use of this source code is governed by an MIT
3
- # license that can be found in the LICENSE.md file.
4
- # frozen_string_literal: true
5
-
6
- # Coverage
7
- require 'simplecov'
8
- SimpleCov.start
9
-
10
- require 'simplecov-cobertura'
11
- SimpleCov.formatter = SimpleCov::Formatter::CoberturaFormatter
12
-
13
- # Load lib
14
- require_relative '../lib/deepl'
15
- require_relative 'integration_tests/integration_test_utils'
16
-
17
- # Lib config
18
- ENV['DEEPL_AUTH_KEY'] ||= 'TEST-TOKEN'
19
-
20
- # General helpers
21
- def build_deepl_api
22
- DeepL::API.new(DeepL::Configuration.new)
23
- end
24
-
25
- uri_ignoring_deepl_api_subdomain = lambda do |request1, request2|
26
- deepl_api_regexp = %r{https?://api.*\.deepl\.com/}
27
- uri1 = request1.uri
28
- uri2 = request2.uri
29
- uri1_match = uri1.match(deepl_api_regexp)
30
- uri2_match = uri2.match(deepl_api_regexp)
31
- if uri1_match && uri2_match
32
- uri1_without_deepl_domain = uri1.gsub(uri1_match[0], '')
33
- uri2_without_deepl_domain = uri2.gsub(uri2_match[0], '')
34
- uri1_without_deepl_domain == uri2_without_deepl_domain
35
- else
36
- uri1 == uri2
37
- end
38
- end
39
-
40
- headers_ignoring_user_agent = lambda do |request1, request2|
41
- user_agent_key = 'User-Agent'
42
- # Pass by reference, so we need to use a copy of the headers
43
- headers1 = request1.headers.dup
44
- headers2 = request2.headers.dup
45
- headers1_has_user_agent = headers1.key?(user_agent_key)
46
- headers2_has_user_agent = headers2.key?(user_agent_key)
47
- return false if headers1_has_user_agent != headers2_has_user_agent
48
-
49
- headers1.delete(user_agent_key)
50
- headers2.delete(user_agent_key)
51
- headers1 == headers2
52
- end
53
-
54
- # VCR tapes configuration
55
- require 'vcr'
56
- VCR.configure do |config|
57
- config.cassette_library_dir = 'spec/fixtures/vcr_cassettes'
58
- config.hook_into :webmock
59
- config.filter_sensitive_data('VALID_TOKEN') { ENV.fetch('DEEPL_AUTH_KEY', nil) }
60
-
61
- # to record new or missing VCR cassettes, call rspec like this:
62
- # $ VCR_RECORD_MODE=new_episodes bundle exec rspec
63
-
64
- record_mode = ENV['VCR_RECORD_MODE'] ? ENV['VCR_RECORD_MODE'].to_sym : :none
65
- config.default_cassette_options = {
66
- record: record_mode,
67
- match_requests_on: [:method, uri_ignoring_deepl_api_subdomain, :body,
68
- headers_ignoring_user_agent]
69
- }
70
- end
71
-
72
- # Test helpers
73
-
74
- def replace_env_preserving_deepl_vars
75
- env_auth_key = ENV.fetch('DEEPL_AUTH_KEY', false)
76
- env_server_url = ENV.fetch('DEEPL_SERVER_URL', false)
77
- env_mock_server_port = ENV.fetch('DEEPL_MOCK_SERVER_PORT', false)
78
- tmp_env = ENV.to_hash
79
- ENV.clear
80
- ENV['DEEPL_AUTH_KEY'] = (env_auth_key || 'VALID')
81
- ENV['DEEPL_SERVER_URL'] = (env_server_url || '')
82
- ENV['DEEPL_MOCK_SERVER_PORT'] = (env_mock_server_port || '')
83
- tmp_env
84
- end
85
-
86
- def replace_env_preserving_deepl_vars_except_mock_server
87
- env_auth_key = ENV.fetch('DEEPL_AUTH_KEY', false)
88
- tmp_env = ENV.to_hash
89
- ENV.clear
90
- ENV['DEEPL_AUTH_KEY'] = (env_auth_key || 'VALID')
91
- tmp_env
92
- end