deepl-rb 3.3.0 → 3.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.
Files changed (97) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +21 -2
  3. data/README.md +72 -0
  4. metadata +2 -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 -172
  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 -54
  13. data/SECURITY.md +0 -58
  14. data/VERSION +0 -1
  15. data/deepl-rb.gemspec +0 -133
  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 -196
  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 -74
  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 -55
  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 -147
  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 -460
  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_rephrase.yml +0 -87
  73. data/spec/fixtures/vcr_cassettes/deepl_translate.yml +0 -358
  74. data/spec/fixtures/vcr_cassettes/deepl_usage.yml +0 -129
  75. data/spec/fixtures/vcr_cassettes/glossaries.yml +0 -1702
  76. data/spec/fixtures/vcr_cassettes/languages.yml +0 -229
  77. data/spec/fixtures/vcr_cassettes/rephrase_texts.yml +0 -401
  78. data/spec/fixtures/vcr_cassettes/translate_texts.yml +0 -10415
  79. data/spec/fixtures/vcr_cassettes/usage.yml +0 -171
  80. data/spec/integration_tests/document_api_spec.rb +0 -177
  81. data/spec/integration_tests/integration_test_utils.rb +0 -170
  82. data/spec/requests/glossary/create_spec.rb +0 -65
  83. data/spec/requests/glossary/destroy_spec.rb +0 -66
  84. data/spec/requests/glossary/entries_spec.rb +0 -62
  85. data/spec/requests/glossary/find_spec.rb +0 -68
  86. data/spec/requests/glossary/language_pairs_spec.rb +0 -40
  87. data/spec/requests/glossary/list_spec.rb +0 -54
  88. data/spec/requests/languages_spec.rb +0 -68
  89. data/spec/requests/rephrase_spec.rb +0 -172
  90. data/spec/requests/translate_spec.rb +0 -422
  91. data/spec/requests/usage_spec.rb +0 -43
  92. data/spec/resources/glossary_spec.rb +0 -38
  93. data/spec/resources/language_pair_spec.rb +0 -23
  94. data/spec/resources/language_spec.rb +0 -45
  95. data/spec/resources/text_spec.rb +0 -23
  96. data/spec/resources/usage_spec.rb +0 -35
  97. 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