singleton-ruby 0.1.4 → 0.1.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +3 -4
- data/lib/sgtn-client/api/translation.rb +16 -7
- data/lib/sgtn-client/cldr/core_ext.rb +4 -0
- data/lib/sgtn-client/cldr/localized_date.rb +27 -0
- data/lib/sgtn-client/cldr/localized_datetime.rb +27 -0
- data/lib/sgtn-client/cldr/localized_str.rb +11 -0
- data/lib/sgtn-client/cldr/localized_time.rb +27 -0
- data/lib/sgtn-client/core/exceptions.rb +2 -2
- data/lib/sgtn-client/formatters/plurals/plural_formatter.rb +38 -0
- data/lib/sgtn-client/sgtn-client.rb +5 -0
- data/lib/singleton-ruby.rb +2 -1
- data/lib/version.rb +1 -1
- metadata +39 -53
- data/Gemfile +0 -15
- data/Rakefile +0 -140
- data/spec/config/locales/default/JAVA/default.yml +0 -5
- data/spec/config/locales/l10n/bundles/test/4.8.1/JAVA/messages_de.json +0 -8
- data/spec/config/locales/l10n/bundles/test/4.8.1/JAVA/messages_en.json +0 -8
- data/spec/config/locales/l10n/bundles/test/4.8.1/JAVA/messages_latest.json +0 -8
- data/spec/config/locales/l10n/bundles/test/4.8.1/JAVA/messages_zh-Hans.json +0 -8
- data/spec/config/locales/l10n/bundles/test/4.8.1/JAVA/messages_zh-Hant.json +0 -8
- data/spec/config/locales/l10n/bundles/test/4.8.1/creation.json +0 -10
- data/spec/config/locales/l10n/bundles/test/4.8.1/version.json +0 -38
- data/spec/config/sample_data.yml +0 -3
- data/spec/config/sgtnclient-invalidate.yml +0 -44
- data/spec/config/sgtnclient.yml +0 -44
- data/spec/log/http.log +0 -0
- data/spec/spec_helper.rb +0 -33
- data/spec/support/sample_data.rb +0 -5
- data/spec/unit/cache_spec.rb +0 -34
- data/spec/unit/config_spec.rb +0 -27
- data/spec/unit/inconfig_spec.rb +0 -17
- data/spec/unit/locale_spec.rb +0 -23
- data/spec/unit/logging_spec.rb +0 -33
- data/spec/unit/offclient_spec.rb +0 -53
- data/spec/unit/onclient_spec.rb +0 -32
- data/spec/unit/request_spec.rb +0 -22
- data/spec/unit/version_spec.rb +0 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c8b76321098ddc3fbe0600be0b766f3e1162d546bf162ca564e896cf570cbbfe
|
4
|
+
data.tar.gz: 8a87437293352085857b30878de95c74e2d9de24066c659e86ccd38fab7e811d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d5230c379270046dd49f65164dbe68d71620944bebb09b338522e9b2753c858ad2a40dc7ed0a26c71468ea5ed6de02874217d1fe7542ca584b803fd7c1cada8e
|
7
|
+
data.tar.gz: cbbffd1ea904726238bdf5ef8662d82fcba89cca29416ac4424210ebd10077bcb5fbd7f1a152bf7157426634258c98b0a6143aef7462e85bbdd4db97e79d7e40
|
data/README.md
CHANGED
@@ -23,7 +23,7 @@ SgtnClient::Source.loadBundles(locale)
|
|
23
23
|
@Result = SgtnClient::Translation.getString(component, key, locale)
|
24
24
|
|
25
25
|
```
|
26
|
-
## API
|
26
|
+
## API Usage
|
27
27
|
|
28
28
|
### Get a string's translation
|
29
29
|
SgtnClient::Translation.getString(component, key, locale)
|
@@ -35,10 +35,9 @@ SgtnClient::Translation.getString_f(component, key, args, locale)
|
|
35
35
|
SgtnClient::Translation.getStrings(component, locale)
|
36
36
|
|
37
37
|
|
38
|
-
## API with request_store
|
38
|
+
## API Usage(with request_store)
|
39
39
|
|
40
|
-
Before call below APIs(without locale and component arguments), it requires to set the locale
|
41
|
-
and component add the initial codes.
|
40
|
+
Before call below APIs(without locale and component arguments), it requires to set the locale and component in the initial codes.
|
42
41
|
|
43
42
|
### Get a string's translation
|
44
43
|
SgtnClient::T.s(key)
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require '
|
1
|
+
require 'multi_json'
|
2
2
|
|
3
3
|
module SgtnClient
|
4
4
|
|
@@ -36,10 +36,14 @@ module SgtnClient
|
|
36
36
|
|
37
37
|
def self.getString_f(component, key, args, locale)
|
38
38
|
s = getString(component, key, locale)
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
39
|
+
if args.is_a?(Hash)
|
40
|
+
args.each do |source, arg|
|
41
|
+
s.gsub! "{#{source}}", arg
|
42
|
+
end
|
43
|
+
elsif args.is_a?(Array)
|
44
|
+
s = sprintf s % args
|
45
|
+
end
|
46
|
+
return s
|
43
47
|
end
|
44
48
|
|
45
49
|
def self.getStrings(component, locale)
|
@@ -55,7 +59,12 @@ module SgtnClient
|
|
55
59
|
|
56
60
|
default = SgtnClient::Config.configurations.default
|
57
61
|
if items.nil? || items["messages"] == nil
|
58
|
-
items =
|
62
|
+
items = {}
|
63
|
+
s = SgtnClient::Source.getSources(component, default)
|
64
|
+
default_component, value = s.first
|
65
|
+
items["component"] = default_component
|
66
|
+
items["messages"] = value
|
67
|
+
items["locale"] = 'source'
|
59
68
|
end
|
60
69
|
return items
|
61
70
|
end
|
@@ -82,7 +91,7 @@ module SgtnClient
|
|
82
91
|
SgtnClient.logger.debug "Getting translations from offline bundle: " + bundlepath
|
83
92
|
begin
|
84
93
|
file = File.read(bundlepath)
|
85
|
-
data_hash =
|
94
|
+
data_hash = MultiJson.load(file)
|
86
95
|
rescue => exception
|
87
96
|
SgtnClient.logger.error exception.message
|
88
97
|
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'date'
|
2
|
+
require 'time'
|
3
|
+
|
4
|
+
Date.class_eval <<-LOCALIZE, __FILE__, __LINE__ + 1
|
5
|
+
def l_full_s(locale = TwitterCldr.locale)
|
6
|
+
self.to_datetime().localize(locale).to_date().to_full_s
|
7
|
+
end
|
8
|
+
LOCALIZE
|
9
|
+
|
10
|
+
Date.class_eval <<-LOCALIZE, __FILE__, __LINE__ + 1
|
11
|
+
def l_long_s(locale = TwitterCldr.locale)
|
12
|
+
self.to_datetime().localize(locale).to_date().to_long_s
|
13
|
+
end
|
14
|
+
LOCALIZE
|
15
|
+
|
16
|
+
Date.class_eval <<-LOCALIZE, __FILE__, __LINE__ + 1
|
17
|
+
def l_medium_s(locale = TwitterCldr.locale)
|
18
|
+
self.to_datetime().localize(locale).to_date().to_medium_s
|
19
|
+
end
|
20
|
+
LOCALIZE
|
21
|
+
|
22
|
+
|
23
|
+
Date.class_eval <<-LOCALIZE, __FILE__, __LINE__ + 1
|
24
|
+
def l_short_s(locale = TwitterCldr.locale)
|
25
|
+
self.to_datetime().localize(locale).to_date().to_short_s
|
26
|
+
end
|
27
|
+
LOCALIZE
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'date'
|
2
|
+
require 'time'
|
3
|
+
|
4
|
+
DateTime.class_eval <<-LOCALIZE, __FILE__, __LINE__ + 1
|
5
|
+
def l_full_s(locale = TwitterCldr.locale)
|
6
|
+
self.localize(locale).to_full_s
|
7
|
+
end
|
8
|
+
LOCALIZE
|
9
|
+
|
10
|
+
DateTime.class_eval <<-LOCALIZE, __FILE__, __LINE__ + 1
|
11
|
+
def l_long_s(locale = TwitterCldr.locale)
|
12
|
+
self.localize(locale).to_long_s
|
13
|
+
end
|
14
|
+
LOCALIZE
|
15
|
+
|
16
|
+
DateTime.class_eval <<-LOCALIZE, __FILE__, __LINE__ + 1
|
17
|
+
def l_medium_s(locale = TwitterCldr.locale)
|
18
|
+
self.localize(locale).to_medium_s
|
19
|
+
end
|
20
|
+
LOCALIZE
|
21
|
+
|
22
|
+
|
23
|
+
DateTime.class_eval <<-LOCALIZE, __FILE__, __LINE__ + 1
|
24
|
+
def l_short_s(locale = TwitterCldr.locale)
|
25
|
+
self.localize(locale).to_short_s
|
26
|
+
end
|
27
|
+
LOCALIZE
|
@@ -0,0 +1,11 @@
|
|
1
|
+
|
2
|
+
String.class_eval <<-LOCALIZE, __FILE__, __LINE__ + 1
|
3
|
+
def to_plural_s(locale, arg)
|
4
|
+
num_str = SgtnClient::Formatters::PluralFormatter.new(locale).num_s(self, arg)
|
5
|
+
if num_str.nil? || num_str.empty?
|
6
|
+
self.localize(locale) % arg
|
7
|
+
else
|
8
|
+
num_str
|
9
|
+
end
|
10
|
+
end
|
11
|
+
LOCALIZE
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'date'
|
2
|
+
require 'time'
|
3
|
+
|
4
|
+
Time.class_eval <<-LOCALIZE, __FILE__, __LINE__ + 1
|
5
|
+
def l_full_s(locale = TwitterCldr.locale)
|
6
|
+
self.localize(locale).to_full_s
|
7
|
+
end
|
8
|
+
LOCALIZE
|
9
|
+
|
10
|
+
Time.class_eval <<-LOCALIZE, __FILE__, __LINE__ + 1
|
11
|
+
def l_long_s(locale = TwitterCldr.locale)
|
12
|
+
self.localize(locale).to_long_s
|
13
|
+
end
|
14
|
+
LOCALIZE
|
15
|
+
|
16
|
+
Time.class_eval <<-LOCALIZE, __FILE__, __LINE__ + 1
|
17
|
+
def l_medium_s(locale = TwitterCldr.locale)
|
18
|
+
self.localize(locale).to_medium_s
|
19
|
+
end
|
20
|
+
LOCALIZE
|
21
|
+
|
22
|
+
|
23
|
+
Time.class_eval <<-LOCALIZE, __FILE__, __LINE__ + 1
|
24
|
+
def l_short_s(locale = TwitterCldr.locale)
|
25
|
+
self.localize(locale).to_short_s
|
26
|
+
end
|
27
|
+
LOCALIZE
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require '
|
1
|
+
require 'multi_json'
|
2
2
|
require 'pp'
|
3
3
|
|
4
4
|
module SgtnClient
|
@@ -13,7 +13,7 @@ module SgtnClient
|
|
13
13
|
|
14
14
|
def to_s
|
15
15
|
begin
|
16
|
-
response_body =
|
16
|
+
response_body = MultiJson.load(response.body)
|
17
17
|
debug_id = response["sgtn-debug-id"]
|
18
18
|
debug_id = response["correlation-id"] if debug_id.to_s == ''
|
19
19
|
debug_id = response_body["debug_id"] if debug_id.to_s == ''
|
@@ -0,0 +1,38 @@
|
|
1
|
+
require 'json'
|
2
|
+
|
3
|
+
module SgtnClient
|
4
|
+
module Formatters
|
5
|
+
class PluralFormatter
|
6
|
+
|
7
|
+
attr_reader :locale
|
8
|
+
|
9
|
+
def initialize(locale = TwitterCldr.locale)
|
10
|
+
@locale = TwitterCldr.convert_locale(locale)
|
11
|
+
end
|
12
|
+
|
13
|
+
def num_s(string, replacements)
|
14
|
+
reg = Regexp.union(
|
15
|
+
/%<(\{.*?\})>/
|
16
|
+
)
|
17
|
+
string.gsub(reg) do |match|
|
18
|
+
count_placeholder, patterns = if $1
|
19
|
+
pluralization_hash = JSON.parse($1)
|
20
|
+
if pluralization_hash.is_a?(Hash) && pluralization_hash.size == 1
|
21
|
+
pluralization_hash.first
|
22
|
+
else
|
23
|
+
raise ArgumentError.new('expected a Hash with a single key')
|
24
|
+
end
|
25
|
+
else
|
26
|
+
raise ArgumentError.new('invalide format')
|
27
|
+
end
|
28
|
+
count = replacements[count_placeholder.to_sym].to_s
|
29
|
+
if patterns.is_a?(Hash)
|
30
|
+
return TwitterCldr::Utils.deep_symbolize_keys(patterns)[count.to_sym]
|
31
|
+
else
|
32
|
+
raise ArgumentError.new('expected patterns to be a Hash')
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -12,6 +12,11 @@ module SgtnClient
|
|
12
12
|
autoload :ValidateUtil, "sgtn-client/util/validate-util"
|
13
13
|
autoload :LocaleUtil, "sgtn-client/util/locale-util"
|
14
14
|
|
15
|
+
module Formatters
|
16
|
+
autoload :PluralFormatter, "sgtn-client/formatters/plurals/plural_formatter"
|
17
|
+
end
|
18
|
+
|
19
|
+
|
15
20
|
class << self
|
16
21
|
def configure(options = {}, &block)
|
17
22
|
SgtnClient::Config.configure(options, &block)
|
data/lib/singleton-ruby.rb
CHANGED
data/lib/version.rb
CHANGED
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.8
|
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-
|
11
|
+
date: 2021-11-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '1.1'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: twitter_cldr
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '6.6'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '6.6'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: webmock
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -230,6 +244,20 @@ dependencies:
|
|
230
244
|
- - "~>"
|
231
245
|
- !ruby/object:Gem::Version
|
232
246
|
version: '1.0'
|
247
|
+
- !ruby/object:Gem::Dependency
|
248
|
+
name: twitter_cldr
|
249
|
+
requirement: !ruby/object:Gem::Requirement
|
250
|
+
requirements:
|
251
|
+
- - "~>"
|
252
|
+
- !ruby/object:Gem::Version
|
253
|
+
version: '6.6'
|
254
|
+
type: :runtime
|
255
|
+
prerelease: false
|
256
|
+
version_requirements: !ruby/object:Gem::Requirement
|
257
|
+
requirements:
|
258
|
+
- - "~>"
|
259
|
+
- !ruby/object:Gem::Version
|
260
|
+
version: '6.6'
|
233
261
|
description: Singleton Ruby client
|
234
262
|
email: g11n-vip-project@vmware.com
|
235
263
|
executables: []
|
@@ -237,49 +265,30 @@ extensions: []
|
|
237
265
|
extra_rdoc_files:
|
238
266
|
- README.md
|
239
267
|
files:
|
240
|
-
- Gemfile
|
241
268
|
- README.md
|
242
|
-
- Rakefile
|
243
269
|
- lib/sgtn-client/api/source.rb
|
244
270
|
- lib/sgtn-client/api/t.rb
|
245
271
|
- lib/sgtn-client/api/translation.rb
|
272
|
+
- lib/sgtn-client/cldr/core_ext.rb
|
273
|
+
- lib/sgtn-client/cldr/localized_date.rb
|
274
|
+
- lib/sgtn-client/cldr/localized_datetime.rb
|
275
|
+
- lib/sgtn-client/cldr/localized_str.rb
|
276
|
+
- lib/sgtn-client/cldr/localized_time.rb
|
246
277
|
- lib/sgtn-client/core/cache.rb
|
247
278
|
- lib/sgtn-client/core/config.rb
|
248
279
|
- lib/sgtn-client/core/exceptions.rb
|
249
280
|
- lib/sgtn-client/core/logging.rb
|
250
281
|
- lib/sgtn-client/core/request.rb
|
282
|
+
- lib/sgtn-client/formatters/plurals/plural_formatter.rb
|
251
283
|
- lib/sgtn-client/sgtn-client.rb
|
252
284
|
- lib/sgtn-client/util/cache-util.rb
|
253
285
|
- lib/sgtn-client/util/locale-util.rb
|
254
286
|
- lib/sgtn-client/util/validate-util.rb
|
255
287
|
- lib/singleton-ruby.rb
|
256
288
|
- lib/version.rb
|
257
|
-
- spec/config/locales/default/JAVA/default.yml
|
258
|
-
- spec/config/locales/l10n/bundles/test/4.8.1/JAVA/messages_de.json
|
259
|
-
- spec/config/locales/l10n/bundles/test/4.8.1/JAVA/messages_en.json
|
260
|
-
- spec/config/locales/l10n/bundles/test/4.8.1/JAVA/messages_latest.json
|
261
|
-
- spec/config/locales/l10n/bundles/test/4.8.1/JAVA/messages_zh-Hans.json
|
262
|
-
- spec/config/locales/l10n/bundles/test/4.8.1/JAVA/messages_zh-Hant.json
|
263
|
-
- spec/config/locales/l10n/bundles/test/4.8.1/creation.json
|
264
|
-
- spec/config/locales/l10n/bundles/test/4.8.1/version.json
|
265
|
-
- spec/config/sample_data.yml
|
266
|
-
- spec/config/sgtnclient-invalidate.yml
|
267
|
-
- spec/config/sgtnclient.yml
|
268
|
-
- spec/log/http.log
|
269
|
-
- spec/spec_helper.rb
|
270
|
-
- spec/support/sample_data.rb
|
271
|
-
- spec/unit/cache_spec.rb
|
272
|
-
- spec/unit/config_spec.rb
|
273
|
-
- spec/unit/inconfig_spec.rb
|
274
|
-
- spec/unit/locale_spec.rb
|
275
|
-
- spec/unit/logging_spec.rb
|
276
|
-
- spec/unit/offclient_spec.rb
|
277
|
-
- spec/unit/onclient_spec.rb
|
278
|
-
- spec/unit/request_spec.rb
|
279
|
-
- spec/unit/version_spec.rb
|
280
289
|
homepage: https://github.com/vmware/singleton
|
281
290
|
licenses:
|
282
|
-
- EPL
|
291
|
+
- EPL 2.0
|
283
292
|
metadata: {}
|
284
293
|
post_install_message:
|
285
294
|
rdoc_options: []
|
@@ -296,31 +305,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
296
305
|
- !ruby/object:Gem::Version
|
297
306
|
version: '0'
|
298
307
|
requirements: []
|
299
|
-
rubygems_version: 3.
|
308
|
+
rubygems_version: 3.2.3
|
300
309
|
signing_key:
|
301
310
|
specification_version: 4
|
302
311
|
summary: Singleton Ruby client
|
303
|
-
test_files:
|
304
|
-
- spec/config/locales/default/JAVA/default.yml
|
305
|
-
- spec/config/locales/l10n/bundles/test/4.8.1/JAVA/messages_de.json
|
306
|
-
- spec/config/locales/l10n/bundles/test/4.8.1/JAVA/messages_en.json
|
307
|
-
- spec/config/locales/l10n/bundles/test/4.8.1/JAVA/messages_latest.json
|
308
|
-
- spec/config/locales/l10n/bundles/test/4.8.1/JAVA/messages_zh-Hans.json
|
309
|
-
- spec/config/locales/l10n/bundles/test/4.8.1/JAVA/messages_zh-Hant.json
|
310
|
-
- spec/config/locales/l10n/bundles/test/4.8.1/creation.json
|
311
|
-
- spec/config/locales/l10n/bundles/test/4.8.1/version.json
|
312
|
-
- spec/config/sample_data.yml
|
313
|
-
- spec/config/sgtnclient-invalidate.yml
|
314
|
-
- spec/config/sgtnclient.yml
|
315
|
-
- spec/log/http.log
|
316
|
-
- spec/spec_helper.rb
|
317
|
-
- spec/support/sample_data.rb
|
318
|
-
- spec/unit/cache_spec.rb
|
319
|
-
- spec/unit/config_spec.rb
|
320
|
-
- spec/unit/inconfig_spec.rb
|
321
|
-
- spec/unit/locale_spec.rb
|
322
|
-
- spec/unit/logging_spec.rb
|
323
|
-
- spec/unit/offclient_spec.rb
|
324
|
-
- spec/unit/onclient_spec.rb
|
325
|
-
- spec/unit/request_spec.rb
|
326
|
-
- spec/unit/version_spec.rb
|
312
|
+
test_files: []
|
data/Gemfile
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
source "https://rubygems.org"
|
2
|
-
|
3
|
-
if !!File::ALT_SEPARATOR
|
4
|
-
gemspec :name => 'singleton-ruby.windows'
|
5
|
-
else
|
6
|
-
gemspec :name => 'singleton-ruby'
|
7
|
-
end
|
8
|
-
|
9
|
-
gem 'rake', :require => false
|
10
|
-
|
11
|
-
group :test do
|
12
|
-
gem 'simplecov', :require => false
|
13
|
-
gem 'rspec'
|
14
|
-
gem 'webmock'
|
15
|
-
end
|
data/Rakefile
DELETED
@@ -1,140 +0,0 @@
|
|
1
|
-
# load `rake build/install/release tasks'
|
2
|
-
require 'bundler/setup'
|
3
|
-
require_relative './lib/version'
|
4
|
-
|
5
|
-
namespace :ruby do
|
6
|
-
Bundler::GemHelper.install_tasks(:name => 'singleton-ruby')
|
7
|
-
end
|
8
|
-
|
9
|
-
require "rspec/core/rake_task"
|
10
|
-
|
11
|
-
desc "Run all specs"
|
12
|
-
RSpec::Core::RakeTask.new('spec')
|
13
|
-
|
14
|
-
desc "Run unit specs"
|
15
|
-
RSpec::Core::RakeTask.new('spec:unit') do |t|
|
16
|
-
t.pattern = 'spec/unit/*_spec.rb'
|
17
|
-
end
|
18
|
-
|
19
|
-
desc "Run integration specs"
|
20
|
-
RSpec::Core::RakeTask.new('spec:integration') do |t|
|
21
|
-
t.pattern = 'spec/integration/*_spec.rb'
|
22
|
-
end
|
23
|
-
|
24
|
-
desc "Print specdocs"
|
25
|
-
RSpec::Core::RakeTask.new(:doc) do |t|
|
26
|
-
t.rspec_opts = ["--format", "specdoc", "--dry-run"]
|
27
|
-
t.pattern = 'spec/**/*_spec.rb'
|
28
|
-
end
|
29
|
-
|
30
|
-
desc "Run all examples with RCov"
|
31
|
-
RSpec::Core::RakeTask.new('rcov') do |t|
|
32
|
-
t.pattern = 'spec/*_spec.rb'
|
33
|
-
t.rcov = true
|
34
|
-
t.rcov_opts = ['--exclude', 'examples']
|
35
|
-
end
|
36
|
-
|
37
|
-
desc 'Regenerate authors file'
|
38
|
-
task :authors do
|
39
|
-
Dir.chdir(File.dirname(__FILE__)) do
|
40
|
-
File.open('AUTHORS', 'w') do |f|
|
41
|
-
f.write <<-EOM
|
42
|
-
The Ruby REST Client would not be what it is today without the help of
|
43
|
-
the following kind souls:
|
44
|
-
|
45
|
-
EOM
|
46
|
-
end
|
47
|
-
|
48
|
-
sh 'git shortlog -s | cut -f 2 >> AUTHORS'
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
task :default do
|
53
|
-
sh 'rake -T'
|
54
|
-
end
|
55
|
-
|
56
|
-
def alias_task(alias_task, original)
|
57
|
-
desc "Alias for rake #{original}"
|
58
|
-
task alias_task, Rake.application[original].arg_names => original
|
59
|
-
end
|
60
|
-
alias_task(:test, :spec)
|
61
|
-
|
62
|
-
############################
|
63
|
-
|
64
|
-
WindowsPlatforms = %w{x86-mingw32 x64-mingw32 x86-mswin32}
|
65
|
-
|
66
|
-
namespace :all do
|
67
|
-
|
68
|
-
desc "Build rest-client #{VERSION} for all platforms"
|
69
|
-
task :build => ['ruby:build'] + \
|
70
|
-
WindowsPlatforms.map {|p| "windows:#{p}:build"}
|
71
|
-
|
72
|
-
desc "Create tag v#{VERSION} and for all platforms build and " \
|
73
|
-
"push rest-client #{VERSION} to Rubygems"
|
74
|
-
task :release => ['build', 'ruby:release'] + \
|
75
|
-
WindowsPlatforms.map {|p| "windows:#{p}:push"}
|
76
|
-
|
77
|
-
end
|
78
|
-
|
79
|
-
namespace :windows do
|
80
|
-
spec_path = File.join(File.dirname(__FILE__), 'rest-client.windows.gemspec')
|
81
|
-
|
82
|
-
WindowsPlatforms.each do |platform|
|
83
|
-
namespace platform do
|
84
|
-
gem_filename = "rest-client-#{VERSION}-#{platform}.gem"
|
85
|
-
base = File.dirname(__FILE__)
|
86
|
-
pkg_dir = File.join(base, 'pkg')
|
87
|
-
gem_file_path = File.join(pkg_dir, gem_filename)
|
88
|
-
|
89
|
-
desc "Build #{gem_filename} into the pkg directory"
|
90
|
-
task 'build' do
|
91
|
-
orig_platform = ENV['BUILD_PLATFORM']
|
92
|
-
begin
|
93
|
-
ENV['BUILD_PLATFORM'] = platform
|
94
|
-
|
95
|
-
sh("gem build -V #{spec_path}") do |ok, res|
|
96
|
-
if ok
|
97
|
-
FileUtils.mkdir_p(pkg_dir)
|
98
|
-
FileUtils.mv(File.join(base, gem_filename), pkg_dir)
|
99
|
-
Bundler.ui.confirm("rest-client #{VERSION} " \
|
100
|
-
"built to pkg/#{gem_filename}")
|
101
|
-
else
|
102
|
-
abort "Command `gem build` failed: #{res}"
|
103
|
-
end
|
104
|
-
end
|
105
|
-
|
106
|
-
ensure
|
107
|
-
ENV['BUILD_PLATFORM'] = orig_platform
|
108
|
-
end
|
109
|
-
end
|
110
|
-
|
111
|
-
desc "Push #{gem_filename} to Rubygems"
|
112
|
-
task 'push' do
|
113
|
-
sh("gem push #{gem_file_path}")
|
114
|
-
end
|
115
|
-
end
|
116
|
-
end
|
117
|
-
|
118
|
-
end
|
119
|
-
|
120
|
-
############################
|
121
|
-
|
122
|
-
require 'rdoc/task'
|
123
|
-
|
124
|
-
Rake::RDocTask.new do |t|
|
125
|
-
t.rdoc_dir = 'rdoc'
|
126
|
-
t.title = "rest-client, fetch RESTful resources effortlessly"
|
127
|
-
t.options << '--line-numbers' << '--inline-source' << '-A cattr_accessor=object'
|
128
|
-
t.options << '--charset' << 'utf-8'
|
129
|
-
t.rdoc_files.include('README.md')
|
130
|
-
t.rdoc_files.include('lib/*.rb')
|
131
|
-
end
|
132
|
-
|
133
|
-
############################
|
134
|
-
|
135
|
-
require 'rubocop/rake_task'
|
136
|
-
|
137
|
-
RuboCop::RakeTask.new(:rubocop) do |t|
|
138
|
-
t.options = ['--display-cop-names']
|
139
|
-
end
|
140
|
-
alias_task(:lint, :rubocop)
|
@@ -1,38 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"drop_id" : "1553634594698",
|
3
|
-
"4.8.0" : {
|
4
|
-
"JS" : {
|
5
|
-
"zh-Hant" : "",
|
6
|
-
"latest" : "",
|
7
|
-
"fr" : "",
|
8
|
-
"ko" : "",
|
9
|
-
"zh-Hans" : "",
|
10
|
-
"es" : "",
|
11
|
-
"en" : "",
|
12
|
-
"ja" : "",
|
13
|
-
"de" : ""
|
14
|
-
},
|
15
|
-
"JSP" : {
|
16
|
-
"zh-Hant" : "",
|
17
|
-
"latest" : "",
|
18
|
-
"fr" : "",
|
19
|
-
"ko" : "",
|
20
|
-
"zh-Hans" : "",
|
21
|
-
"es" : "",
|
22
|
-
"en" : "",
|
23
|
-
"ja" : "",
|
24
|
-
"de" : ""
|
25
|
-
},
|
26
|
-
"JAVA" : {
|
27
|
-
"zh-Hant" : "",
|
28
|
-
"latest" : "",
|
29
|
-
"fr" : "",
|
30
|
-
"ko" : "",
|
31
|
-
"zh-Hans" : "",
|
32
|
-
"es" : "",
|
33
|
-
"en" : "",
|
34
|
-
"ja" : "",
|
35
|
-
"de" : ""
|
36
|
-
}
|
37
|
-
}
|
38
|
-
}
|
data/spec/config/sample_data.yml
DELETED
@@ -1,3 +0,0 @@
|
|
1
|
-
ipn:
|
2
|
-
valid_message: item_number=&residence_country=US&verify_sign=AFcWxV21C7fd0v3bYYYRCpSSRl31AXi5tzp0u2U-8QDyy.oC2A1Dhx04&address_country=United+States&address_city=San+Jose&address_status=unconfirmed&business=platfo_1255077030_biz%40gmail.com&payment_status=Pending&transaction_subject=&protection_eligibility=Ineligible&shipping=0.00&payer_id=934EKX9W68RRU&first_name=John&mc_fee=0.38&txn_id=5AL16697HX185734U&quantity=1&receiver_email=platfo_1255077030_biz%40gmail.com¬ify_version=3.7&txn_type=web_accept&mc_gross=1.00&payer_status=unverified&mc_currency=USD&test_ipn=1&custom=&payment_date=01%3A48%3A31+Dec+04%2C+2012+PST&payment_fee=0.38&charset=windows-1252&address_country_code=US&payment_gross=1.00&address_zip=95131&ipn_track_id=af0f53159f21e&address_state=CA&receipt_id=4050-1771-4106-3070&pending_reason=paymentreview&tax=0.00&handling_amount=0.00&item_name=&address_name=John+Doe&last_name=Doe&payment_type=instant&receiver_id=HZH2W8NPXUE5W&address_street=1+Main+St
|
3
|
-
invalid_message: invalid=invalid
|
@@ -1,44 +0,0 @@
|
|
1
|
-
test: &default
|
2
|
-
|
3
|
-
# Mode can be 'live' or 'sandbox'
|
4
|
-
mode: sandbox1
|
5
|
-
|
6
|
-
# Credentials for Classic APIs
|
7
|
-
app_id: APP-80W284485P519543T
|
8
|
-
username: linr
|
9
|
-
password: fdasf
|
10
|
-
signature: sfds-RWy
|
11
|
-
# # With Certificate
|
12
|
-
# cert_path: "config/cert_key.pem"
|
13
|
-
sandbox_email_address: linr@aa.com
|
14
|
-
|
15
|
-
# #Product Name
|
16
|
-
product_name: test
|
17
|
-
|
18
|
-
# # bundle version
|
19
|
-
version: 4.8
|
20
|
-
|
21
|
-
# # HTTP Proxy
|
22
|
-
vip_server: https://server:8090
|
23
|
-
|
24
|
-
# # mode of bundle: online/offline
|
25
|
-
bundle_mode: offline1www
|
26
|
-
|
27
|
-
# # translation bundle Path
|
28
|
-
translation_bundle: ./spec/config/locales/l10n/bundles
|
29
|
-
|
30
|
-
# # source bundle Path
|
31
|
-
source_bundle: ./spec/config/locales/default
|
32
|
-
|
33
|
-
# # memory cache's expration(minutes), default value is 24*60
|
34
|
-
cache_expiry_period: 36t
|
35
|
-
|
36
|
-
# # disable cache, it's optional setting
|
37
|
-
disable_cache: true1
|
38
|
-
|
39
|
-
development:
|
40
|
-
<<: *default
|
41
|
-
|
42
|
-
production:
|
43
|
-
<<: *default
|
44
|
-
mode: live
|
data/spec/config/sgtnclient.yml
DELETED
@@ -1,44 +0,0 @@
|
|
1
|
-
test: &default
|
2
|
-
|
3
|
-
# Mode can be 'live' or 'sandbox'
|
4
|
-
mode: sandbox
|
5
|
-
|
6
|
-
# Credentials for Classic APIs
|
7
|
-
app_id: APP-80W284485P519543T
|
8
|
-
username: linr
|
9
|
-
password: fdasf
|
10
|
-
signature: sfds-RWy
|
11
|
-
# # With Certificate
|
12
|
-
# cert_path: "config/cert_key.pem"
|
13
|
-
sandbox_email_address: linr@aa.com
|
14
|
-
|
15
|
-
# #Product Name
|
16
|
-
product_name: test
|
17
|
-
|
18
|
-
# # bundle version
|
19
|
-
version: 4.8.1
|
20
|
-
|
21
|
-
# # HTTP Proxy
|
22
|
-
vip_server: https://server:8090
|
23
|
-
|
24
|
-
# # mode of bundle: online/offline
|
25
|
-
bundle_mode: offline
|
26
|
-
|
27
|
-
# # translation bundle Path
|
28
|
-
translation_bundle: ./spec/config/locales/l10n/bundles
|
29
|
-
|
30
|
-
# # source bundle Path
|
31
|
-
source_bundle: ./spec/config/locales/default
|
32
|
-
|
33
|
-
# # memory cache's expration(minutes), default value is 24*60
|
34
|
-
cache_expiry_period: 10
|
35
|
-
|
36
|
-
# # disable cache, it's optional setting
|
37
|
-
##disable_cache: true
|
38
|
-
|
39
|
-
development:
|
40
|
-
<<: *default
|
41
|
-
|
42
|
-
production:
|
43
|
-
<<: *default
|
44
|
-
mode: live
|
data/spec/log/http.log
DELETED
File without changes
|
data/spec/spec_helper.rb
DELETED
@@ -1,33 +0,0 @@
|
|
1
|
-
require 'bundler/setup'
|
2
|
-
require_relative '../lib/sgtn-client/sgtn-client.rb'
|
3
|
-
require 'logger'
|
4
|
-
|
5
|
-
if ENV['COVERAGE']
|
6
|
-
require 'simplecov'
|
7
|
-
require 'coveralls'
|
8
|
-
Coveralls.wear!
|
9
|
-
SimpleCov.start do
|
10
|
-
add_filter "/spec/"
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
Bundler.require :default, :test
|
15
|
-
|
16
|
-
include SgtnClient
|
17
|
-
include SgtnClient::Logging
|
18
|
-
include SgtnClient::Exceptions
|
19
|
-
|
20
|
-
SgtnClient.load("./spec/config/sgtnclient.yml", "test", './sgtnclient.log')
|
21
|
-
|
22
|
-
Dir[File.expand_path("../support/**/*.rb", __FILE__)].each {|f| require f }
|
23
|
-
|
24
|
-
# Set logger for http
|
25
|
-
http_log = File.open(File.expand_path('../log/http.log', __FILE__), "w")
|
26
|
-
|
27
|
-
RSpec.configure do |config|
|
28
|
-
config.filter_run_excluding :integration => true
|
29
|
-
config.filter_run_excluding :disabled => true
|
30
|
-
config.include SampleData
|
31
|
-
end
|
32
|
-
|
33
|
-
WebMock.allow_net_connect!
|
data/spec/support/sample_data.rb
DELETED
data/spec/unit/cache_spec.rb
DELETED
@@ -1,34 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe SgtnClient do
|
4
|
-
describe "Cache" do
|
5
|
-
|
6
|
-
before :each do
|
7
|
-
env = SgtnClient::Config.default_environment
|
8
|
-
SgtnClient::Config.configurations[env]["bundle_mode"] = 'offline'
|
9
|
-
SgtnClient::Config.configurations[env]["cache_expiry_period"] = 1
|
10
|
-
SgtnClient::Source.loadBundles("default")
|
11
|
-
end
|
12
|
-
|
13
|
-
it "GETTranslation" do
|
14
|
-
|
15
|
-
# get translation from server
|
16
|
-
SgtnClient.logger.debug "----------Start to get translation from server---------"
|
17
|
-
expect(SgtnClient::Translation.getString("JAVA", "helloworld", "zh-Hans")).to eq '你好世界'
|
18
|
-
# get translation from cache
|
19
|
-
SgtnClient.logger.debug "----------Start to get translation from cache---------"
|
20
|
-
expect(SgtnClient::Translation.getString("JAVA", "helloworld", "zh-Hans")).to eq '你好世界'
|
21
|
-
|
22
|
-
# get from server again after data is expired
|
23
|
-
SgtnClient.logger.debug "----------Sleep 70s---------"
|
24
|
-
puts Time.now
|
25
|
-
#sleep 70
|
26
|
-
puts Time.now
|
27
|
-
SgtnClient.logger.debug "----------Start to get translation from expired cache---------"
|
28
|
-
expect(SgtnClient::Translation.getString("JAVA", "helloworld", "zh-Hans")).to eq '你好世界'
|
29
|
-
|
30
|
-
SgtnClient.logger.debug "----------End to get translation from server---------"
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
end
|
data/spec/unit/config_spec.rb
DELETED
@@ -1,27 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
require_relative '../../lib/sgtn-client/sgtn-client.rb'
|
3
|
-
|
4
|
-
describe SgtnClient do
|
5
|
-
|
6
|
-
describe "loadconfig" do
|
7
|
-
|
8
|
-
before :each do
|
9
|
-
SgtnClient.load("./spec/config/sgtnclient.yml", "test", './sgtnclient_config.log')
|
10
|
-
end
|
11
|
-
|
12
|
-
it "define configuration" do
|
13
|
-
env = SgtnClient::Config.default_environment
|
14
|
-
mode = SgtnClient::Config.configurations[env]["mode"]
|
15
|
-
expect(mode).to eq 'sandbox'
|
16
|
-
end
|
17
|
-
|
18
|
-
it "not define configuration" do
|
19
|
-
begin
|
20
|
-
SgtnClient::Config.config("aa", { :app_id => "XYZ" })
|
21
|
-
rescue => exception
|
22
|
-
expect(exception.message).to eq 'Configuration[aa] NotFound'
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
end
|
27
|
-
end
|
data/spec/unit/inconfig_spec.rb
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
require_relative '../../lib/sgtn-client/sgtn-client.rb'
|
3
|
-
|
4
|
-
describe SgtnClient do
|
5
|
-
|
6
|
-
describe "loadinconfig" do
|
7
|
-
|
8
|
-
before :each do
|
9
|
-
#SgtnClient.load("./spec/config/sgtnclient-invalide.yml", "test", './sgtnclient_config.log')
|
10
|
-
end
|
11
|
-
|
12
|
-
it "validate_configuration" do
|
13
|
-
SgtnClient.load("./spec/config/sgtnclient-invalidate.yml", "test", './sgtnclient_config.log')
|
14
|
-
end
|
15
|
-
|
16
|
-
end
|
17
|
-
end
|
data/spec/unit/locale_spec.rb
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe SgtnClient do
|
4
|
-
describe "Locale" do
|
5
|
-
|
6
|
-
before :each do
|
7
|
-
end
|
8
|
-
|
9
|
-
it "fallback" do
|
10
|
-
expect(SgtnClient::LocaleUtil.fallback('ja-JP')).to eq 'ja'
|
11
|
-
expect(SgtnClient::LocaleUtil.fallback('de-DE')).to eq 'de'
|
12
|
-
expect(SgtnClient::LocaleUtil.fallback('zh')).to eq 'zh'
|
13
|
-
expect(SgtnClient::LocaleUtil.fallback('zh-Hans')).to eq 'zh-Hans'
|
14
|
-
expect(SgtnClient::LocaleUtil.fallback('zh-Hant')).to eq 'zh-Hant'
|
15
|
-
expect(SgtnClient::LocaleUtil.fallback('zh-CN')).to eq 'zh-Hans'
|
16
|
-
expect(SgtnClient::LocaleUtil.fallback('zh-TW')).to eq 'zh-Hant'
|
17
|
-
expect(SgtnClient::LocaleUtil.fallback('zh-Hans-CN')).to eq 'zh-Hans'
|
18
|
-
expect(SgtnClient::LocaleUtil.fallback('zh-Hant-TW')).to eq 'zh-Hant'
|
19
|
-
expect(SgtnClient::LocaleUtil.fallback('kong-kong')).to eq 'kong-kong'
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
end
|
data/spec/unit/logging_spec.rb
DELETED
@@ -1,33 +0,0 @@
|
|
1
|
-
#require 'spec_helper'
|
2
|
-
require 'stringio'
|
3
|
-
require_relative '../../lib/sgtn-client/sgtn-client.rb'
|
4
|
-
|
5
|
-
describe SgtnClient::Logging do
|
6
|
-
#Logging = SgtnClient::Logging
|
7
|
-
|
8
|
-
class TestLogging
|
9
|
-
#include Logging
|
10
|
-
end
|
11
|
-
|
12
|
-
before :each do
|
13
|
-
#@logger_file = StringIO.new
|
14
|
-
#Logging.logger = Logger.new(@logger_file)
|
15
|
-
#file = File.open('./spec/unit/foo.log', File::WRONLY | File::APPEND)
|
16
|
-
#Logging.logger = Logger.new(file)
|
17
|
-
#SgtnClient.logger = Logger.new(file)
|
18
|
-
SgtnClient.load("./spec/config/sgtnclient.yml", "test", './sgtnclient.log')
|
19
|
-
end
|
20
|
-
|
21
|
-
it "get logger object" do
|
22
|
-
#expect(@test_logging.logger).to be_a Logger
|
23
|
-
expect(SgtnClient.logger).to be_a Logger
|
24
|
-
end
|
25
|
-
|
26
|
-
it "write message to logger" do
|
27
|
-
test_message = "Example log message!!!"
|
28
|
-
SgtnClient.logger.debug(test_message)
|
29
|
-
# @logger_file.rewind
|
30
|
-
# expect(@logger_file.read).to match test_message
|
31
|
-
end
|
32
|
-
|
33
|
-
end
|
data/spec/unit/offclient_spec.rb
DELETED
@@ -1,53 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe SgtnClient do
|
4
|
-
describe "OfflineAPI" do
|
5
|
-
|
6
|
-
before :each do
|
7
|
-
env = SgtnClient::Config.default_environment
|
8
|
-
SgtnClient::Config.configurations[env]["bundle_mode"] = 'offline'
|
9
|
-
SgtnClient::Source.loadBundles("default")
|
10
|
-
end
|
11
|
-
|
12
|
-
it "GET" do
|
13
|
-
expect(SgtnClient::Translation.getString("JAVA", "helloworld", "zh-Hans")).to eq '你好世界'
|
14
|
-
# get from cache in 2nd time
|
15
|
-
expect(SgtnClient::Translation.getString("JAVA", "helloworld", "zh-Hans")).to eq '你好世界'
|
16
|
-
|
17
|
-
expect(SgtnClient::Translation.getString_f("JAVA", "welcome", ["机器人", "虚拟世界"], "zh-Hans")).to eq '机器人,欢迎登录虚拟世界!'
|
18
|
-
# get from cache in 2nd time
|
19
|
-
expect(SgtnClient::Translation.getString_f("JAVA", "welcome", ["机器人", "虚拟世界"], "zh-Hans")).to eq '机器人,欢迎登录虚拟世界!'
|
20
|
-
end
|
21
|
-
|
22
|
-
it "GET_EN" do
|
23
|
-
expect(SgtnClient::Translation.getString("JAVA", "hello", "en")).to eq 'Hello'
|
24
|
-
# get from cache in 2nd time
|
25
|
-
expect(SgtnClient::Translation.getString("JAVA", "hello", "en")).to eq 'Hello'
|
26
|
-
end
|
27
|
-
|
28
|
-
it "GET_zh_CN" do
|
29
|
-
expect(SgtnClient::Translation.getString("JAVA", "helloworld", "zh-CN")).to eq '你好世界'
|
30
|
-
# get from cache in 2nd time
|
31
|
-
expect(SgtnClient::Translation.getString("JAVA", "helloworld", "zh-CN")).to eq '你好世界'
|
32
|
-
end
|
33
|
-
|
34
|
-
it "NonExistingKey" do
|
35
|
-
expect(SgtnClient::Translation.getString("JAVA", "hello", "zh-Hans")).to eq 'Hello'
|
36
|
-
# get from cache in 2nd time
|
37
|
-
expect(SgtnClient::Translation.getString("JAVA", "hello", "zh-Hans")).to eq 'Hello'
|
38
|
-
|
39
|
-
expect(SgtnClient::Translation.getString_f("JAVA", "login", ["Robot", "VM"], "zh-Hans")).to eq 'Robot login VM!'
|
40
|
-
# get from cache in 2nd time
|
41
|
-
expect(SgtnClient::Translation.getString_f("JAVA", "login", ["Robot", "VM"], "zh-Hans")).to eq 'Robot login VM!'
|
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
|
51
|
-
end
|
52
|
-
|
53
|
-
end
|
data/spec/unit/onclient_spec.rb
DELETED
@@ -1,32 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe SgtnClient do
|
4
|
-
describe "OnlineAPI" do
|
5
|
-
|
6
|
-
before :each do
|
7
|
-
env = SgtnClient::Config.default_environment
|
8
|
-
SgtnClient::CacheUtil.clear_cache()
|
9
|
-
SgtnClient::Config.configurations[env]["bundle_mode"] = 'offline'
|
10
|
-
SgtnClient::Source.loadBundles("default")
|
11
|
-
end
|
12
|
-
|
13
|
-
it "GET_EN" do
|
14
|
-
expect(SgtnClient::Translation.getString("JAVA", "helloworld", "en")).to eq 'Hello world'
|
15
|
-
# get from cache in 2nd time
|
16
|
-
expect(SgtnClient::Translation.getString("JAVA", "helloworld", "en")).to eq 'Hello world'
|
17
|
-
end
|
18
|
-
|
19
|
-
it "GET" do
|
20
|
-
expect(SgtnClient::Translation.getString("JAVA", "helloworld", "zh-Hans")).to eq '你好世界'
|
21
|
-
# get from cache in 2nd time
|
22
|
-
expect(SgtnClient::Translation.getString("JAVA", "helloworld", "zh-Hans")).to eq '你好世界'
|
23
|
-
end
|
24
|
-
|
25
|
-
it "NonExistingKey" do
|
26
|
-
expect(SgtnClient::Translation.getString("JAVA", "hello", "zh-Hans")).to eq 'Hello'
|
27
|
-
# get from cache in 2nd time
|
28
|
-
expect(SgtnClient::Translation.getString("JAVA", "hello", "zh-Hans")).to eq 'Hello'
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
end
|
data/spec/unit/request_spec.rb
DELETED
@@ -1,22 +0,0 @@
|
|
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
|
data/spec/unit/version_spec.rb
DELETED
@@ -1,11 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe VERSION do
|
4
|
-
describe 'version' do
|
5
|
-
# test that there is a sane version number to avoid accidental 0.0.0 again
|
6
|
-
it 'has a version > 0.0.0, < 3.0' do
|
7
|
-
ver = Gem::Version.new(VERSION)
|
8
|
-
expect(Gem::Requirement.new('> 0.0.0', '< 3.0')).to be_satisfied_by(ver)
|
9
|
-
end
|
10
|
-
end
|
11
|
-
end
|