translate_self 0.4.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fd77e2863ae0072d53dfee777def3764849c33bdeeab16a67e1065f5dce879f7
4
- data.tar.gz: 239bdf82ef13b4b862eae068b36a97ce0c11abd4d4d8dacb0bd5e6147fa3acd8
3
+ metadata.gz: 423e2804c606db8a6f62a91f8e0458f9d59ab2dde91db01a21e6ed6af6cec07b
4
+ data.tar.gz: b351c1eb545ae152158ae9903e1f367cae4a87196f35a303f05817306c65b295
5
5
  SHA512:
6
- metadata.gz: b66c9bad32762a845c6aa417f672b98a6c11a17cc88d09d6cd404aefac2d7500baab438bbbeb1e99f743b1dfa3d0d173ae89cc69084f521268de793facab2304
7
- data.tar.gz: 3d70dd2c9a5394d2f08a436a79b22ee6e257ac6646d93cb570089537b80c6308957816eeff7d64794fe3dadda8f6459f61a81a903b942ca0f6c0d0650bcae8be
6
+ metadata.gz: dbff90c881adbc6c32996efb968eb9988121529fcdf60931575f1a4f6088e4d474c07244985d6c6ba108b1a1105e0200c5fa11f79040cbbed5cbe4c6c0b10261
7
+ data.tar.gz: cc7500f06cd47d90142fb7ff2483890d3d51c2f70c1c8ad8f8e0cd1ff72fbd85fc7e1d60ed231a13cc00b9289b8c9630a27dd6d37d913ba0c393e10209f1060a
data/.gitignore CHANGED
@@ -7,6 +7,7 @@
7
7
  /spec/reports/
8
8
  /tmp/
9
9
  /.idea/
10
+ .byebug_history
10
11
 
11
12
  # rspec failure tracking
12
13
  .rspec_status
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- translate_self (0.4.0)
4
+ translate_self (0.5.0)
5
5
  deepl-rb
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -77,9 +77,20 @@ finn.translate
77
77
  # I am a Finn
78
78
  ```
79
79
 
80
- ## Beware!
80
+ ## Using with `# frozen_string_literal: true`
81
81
 
82
- Does not work if you freeze the strings.
82
+ ~~Does not work if you freeze the strings.~~
83
+
84
+ Now it does!
85
+ Just use the classes `TranslatableString` (aliased to `TString`).
86
+ So even if you have a magic comment making all your strings frozen,
87
+ you can still use the `translate` method like below:
88
+
89
+ ```ruby
90
+ hello = TranslatableString.new('hello', language: 'en', to_language: 'fi')
91
+ hello.translate
92
+ # "Moi"
93
+ ```
83
94
 
84
95
  ## Development
85
96
 
@@ -1,5 +1,6 @@
1
1
  require_relative 'translate_self/version'
2
2
  require_relative 'translate_self/translation'
3
+ require_relative 'translate_self/translatable_string'
3
4
  require 'ext/string'
4
5
  require 'deepl'
5
6
 
@@ -0,0 +1,11 @@
1
+ # A class that let's you translate strings with
2
+ # the language and to_language params even if you happen to
3
+ # freeze them. Aliased to TString.
4
+ class TranslatableString < String
5
+ def initialize(str, language: nil, to_language: nil)
6
+ replace str
7
+ self.language = language
8
+ self.to_language = to_language
9
+ end
10
+ end
11
+ TString = TranslatableString
@@ -51,7 +51,7 @@ module Translation
51
51
  warn 'No language given!' and return if to_lan.nil?
52
52
 
53
53
  response = DeepL.translate text, language, to_lan
54
- self.language = response.detected_source_language.downcase if self.language.nil?
54
+ self.language = response.detected_source_language.downcase if self.language.nil? && !frozen?
55
55
  actual_translation = response.text
56
56
  actual_translation.language = to_lan
57
57
  actual_translation
@@ -1,3 +1,3 @@
1
1
  module TranslateSelf
2
- VERSION = '0.4.0'.freeze
2
+ VERSION = '0.5.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: translate_self
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sampo Kuokkanen
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-06-05 00:00:00.000000000 Z
11
+ date: 2021-06-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: deepl-rb
@@ -75,7 +75,6 @@ executables: []
75
75
  extensions: []
76
76
  extra_rdoc_files: []
77
77
  files:
78
- - ".byebug_history"
79
78
  - ".github/workflows/main.yml"
80
79
  - ".gitignore"
81
80
  - ".rspec"
@@ -91,6 +90,7 @@ files:
91
90
  - bin/setup
92
91
  - lib/ext/string.rb
93
92
  - lib/translate_self.rb
93
+ - lib/translate_self/translatable_string.rb
94
94
  - lib/translate_self/translation.rb
95
95
  - lib/translate_self/version.rb
96
96
  - translate_self.gemspec
data/.byebug_history DELETED
@@ -1,48 +0,0 @@
1
- c
2
- @language
3
- c
4
- @language
5
- self
6
- c
7
- self
8
- c
9
- self
10
- c
11
- self
12
- c
13
- suomalainen.language
14
- suomalainen.language = 'fi'
15
- suomalainen.language
16
- c
17
- suomalainen.language
18
- c
19
- self.language
20
- c
21
- self.language
22
- self.language = 'fi'
23
- response.detected_source_language
24
- self.language.nil?
25
- self.language
26
- self
27
- c
28
- available_languages.include?(name.to_s[-2..-1])
29
- available_languages.include?(name.to_s[-2..-1].to_sym)
30
- exit
31
- c
32
- available_languages.include?(name.to_s[-2..-1].to_sym)
33
- available_languages.include?(name.to_s[-2..-1])
34
- name.to_s[-2..-1]
35
- name
36
- c
37
- languages.map(&:code).map(&:downcase)
38
- languages.map(&:code)
39
- languages.map(&:code.downcase.to_sym)
40
- languages = DeepL.languages
41
- c
42
- self
43
- self.replace 'kon'
44
- self.instance_methods(false)
45
- self.attributes
46
- self = 'kon'
47
- language
48
- self