singleton-ruby 0.1.1 → 0.1.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9dac766ea3b943c3cd35b8ad820eb885f21b4f1c40620c10bce89bfa85301b69
4
- data.tar.gz: 4a63575c8fbe69875e57af536891712571e5f1c310ddc299e8268829ce8e2b11
3
+ metadata.gz: bcc331c8950f6406499f27695bb3e7973745acd2b7a07454b5482f28ee7ba693
4
+ data.tar.gz: 9630c5e08d8e51c942da3df7dd58583499ca912e7a801b499c939c0022bca66e
5
5
  SHA512:
6
- metadata.gz: fc786fd34da1d82450a3f03a860b0cb3458c303c32f8152792484a9ae0cb84060618ddb93acb3b119edf289daccbb2b83ac540e6ed71f02f1c8aae7bf0cb7cde
7
- data.tar.gz: 7c6558c05674b4b786e2245fcdb2b6437d3f495f2c8789e00cd3397f0338d405dc52e4cdcbe92c33c08efbeee2f04721352ee74dc0290f74a0c88f70239dac76
6
+ metadata.gz: 38177b4b4e74294988cfcfa5a23046f3bcaa0494f3287d69cc3e7a786863e6ca5c833f621cad746f602e8071bafa55a15a3d22d63addbfe13248bd6a421ca533
7
+ data.tar.gz: e705db8c097ce7eb685fccc7258d5bbdfa725087cf84ea08cb41d1acb08fe224282de166fca611be0b54860ecf51bd291bee940b526df3a0fdcb1e1fc2e00785
data/README.md CHANGED
@@ -7,5 +7,31 @@
7
7
  ## Run Unit Test
8
8
  rake spec:unit
9
9
 
10
+ ## Usage
11
+
12
+ Basic Usage:
13
+
14
+ ```ruby
15
+ require 'singleton-ruby'
16
+
17
+ include SgtnClient
18
+
19
+ SgtnClient.load(file, mode)
20
+
21
+ SgtnClient::Source.loadBundles(locale)
22
+
23
+ @Result = SgtnClient::Translation.getString(component, key, locale)
24
+
25
+ ```
26
+ ## API
27
+
28
+ ### Get a string's translation
29
+ SgtnClient::Translation.getString(component, key, locale)
30
+
31
+ ### Get a string's translation and format it with placeholders
32
+ SgtnClient::Translation.getString_F(component, key, args, locale)
33
+
34
+
35
+
10
36
 
11
37
 
@@ -24,6 +24,19 @@ module SgtnClient
24
24
  return str
25
25
  end
26
26
 
27
+ def self.getSources(component, locale)
28
+ cache_key = SgtnClient::CacheUtil.get_cachekey(component, locale)
29
+ items = SgtnClient::CacheUtil.get_cache(cache_key)
30
+ if items.nil?
31
+ items = getBundle(component, locale)
32
+ SgtnClient.logger.debug "Putting sources items into cache with key: " + cache_key
33
+ SgtnClient::CacheUtil.write_cache(cache_key, items)
34
+ else
35
+ SgtnClient.logger.debug "Getting sources from cache with key: " + cache_key
36
+ end
37
+ return itmes
38
+ end
39
+
27
40
  def self.loadBundles(locale)
28
41
  env = SgtnClient::Config.default_environment
29
42
  SgtnClient::Config.configurations.default = locale
@@ -32,8 +32,7 @@ module SgtnClient
32
32
  else
33
33
  return str
34
34
  end
35
-
36
- end
35
+ end
37
36
 
38
37
  def self.getString_f(component, key, args, locale)
39
38
  s = getString(component, key, locale)
@@ -43,6 +42,25 @@ module SgtnClient
43
42
  return s % args
44
43
  end
45
44
 
45
+ def self.getStrings(component, locale)
46
+ flocale = SgtnClient::LocaleUtil.fallback(locale)
47
+ cache_key = SgtnClient::CacheUtil.get_cachekey(component, flocale)
48
+ items = SgtnClient::CacheUtil.get_cache(cache_key)
49
+ if items.nil?
50
+ items = getTranslations(component, flocale)
51
+ SgtnClient::CacheUtil.write_cache(cache_key, items)
52
+ else
53
+ SgtnClient.logger.debug "Getting translations from cache with key: " + cache_key
54
+ end
55
+
56
+ default = SgtnClient::Config.configurations.default
57
+ if items.nil? || items["messages"] == nil
58
+ items = SgtnClient::Source.getSources(component, default)
59
+ end
60
+ return items
61
+ end
62
+
63
+
46
64
  private
47
65
 
48
66
  def self.getTranslations(component, locale)
data/lib/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
 
2
- VERSION_INFO = [0, 1, 1].freeze
2
+ VERSION_INFO = [0, 1, 2].freeze
3
3
  VERSION = VERSION_INFO.map(&:to_s).join('.').freeze
@@ -40,6 +40,14 @@ describe SgtnClient do
40
40
  # get from cache in 2nd time
41
41
  expect(SgtnClient::Translation.getString_f("JAVA", "login", ["Robot", "VM"], "zh-Hans")).to eq 'Robot login VM!'
42
42
  end
43
+
44
+ it "Component" do
45
+ jsonObj = SgtnClient::Translation.getStrings("JAVA", "zh-Hans");
46
+ expect(jsonObj["component"]).to eq 'JAVA'
47
+ # get from cache in 2nd time
48
+ jsonObj_c = SgtnClient::Translation.getStrings("JAVA", "zh-Hans");
49
+ expect(jsonObj_c["component"]).to eq 'JAVA'
50
+ end
43
51
  end
44
52
 
45
53
  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.1
4
+ version: 0.1.2
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-20 00:00:00.000000000 Z
11
+ date: 2021-08-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client