translation_engine 0.0.4 → 0.0.5
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.
- checksums.yaml +4 -4
- data/app/middlewares/translation_engine/catcher_middleware.rb +12 -2
- data/app/models/translation_engine/backend.rb +2 -2
- data/app/models/translation_engine/connection.rb +1 -1
- data/app/models/translation_engine/downloader.rb +4 -2
- data/config/initializers/translation_engine.rb +2 -0
- data/lib/translation_engine.rb +2 -1
- data/lib/translation_engine/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: eb36f44885cef5545e9df7361ab089e45bee2b80
|
4
|
+
data.tar.gz: b4df90289442d36754e104d8179b11d8a2711e29
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5ac92beba66ec7ac5e2ce84286d850e37d3264134d0c0ab97779b839c0d434f81d19f0a3970821d5f50edbab75b6f7f11b0d8ed7d8070d4a7a64931dbfc73f98
|
7
|
+
data.tar.gz: 41e21bdad0790d639ffec1878c01ead3467e86cda7c59de4a4bb0d0b7238a3006ccad36cfb49a1c43f8f8f827a03d4063eda2fbaf3cc4d34995e7c15a97a36d9
|
@@ -26,11 +26,21 @@ module TranslationEngine
|
|
26
26
|
I18n.backend.release = params(env)['translation_release']
|
27
27
|
end
|
28
28
|
|
29
|
-
|
29
|
+
begin
|
30
|
+
update_translations unless assets_request?(env)
|
31
|
+
rescue StandardError => e
|
32
|
+
puts "Unable to update translations #{e.class} #{e.message}"
|
33
|
+
end
|
30
34
|
|
31
35
|
response = @app.call(env)
|
32
36
|
|
33
|
-
|
37
|
+
unless TranslationEngine.disable_sending_translations
|
38
|
+
begin
|
39
|
+
send_translations(env)
|
40
|
+
rescue StandardError => e
|
41
|
+
puts "Unable to send new translations #{e.class} #{e.message}"
|
42
|
+
end
|
43
|
+
end
|
34
44
|
|
35
45
|
response
|
36
46
|
end
|
@@ -33,7 +33,7 @@ class TranslationEngine::Backend < I18n::Backend::Simple
|
|
33
33
|
end
|
34
34
|
|
35
35
|
def download_master
|
36
|
-
if (yml_data = connection.get_translations.body)
|
36
|
+
if (yml_data = connection.get_translations.try(:body))
|
37
37
|
Rails.logger.info { 'Updating from translation server - master' }
|
38
38
|
YAML.load(yml_data).each do |locale, translations|
|
39
39
|
store_translations locale, translations
|
@@ -42,7 +42,7 @@ class TranslationEngine::Backend < I18n::Backend::Simple
|
|
42
42
|
end
|
43
43
|
|
44
44
|
def download_release
|
45
|
-
if (yml_data = connection.get_release(release).body)
|
45
|
+
if (yml_data = connection.get_release(release).try(:body))
|
46
46
|
Rails.logger.info { "Updating from translation server - #{release}" }
|
47
47
|
YAML.load(yml_data).each do |locale, translations|
|
48
48
|
store_translations locale, translations
|
@@ -5,7 +5,7 @@ class TranslationEngine::Connection
|
|
5
5
|
NotFound = Class.new(Exception)
|
6
6
|
|
7
7
|
def send_images(data, ip_address = nil)
|
8
|
-
connection.post do |req|
|
8
|
+
connection(60).post do |req|
|
9
9
|
req.url '/api/v1/images'
|
10
10
|
req.headers['Content-Type'] = 'application/json'
|
11
11
|
req.headers['Authorization'] = api_token
|
@@ -6,10 +6,12 @@ class TranslationEngine::Downloader
|
|
6
6
|
response = @current_etag == etag
|
7
7
|
Rails.logger.info { "Translations are up to date" } if response
|
8
8
|
@current_etag = etag
|
9
|
+
@cache_timeout = Time.now + TranslationEngine.cache_timeout
|
9
10
|
response
|
10
11
|
end
|
11
12
|
|
12
13
|
def update
|
14
|
+
return nil if @cache_timeout && Time.now < @cache_timeout
|
13
15
|
return nil if self.class.etag?(connection.get_translations_head[:etag])
|
14
16
|
I18n.backend.reload!
|
15
17
|
end
|
@@ -26,7 +28,7 @@ class TranslationEngine::Downloader
|
|
26
28
|
def store_release(release)
|
27
29
|
locale = release.split('_')[0...-1].join('_')
|
28
30
|
filename = releases_dir.join("#{locale.downcase}.yml")
|
29
|
-
if (yml_data = connection.get_release(release).body)
|
31
|
+
if (yml_data = connection.get_release(release).try(:body))
|
30
32
|
Rails.logger.info { "Storing release #{release} to #{filename}" }
|
31
33
|
write(filename, yml_data)
|
32
34
|
end
|
@@ -55,7 +57,7 @@ class TranslationEngine::Downloader
|
|
55
57
|
def receive_translations
|
56
58
|
return if self.class.etag?(connection.get_translations_head[:etag])
|
57
59
|
|
58
|
-
connection.get_translations.body
|
60
|
+
connection.get_translations.try(:body)
|
59
61
|
end
|
60
62
|
|
61
63
|
def releases_dir
|
@@ -3,6 +3,8 @@ TranslationEngine.config do |config|
|
|
3
3
|
config.api_host = 'http://127.0.0.1:3000'
|
4
4
|
config.use_screenshots = false
|
5
5
|
config.use_catcher = false
|
6
|
+
config.disable_sending_translations = false
|
6
7
|
config.timeout = 5
|
8
|
+
config.cache_timeout = 0
|
7
9
|
config.raise_exceptions = Rails.env.development?
|
8
10
|
end
|
data/lib/translation_engine.rb
CHANGED
@@ -2,7 +2,8 @@ require "translation_engine/engine"
|
|
2
2
|
|
3
3
|
module TranslationEngine
|
4
4
|
mattr_accessor :api_key, :api_host, :timeout,
|
5
|
-
:use_screenshots, :use_catcher, :raise_exceptions
|
5
|
+
:use_screenshots, :use_catcher, :raise_exceptions,
|
6
|
+
:disable_sending_translations, :cache_timeout
|
6
7
|
|
7
8
|
def self.config
|
8
9
|
yield self
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: translation_engine
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ondrej Bartas
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-05-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|