deepl-rb 3.6.1 → 3.8.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 (89) hide show
  1. checksums.yaml +4 -4
  2. data/.gitlab-ci.yml +8 -1
  3. data/CHANGELOG.md +35 -1
  4. data/Gemfile +0 -2
  5. data/README.md +165 -34
  6. data/Rakefile +2 -0
  7. data/VERSION +1 -1
  8. data/deepl-rb.gemspec +52 -20
  9. data/lib/deepl/requests/base.rb +16 -0
  10. data/lib/deepl/requests/document/upload.rb +6 -5
  11. data/lib/deepl/requests/rephrase.rb +3 -2
  12. data/lib/deepl/requests/style_rule/create.rb +46 -0
  13. data/lib/deepl/requests/style_rule/create_custom_instruction.rb +45 -0
  14. data/lib/deepl/requests/style_rule/destroy.rb +39 -0
  15. data/lib/deepl/requests/style_rule/destroy_custom_instruction.rb +40 -0
  16. data/lib/deepl/requests/style_rule/find.rb +40 -0
  17. data/lib/deepl/requests/style_rule/find_custom_instruction.rb +41 -0
  18. data/lib/deepl/requests/style_rule/update.rb +42 -0
  19. data/lib/deepl/requests/style_rule/update_configured_rules.rb +41 -0
  20. data/lib/deepl/requests/style_rule/update_custom_instruction.rb +47 -0
  21. data/lib/deepl/requests/translate.rb +17 -4
  22. data/lib/deepl/requests/translation_memory/list.rb +58 -0
  23. data/lib/deepl/resources/style_rule.rb +2 -1
  24. data/lib/deepl/resources/translation_memory.rb +25 -0
  25. data/lib/deepl/style_rule_api.rb +44 -0
  26. data/lib/deepl/translation_memory_api.rb +17 -0
  27. data/lib/deepl.rb +75 -55
  28. data/lib/version.rb +1 -1
  29. data/spec/api/deepl_spec.rb +134 -332
  30. data/spec/integration_tests/document_api_spec.rb +4 -18
  31. data/spec/integration_tests/document_error_paths_spec.rb +33 -0
  32. data/spec/integration_tests/glossary_api_spec.rb +114 -0
  33. data/spec/integration_tests/glossary_error_paths_spec.rb +107 -0
  34. data/spec/integration_tests/languages_api_spec.rb +54 -0
  35. data/spec/integration_tests/languages_error_paths_spec.rb +25 -0
  36. data/spec/integration_tests/rephrase_api_spec.rb +90 -0
  37. data/spec/integration_tests/rephrase_error_paths_spec.rb +53 -0
  38. data/spec/integration_tests/smoke_test_spec.rb +24 -0
  39. data/spec/integration_tests/style_rule_api_spec.rb +55 -17
  40. data/spec/integration_tests/style_rule_error_paths_spec.rb +45 -0
  41. data/spec/integration_tests/translate_api_spec.rb +98 -0
  42. data/spec/integration_tests/translate_error_paths_spec.rb +48 -0
  43. data/spec/integration_tests/translation_memory_api_spec.rb +54 -0
  44. data/spec/integration_tests/translation_memory_error_paths_spec.rb +19 -0
  45. data/spec/integration_tests/usage_api_spec.rb +29 -0
  46. data/spec/integration_tests/usage_error_paths_spec.rb +18 -0
  47. data/spec/requests/glossary/create_spec.rb +0 -21
  48. data/spec/requests/glossary/destroy_spec.rb +0 -39
  49. data/spec/requests/glossary/entries_spec.rb +0 -35
  50. data/spec/requests/glossary/find_spec.rb +0 -40
  51. data/spec/requests/glossary/language_pairs_spec.rb +0 -13
  52. data/spec/requests/glossary/list_spec.rb +0 -27
  53. data/spec/requests/languages_spec.rb +0 -41
  54. data/spec/requests/rephrase_spec.rb +13 -139
  55. data/spec/requests/style_rule/create_custom_instruction_spec.rb +30 -0
  56. data/spec/requests/style_rule/create_spec.rb +29 -0
  57. data/spec/requests/style_rule/destroy_custom_instruction_spec.rb +28 -0
  58. data/spec/requests/style_rule/destroy_spec.rb +27 -0
  59. data/spec/requests/style_rule/find_custom_instruction_spec.rb +29 -0
  60. data/spec/requests/style_rule/find_spec.rb +28 -0
  61. data/spec/requests/style_rule/list_spec.rb +27 -0
  62. data/spec/requests/style_rule/update_configured_rules_spec.rb +31 -0
  63. data/spec/requests/style_rule/update_custom_instruction_spec.rb +32 -0
  64. data/spec/requests/style_rule/update_spec.rb +29 -0
  65. data/spec/requests/translate_spec.rb +8 -218
  66. data/spec/requests/translation_memory/list_spec.rb +27 -0
  67. data/spec/requests/usage_spec.rb +0 -16
  68. data/spec/resources/custom_instruction_spec.rb +32 -0
  69. data/spec/resources/style_rule_spec.rb +68 -0
  70. data/spec/resources/translation_memory_spec.rb +35 -0
  71. data/spec/spec_helper.rb +15 -45
  72. data/spec/support/live_mock_server.rb +12 -0
  73. data/spec/support/managed_glossary.rb +17 -0
  74. data/spec/support/managed_style_rule.rb +17 -0
  75. data/spec/support/managed_translation_memory.rb +7 -0
  76. metadata +48 -19
  77. data/spec/fixtures/vcr_cassettes/deepl_document.yml +0 -95
  78. data/spec/fixtures/vcr_cassettes/deepl_document_download.yml +0 -1214
  79. data/spec/fixtures/vcr_cassettes/deepl_glossaries.yml +0 -1163
  80. data/spec/fixtures/vcr_cassettes/deepl_languages.yml +0 -54
  81. data/spec/fixtures/vcr_cassettes/deepl_rephrase.yml +0 -87
  82. data/spec/fixtures/vcr_cassettes/deepl_translate.yml +0 -358
  83. data/spec/fixtures/vcr_cassettes/deepl_usage.yml +0 -129
  84. data/spec/fixtures/vcr_cassettes/glossaries.yml +0 -1702
  85. data/spec/fixtures/vcr_cassettes/languages.yml +0 -229
  86. data/spec/fixtures/vcr_cassettes/rephrase_texts.yml +0 -401
  87. data/spec/fixtures/vcr_cassettes/style_rules.yml +0 -92
  88. data/spec/fixtures/vcr_cassettes/translate_texts.yml +0 -10630
  89. data/spec/fixtures/vcr_cassettes/usage.yml +0 -171
@@ -1,92 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: get
5
- uri: https://api.deepl.com/v3/style_rules
6
- body:
7
- encoding: US-ASCII
8
- string: ''
9
- headers:
10
- Authorization:
11
- - DeepL-Auth-Key VALID_TOKEN
12
- User-Agent:
13
- - deepl-ruby/3.0.2 (darwin24) ruby/3.2.2
14
- Content-Type:
15
- - application/json
16
- Accept-Encoding:
17
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
- Accept:
19
- - "*/*"
20
- response:
21
- status:
22
- code: 200
23
- message: OK
24
- headers:
25
- Content-Type:
26
- - application/json; charset=utf-8
27
- Date:
28
- - Tue, 11 Nov 2025 21:41:34 GMT
29
- X-Trace-Id:
30
- - 91581bb49e774db3a0521e222a037333
31
- Access-Control-Expose-Headers:
32
- - Server-Timing, X-Trace-ID
33
- Server-Timing:
34
- - l7_lb_tls;dur=135, l7_lb_idle;dur=0, l7_lb_receive;dur=0, l7_lb_total;dur=880
35
- Strict-Transport-Security:
36
- - max-age=63072000; includeSubDomains; preload
37
- Transfer-Encoding:
38
- - chunked
39
- Vary:
40
- - Accept-Encoding
41
- body:
42
- encoding: ASCII-8BIT
43
- string: '{"style_rules":[{"style_id":"a4dfe768-8f34-41e3-8b22-9b832d39294c","name":"Korean
44
- style rule","creation_time":"2025-11-04T16:59:14.940077Z","updated_time":"2025-11-04T16:59:14.940077Z","language":"ko","version":1},{"style_id":"d9c60f20-3e6a-4d62-bc44-3ce89b981ebe","name":"ZH
45
- Style rule","creation_time":"2025-11-04T03:47:14.03409Z","updated_time":"2025-11-04T03:47:28.75149Z","language":"zh","version":3},{"style_id":"8e694a65-da89-4d30-911d-dcacbe7c962b","name":"Japanese
46
- style rule","creation_time":"2025-11-04T03:46:45.90662Z","updated_time":"2025-11-04T03:46:49.288723Z","language":"ja","version":2},{"style_id":"5874b9c5-e353-4576-886d-0f6af62c9f02","name":"Talk
47
- like a pirate","creation_time":"2025-10-31T12:44:26.679757Z","updated_time":"2025-10-31T12:46:20.102929Z","language":"en","version":3},{"style_id":"4f987ba6-80d1-41a3-a4aa-037c4f2a6fce","name":"My
48
- style rule","creation_time":"2025-08-28T19:42:37.841254Z","updated_time":"2025-10-31T12:39:07.919025Z","language":"en","version":8},{"style_id":"1df39d69-d278-4353-b206-9f0d347146d0","name":"Style
49
- Rule with Custom Instruction","creation_time":"2025-08-20T17:46:58.90728Z","updated_time":"2025-10-22T20:44:46.532386Z","language":"en","version":8}]}'
50
- recorded_at: Tue, 11 Nov 2025 21:41:35 GMT
51
- - request:
52
- method: get
53
- uri: https://api.deepl.com/v3/style_rules
54
- body:
55
- encoding: US-ASCII
56
- string: ''
57
- headers:
58
- Authorization:
59
- - DeepL-Auth-Key invalid
60
- User-Agent:
61
- - deepl-ruby/3.0.2 (darwin24) ruby/3.2.2
62
- Content-Type:
63
- - application/json
64
- Accept-Encoding:
65
- - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
66
- Accept:
67
- - "*/*"
68
- response:
69
- status:
70
- code: 403
71
- message: Forbidden
72
- headers:
73
- Content-Type:
74
- - application/json; charset=utf-8
75
- Date:
76
- - Tue, 11 Nov 2025 21:41:35 GMT
77
- X-Trace-Id:
78
- - e170bd92638c4c6db4e8c4d89fd4316d
79
- Access-Control-Expose-Headers:
80
- - Server-Timing, X-Trace-ID
81
- Server-Timing:
82
- - l7_lb_tls;dur=135, l7_lb_idle;dur=0, l7_lb_receive;dur=0, l7_lb_total;dur=136
83
- Strict-Transport-Security:
84
- - max-age=63072000; includeSubDomains; preload
85
- Transfer-Encoding:
86
- - chunked
87
- body:
88
- encoding: UTF-8
89
- string: '{"message":"Authentication failed, provided API key is invalid. You
90
- can find more info in our docs: https://developers.deepl.com/docs/getting-started/auth"}'
91
- recorded_at: Tue, 11 Nov 2025 21:41:35 GMT
92
- recorded_with: VCR 6.3.1