singleton-ruby 0.1.3 → 0.1.4
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/README.md +19 -1
- data/lib/sgtn-client/api/source.rb +2 -5
- data/lib/sgtn-client/api/t.rb +22 -0
- data/lib/sgtn-client/sgtn-client.rb +1 -0
- data/lib/version.rb +1 -1
- data/spec/unit/request_spec.rb +22 -0
- metadata +19 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ffce54daa3338aaac24e5f302d46ea2b0d786def7c20dc5d737d5f8e839844d2
|
4
|
+
data.tar.gz: 934df8d9afc326b09981f12460e822db864ccb35f3e992c67b066689258343bf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6ec453c3a483d728b165cf734a2aaf361f4be3582579ec1853b49aa9ac3ece43fd1ffb1215b42a13bb90662ad53c16d723eb8123a747d7a5aeeb3bc22310639a
|
7
|
+
data.tar.gz: 2a073e29ebe320b9336156d80832f89f1b05300398d8ca5fb0551cc51772aa33359ee71652d0bc538d7e29e6f52b44bebc054232ec9bf06b22a7368710d61329
|
data/README.md
CHANGED
@@ -29,7 +29,25 @@ SgtnClient::Source.loadBundles(locale)
|
|
29
29
|
SgtnClient::Translation.getString(component, key, locale)
|
30
30
|
|
31
31
|
### Get a string's translation and format it with placeholders
|
32
|
-
SgtnClient::Translation.
|
32
|
+
SgtnClient::Translation.getString_f(component, key, args, locale)
|
33
|
+
|
34
|
+
### Get a component's translations
|
35
|
+
SgtnClient::Translation.getStrings(component, locale)
|
36
|
+
|
37
|
+
|
38
|
+
## API with request_store
|
39
|
+
|
40
|
+
Before call below APIs(without locale and component arguments), it requires to set the locale
|
41
|
+
and component add the initial codes.
|
42
|
+
|
43
|
+
### Get a string's translation
|
44
|
+
SgtnClient::T.s(key)
|
45
|
+
|
46
|
+
### Get a string's translation and format it with placeholders
|
47
|
+
SgtnClient::T.s_f(key, args)
|
48
|
+
|
49
|
+
### Get a component's translations
|
50
|
+
SgtnClient::T.c()
|
33
51
|
|
34
52
|
|
35
53
|
|
@@ -2,7 +2,7 @@ require 'erb'
|
|
2
2
|
require 'yaml'
|
3
3
|
|
4
4
|
module SgtnClient
|
5
|
-
|
5
|
+
|
6
6
|
autoload :CacheUtil, "sgtn-client/util/cache-util"
|
7
7
|
|
8
8
|
class Source
|
@@ -41,18 +41,16 @@ module SgtnClient
|
|
41
41
|
env = SgtnClient::Config.default_environment
|
42
42
|
SgtnClient::Config.configurations.default = locale
|
43
43
|
source_bundle = SgtnClient::Config.configurations[env]["source_bundle"]
|
44
|
-
SgtnClient.logger.debug "Loading [" + locale + "] bundles from path: " + source_bundle
|
44
|
+
SgtnClient.logger.debug "Loading [" + locale + "] source bundles from path: " + source_bundle
|
45
45
|
Dir.children(source_bundle).each do |component|
|
46
46
|
yamlfile = File.join(source_bundle, component + "/" + locale + ".yml")
|
47
47
|
bundle = read_yml(yamlfile)
|
48
48
|
cachekey = SgtnClient::CacheUtil.get_cachekey(component, locale)
|
49
49
|
SgtnClient::CacheUtil.write_cache(cachekey,bundle)
|
50
50
|
end
|
51
|
-
|
52
51
|
end
|
53
52
|
|
54
53
|
private
|
55
|
-
|
56
54
|
def self.getBundle(component, locale)
|
57
55
|
env = SgtnClient::Config.default_environment
|
58
56
|
source_bundle = SgtnClient::Config.configurations[env]["source_bundle"]
|
@@ -71,7 +69,6 @@ module SgtnClient
|
|
71
69
|
erb.filename = file_name
|
72
70
|
YAML.load(erb.result)
|
73
71
|
end
|
74
|
-
|
75
72
|
end
|
76
73
|
|
77
74
|
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module SgtnClient
|
2
|
+
class T < Translation
|
3
|
+
|
4
|
+
def self.s(key)
|
5
|
+
locale = RequestStore.store[:locale]
|
6
|
+
component = RequestStore.store[:component]
|
7
|
+
return getString(component, key, locale)
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.s_f(key, args)
|
11
|
+
locale = RequestStore.store[:locale]
|
12
|
+
component = RequestStore.store[:component]
|
13
|
+
return getString_f(component, key, args, locale)
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.c()
|
17
|
+
locale = RequestStore.store[:locale]
|
18
|
+
component = RequestStore.store[:component]
|
19
|
+
return getStrings(component, locale)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
data/lib/version.rb
CHANGED
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'request_store'
|
3
|
+
|
4
|
+
describe SgtnClient do
|
5
|
+
describe "Locale" do
|
6
|
+
|
7
|
+
before :each do
|
8
|
+
env = SgtnClient::Config.default_environment
|
9
|
+
SgtnClient::Config.configurations[env]["bundle_mode"] = 'offline'
|
10
|
+
SgtnClient::Source.loadBundles("default")
|
11
|
+
RequestStore.store[:locale] = 'zh-Hans'
|
12
|
+
RequestStore.store[:component] = 'JAVA'
|
13
|
+
end
|
14
|
+
|
15
|
+
it "GET" do
|
16
|
+
expect(SgtnClient::T.s("helloworld")).to eq '你好世界'
|
17
|
+
expect(SgtnClient::T.s_f("welcome", ["机器人", "虚拟世界"])).to eq '机器人,欢迎登录虚拟世界!'
|
18
|
+
expect(SgtnClient::T.c()["component"]).to eq 'JAVA'
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: singleton-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- VMware G11n Team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-08-
|
11
|
+
date: 2021-08-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|
@@ -38,6 +38,20 @@ dependencies:
|
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '1.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: request_store
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.1'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.1'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: webmock
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -216,20 +230,6 @@ dependencies:
|
|
216
230
|
- - "~>"
|
217
231
|
- !ruby/object:Gem::Version
|
218
232
|
version: '1.0'
|
219
|
-
- !ruby/object:Gem::Dependency
|
220
|
-
name: twitter_cldr
|
221
|
-
requirement: !ruby/object:Gem::Requirement
|
222
|
-
requirements:
|
223
|
-
- - "~>"
|
224
|
-
- !ruby/object:Gem::Version
|
225
|
-
version: '6.6'
|
226
|
-
type: :runtime
|
227
|
-
prerelease: false
|
228
|
-
version_requirements: !ruby/object:Gem::Requirement
|
229
|
-
requirements:
|
230
|
-
- - "~>"
|
231
|
-
- !ruby/object:Gem::Version
|
232
|
-
version: '6.6'
|
233
233
|
description: Singleton Ruby client
|
234
234
|
email: g11n-vip-project@vmware.com
|
235
235
|
executables: []
|
@@ -241,6 +241,7 @@ files:
|
|
241
241
|
- README.md
|
242
242
|
- Rakefile
|
243
243
|
- lib/sgtn-client/api/source.rb
|
244
|
+
- lib/sgtn-client/api/t.rb
|
244
245
|
- lib/sgtn-client/api/translation.rb
|
245
246
|
- lib/sgtn-client/core/cache.rb
|
246
247
|
- lib/sgtn-client/core/config.rb
|
@@ -274,6 +275,7 @@ files:
|
|
274
275
|
- spec/unit/logging_spec.rb
|
275
276
|
- spec/unit/offclient_spec.rb
|
276
277
|
- spec/unit/onclient_spec.rb
|
278
|
+
- spec/unit/request_spec.rb
|
277
279
|
- spec/unit/version_spec.rb
|
278
280
|
homepage: https://github.com/vmware/singleton
|
279
281
|
licenses:
|
@@ -320,4 +322,5 @@ test_files:
|
|
320
322
|
- spec/unit/logging_spec.rb
|
321
323
|
- spec/unit/offclient_spec.rb
|
322
324
|
- spec/unit/onclient_spec.rb
|
325
|
+
- spec/unit/request_spec.rb
|
323
326
|
- spec/unit/version_spec.rb
|