Fix Encoding::CompatibilityError: incompatible encoding regexp match … #12
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi @aegorov,
This is a fix for error Encoding::CompatibilityError: incompatible encoding regexp match (UTF-8 regexp with ASCII-8BIT string).
I encountered it when I wanted to translate text that includes special characters.
translator.translate 'Car', from: 'ru'
=>
Encoding::CompatibilityError: incompatible encoding regexp match (UTF-8 regexp with ASCII-8BIT string) from ../ruby-2.4.0/gems/httparty-0.15.3/lib/httparty/parser.rb:120:ingsub
According to @ericgj from jnunemaker/httparty#75 I've changed default httparty's parser, that fixed this problem.
In order to test request with vcr gem, I've created a new spec file called translator_vcr_spec.rb.
In my test, request requires real api_key, so once you'll get it, create a file spec/secrets.yml, and put it there:
yandex_translator_api_key: your_api_key
This pull request also includes vcr's cassets files, they are inside spec/vcr folder.