tr8n_core 4.0.1 → 4.0.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 +4 -4
- data/README.md +163 -33
- data/lib/tr8n/application.rb +29 -27
- data/lib/tr8n/base.rb +2 -22
- data/lib/tr8n/cache.rb +9 -9
- data/lib/tr8n/cache_adapters/cdb.rb +2 -2
- data/lib/tr8n/cache_adapters/file.rb +2 -2
- data/lib/tr8n/cache_adapters/memcache.rb +3 -3
- data/lib/tr8n/cache_adapters/redis.rb +3 -3
- data/lib/tr8n/component.rb +1 -1
- data/lib/tr8n/config.rb +256 -202
- data/lib/tr8n/decorators/base.rb +1 -1
- data/lib/tr8n/decorators/default.rb +1 -1
- data/lib/tr8n/decorators/html.rb +4 -4
- data/lib/tr8n/exception.rb +1 -1
- data/lib/tr8n/language.rb +17 -27
- data/lib/tr8n/language_case.rb +4 -3
- data/lib/tr8n/language_case_rule.rb +1 -1
- data/lib/tr8n/language_context.rb +4 -2
- data/lib/tr8n/language_context_rule.rb +1 -1
- data/lib/tr8n/logger.rb +8 -3
- data/lib/tr8n/rules_engine/evaluator.rb +4 -7
- data/lib/tr8n/rules_engine/parser.rb +1 -28
- data/lib/tr8n/session.rb +87 -0
- data/lib/tr8n/source.rb +1 -1
- data/lib/tr8n/tokens/data.rb +2 -2
- data/lib/tr8n/tokens/data_tokenizer.rb +1 -1
- data/lib/tr8n/tokens/decoration_tokenizer.rb +1 -1
- data/lib/tr8n/tokens/hidden.rb +1 -1
- data/lib/tr8n/tokens/method.rb +1 -1
- data/lib/tr8n/tokens/transform.rb +2 -2
- data/lib/tr8n/translation.rb +2 -2
- data/lib/tr8n/translation_key.rb +4 -4
- data/lib/tr8n/translator.rb +1 -1
- data/lib/tr8n/utils.rb +1 -1
- data/lib/tr8n_core/ext/array.rb +4 -4
- data/lib/tr8n_core/ext/date.rb +38 -13
- data/lib/tr8n_core/ext/fixnum.rb +3 -3
- data/lib/tr8n_core/ext/hash.rb +1 -1
- data/lib/tr8n_core/ext/string.rb +3 -3
- data/lib/tr8n_core/ext/time.rb +30 -24
- data/lib/tr8n_core/generators/cache/base.rb +4 -4
- data/lib/tr8n_core/generators/cache/cdb.rb +1 -1
- data/lib/tr8n_core/generators/cache/file.rb +4 -3
- data/lib/tr8n_core/version.rb +2 -2
- data/lib/tr8n_core.rb +1 -1
- data/spec/application_spec.rb +5 -192
- data/spec/base_spec.rb +1 -1
- data/spec/config_spec.rb +21 -5
- data/spec/decorator_spec.rb +1 -1
- data/spec/decorators/base_spec.rb +1 -1
- data/spec/decorators/default_spec.rb +1 -1
- data/spec/decorators/html_spec.rb +8 -8
- data/spec/fixtures/languages/ru.json +36 -4
- data/spec/language_case_rule_spec.rb +1 -1
- data/spec/language_case_spec.rb +1 -1
- data/spec/language_context_rule_spec.rb +1 -1
- data/spec/language_context_spec.rb +1 -1
- data/spec/language_spec.rb +603 -4
- data/spec/rules_engine/evaluator_spec.rb +1 -1
- data/spec/rules_engine/parser_spec.rb +1 -1
- data/spec/{helper.rb → spec_helper.rb} +15 -7
- data/spec/tokens/data_spec.rb +2 -2
- data/spec/tokens/data_tokenizer_spec.rb +1 -1
- data/spec/tokens/decoration_tokenizer_spec.rb +1 -1
- data/spec/tokens/hidden_spec.rb +1 -1
- data/spec/tokens/method_spec.rb +1 -1
- data/spec/tokens/transform_spec.rb +1 -1
- data/spec/translation_key_spec.rb +1 -1
- data/spec/translation_spec.rb +1 -1
- data/spec/utils_spec.rb +1 -3
- metadata +5 -8
- data/config/config.yml +0 -34
- data/config/tokens/data.yml +0 -45
- data/config/tokens/decorations.yml +0 -37
- data/lib/tr8n_core/modules/logger.rb +0 -43
@@ -12,6 +12,10 @@ SimpleCov.start
|
|
12
12
|
|
13
13
|
require 'tr8n_core'
|
14
14
|
|
15
|
+
Tr8n.configure do |config|
|
16
|
+
config.format = :text
|
17
|
+
end
|
18
|
+
|
15
19
|
def fixtures_root
|
16
20
|
File.join(File.dirname(__FILE__), 'fixtures')
|
17
21
|
end
|
@@ -20,14 +24,18 @@ def load_json(file_path)
|
|
20
24
|
JSON.parse(File.read("#{fixtures_root}/#{file_path}"))
|
21
25
|
end
|
22
26
|
|
23
|
-
def
|
24
|
-
|
25
|
-
|
27
|
+
def load_translation_key_from_hash(app, hash)
|
28
|
+
app.cache_translation_key(Tr8n::TranslationKey.new(hash.merge(:application => app)))
|
29
|
+
end
|
30
|
+
|
31
|
+
def load_translation_key_from_array(app, arr)
|
32
|
+
arr.each do |tkey|
|
33
|
+
load_translation_key_from_hash(app, tkey)
|
26
34
|
end
|
27
35
|
end
|
28
36
|
|
29
|
-
def
|
30
|
-
app
|
37
|
+
def load_translation_keys_from_file(app, path)
|
38
|
+
load_translation_key_from_array(app, load_json(path))
|
31
39
|
end
|
32
40
|
|
33
41
|
def stub_object(attrs)
|
@@ -44,8 +52,8 @@ def init_application(locales = [], path = 'application.json')
|
|
44
52
|
locales.each do |locale|
|
45
53
|
app.add_language(Tr8n::Language.new(load_json("languages/#{locale}.json")))
|
46
54
|
end
|
47
|
-
Tr8n.
|
48
|
-
Tr8n.
|
55
|
+
Tr8n.session.application = app
|
56
|
+
Tr8n.session.current_language = app.language('en-US')
|
49
57
|
app
|
50
58
|
end
|
51
59
|
|
data/spec/tokens/data_spec.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# encoding: UTF-8
|
2
2
|
|
3
|
-
require '
|
3
|
+
require 'spec_helper'
|
4
4
|
|
5
5
|
describe Tr8n::Tokens::Data do
|
6
6
|
before do
|
@@ -95,7 +95,7 @@ describe Tr8n::Tokens::Data do
|
|
95
95
|
users << stub_object({:first_name => "First name #{i}", :last_name => "Last name #{i}", :gender => "Male"})
|
96
96
|
end
|
97
97
|
|
98
|
-
Tr8n.
|
98
|
+
Tr8n.session.with_block_options(:dry => true) do
|
99
99
|
expect(token.token_value([users, :first_name], {}, @english)).to match("2 others")
|
100
100
|
|
101
101
|
expect(token.token_value([users, [:first_name], {
|
data/spec/tokens/hidden_spec.rb
CHANGED
data/spec/tokens/method_spec.rb
CHANGED
data/spec/translation_spec.rb
CHANGED
data/spec/utils_spec.rb
CHANGED
@@ -1,12 +1,10 @@
|
|
1
1
|
# encoding: UTF-8
|
2
2
|
|
3
|
-
require '
|
3
|
+
require 'spec_helper'
|
4
4
|
|
5
5
|
describe Tr8n::Utils do
|
6
6
|
describe "helper methods" do
|
7
7
|
it "should return correct values" do
|
8
|
-
#expect(Tr8n::Utils.root).to eq(File.expand_path("#{__dir__}/../"))
|
9
|
-
expect(Tr8n::Utils.load_yaml("#{Tr8n.config.root}/config/tokens/data.yml").class).to eq(Hash)
|
10
8
|
|
11
9
|
expect(
|
12
10
|
Tr8n::Utils.normalize_tr_params("Hello {user}", "Sample label", {:user => "Michael"}, {})
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tr8n_core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0.
|
4
|
+
version: 4.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Berkovich
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-03-
|
11
|
+
date: 2014-03-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -52,6 +52,7 @@ files:
|
|
52
52
|
- lib/tr8n/logger.rb
|
53
53
|
- lib/tr8n/rules_engine/evaluator.rb
|
54
54
|
- lib/tr8n/rules_engine/parser.rb
|
55
|
+
- lib/tr8n/session.rb
|
55
56
|
- lib/tr8n/source.rb
|
56
57
|
- lib/tr8n/tokens/data.rb
|
57
58
|
- lib/tr8n/tokens/data_tokenizer.rb
|
@@ -72,12 +73,8 @@ files:
|
|
72
73
|
- lib/tr8n_core/generators/cache/base.rb
|
73
74
|
- lib/tr8n_core/generators/cache/cdb.rb
|
74
75
|
- lib/tr8n_core/generators/cache/file.rb
|
75
|
-
- lib/tr8n_core/modules/logger.rb
|
76
76
|
- lib/tr8n_core/version.rb
|
77
77
|
- lib/tr8n_core.rb
|
78
|
-
- config/config.yml
|
79
|
-
- config/tokens/data.yml
|
80
|
-
- config/tokens/decorations.yml
|
81
78
|
- LICENSE
|
82
79
|
- Rakefile
|
83
80
|
- README.md
|
@@ -98,7 +95,6 @@ files:
|
|
98
95
|
- spec/fixtures/translations/ru/last_names.txt
|
99
96
|
- spec/fixtures/translations/ru/names.json
|
100
97
|
- spec/fixtures/translations/ru/names.txt
|
101
|
-
- spec/helper.rb
|
102
98
|
- spec/language_case_rule_spec.rb
|
103
99
|
- spec/language_case_spec.rb
|
104
100
|
- spec/language_context_rule_spec.rb
|
@@ -106,6 +102,7 @@ files:
|
|
106
102
|
- spec/language_spec.rb
|
107
103
|
- spec/rules_engine/evaluator_spec.rb
|
108
104
|
- spec/rules_engine/parser_spec.rb
|
105
|
+
- spec/spec_helper.rb
|
109
106
|
- spec/tokens/data_spec.rb
|
110
107
|
- spec/tokens/data_tokenizer_spec.rb
|
111
108
|
- spec/tokens/decoration_tokenizer_spec.rb
|
@@ -157,7 +154,6 @@ test_files:
|
|
157
154
|
- spec/fixtures/translations/ru/last_names.txt
|
158
155
|
- spec/fixtures/translations/ru/names.json
|
159
156
|
- spec/fixtures/translations/ru/names.txt
|
160
|
-
- spec/helper.rb
|
161
157
|
- spec/language_case_rule_spec.rb
|
162
158
|
- spec/language_case_spec.rb
|
163
159
|
- spec/language_context_rule_spec.rb
|
@@ -165,6 +161,7 @@ test_files:
|
|
165
161
|
- spec/language_spec.rb
|
166
162
|
- spec/rules_engine/evaluator_spec.rb
|
167
163
|
- spec/rules_engine/parser_spec.rb
|
164
|
+
- spec/spec_helper.rb
|
168
165
|
- spec/tokens/data_spec.rb
|
169
166
|
- spec/tokens/data_tokenizer_spec.rb
|
170
167
|
- spec/tokens/decoration_tokenizer_spec.rb
|
data/config/config.yml
DELETED
@@ -1,34 +0,0 @@
|
|
1
|
-
defaults:
|
2
|
-
enabled: true
|
3
|
-
default_locale: en-US
|
4
|
-
default_level: 0
|
5
|
-
application:
|
6
|
-
host: http://localhost:3000
|
7
|
-
key: default
|
8
|
-
secret: 12345
|
9
|
-
logger:
|
10
|
-
enabled: true
|
11
|
-
path: /log/tr8n.log
|
12
|
-
cache:
|
13
|
-
enabled: false
|
14
|
-
adapter: file
|
15
|
-
path: /cache
|
16
|
-
version: 1
|
17
|
-
timeout: 3600
|
18
|
-
host: localhost:11211
|
19
|
-
localization:
|
20
|
-
default_day_names: [Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday]
|
21
|
-
default_abbr_day_names: [Sun, Mon, Tue, Wed, Thu, Fri, Sat]
|
22
|
-
default_month_names: [January, February, March, April, May, June, July, August, September, October, November, December]
|
23
|
-
default_abbr_month_names: [Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec]
|
24
|
-
custom_date_formats:
|
25
|
-
default: '%m/%d/%Y' # 07/4/2008
|
26
|
-
short_numeric: '%m/%d' # 07/4
|
27
|
-
short_numeric_year: '%m/%d/%y' # 07/4/08
|
28
|
-
long_numeric: '%m/%d/%Y' # 07/4/2008
|
29
|
-
verbose: '%A, %B %d, %Y' # Friday, July 4, 2008
|
30
|
-
monthname: '%B %d' # July 4
|
31
|
-
monthname_year: '%B %d, %Y' # July 4, 2008
|
32
|
-
monthname_abbr: '%b %d' # Jul 4
|
33
|
-
monthname_abbr_year: '%b %d, %Y' # Jul 4, 2008
|
34
|
-
date_time: '%m/%d/%Y at %H:%M' # 01/03/1010 at 5:30
|
data/config/tokens/data.yml
DELETED
@@ -1,45 +0,0 @@
|
|
1
|
-
#############################################################################
|
2
|
-
#
|
3
|
-
# Tr8n Default Data Tokens
|
4
|
-
#
|
5
|
-
#############################################################################
|
6
|
-
|
7
|
-
html:
|
8
|
-
ndash: "–" # –
|
9
|
-
mdash: "—" # —
|
10
|
-
iexcl: "¡" # ¡
|
11
|
-
iquest: "¿" # ¿
|
12
|
-
quot: """ # "
|
13
|
-
ldquo: "“" # “
|
14
|
-
rdquo: "”" # ”
|
15
|
-
lsquo: "‘" # ‘
|
16
|
-
rsquo: "’" # ’
|
17
|
-
laquo: "«" # «
|
18
|
-
raquo: "»" # »
|
19
|
-
nbsp: " " # space
|
20
|
-
lsaquo: "‹" # ‹
|
21
|
-
rsaquo: "›" # ›
|
22
|
-
br: "<br/>" # line break
|
23
|
-
lbrace: "{"
|
24
|
-
rbrace: "}"
|
25
|
-
trade: "™" # TM
|
26
|
-
|
27
|
-
plain:
|
28
|
-
ndash: "–" # –
|
29
|
-
mdash: "—" # —
|
30
|
-
iexcl: "¡" # ¡
|
31
|
-
iquest: "¿" # ¿
|
32
|
-
quot: '"' # "
|
33
|
-
ldquo: "“" # “
|
34
|
-
rdquo: "”" # ”
|
35
|
-
lsquo: "‘" # ‘
|
36
|
-
rsquo: "’" # ’
|
37
|
-
laquo: "«" # «
|
38
|
-
raquo: "»" # »
|
39
|
-
nbsp: " " # space
|
40
|
-
lsaquo: "‹" # ‹
|
41
|
-
rsaquo: "›" # ›
|
42
|
-
br: "\n" # line break
|
43
|
-
lbrace: "{"
|
44
|
-
rbrace: "}"
|
45
|
-
trade: "™" # TM
|
@@ -1,37 +0,0 @@
|
|
1
|
-
#############################################################################
|
2
|
-
#
|
3
|
-
# Tr8n Default Decoration Tokens
|
4
|
-
#
|
5
|
-
#############################################################################
|
6
|
-
|
7
|
-
html:
|
8
|
-
strong: "<strong>{$0}</strong>"
|
9
|
-
bold: "<strong>{$0}</strong>"
|
10
|
-
b: "<strong>{$0}</strong>"
|
11
|
-
em: "<em>{$0}</em>"
|
12
|
-
italic: "<i>{$0}</i>"
|
13
|
-
i: "<i>{$0}</i>"
|
14
|
-
link: "<a href='{$href}'>{$0}</a>"
|
15
|
-
br: "<br>{$0}"
|
16
|
-
strike: "<strike>{$0}</strike>"
|
17
|
-
div: "<div id='{$id}' class='{$class}' style='{$style}'>{$0}</div>"
|
18
|
-
span: "<span id='{$id}' class='{$class}' style='{$style}'>{$0}</span>"
|
19
|
-
h1: "<h1>{$0}</h1>"
|
20
|
-
h2: "<h2>{$0}</h2>"
|
21
|
-
h3: "<h3>{$0}</h3>"
|
22
|
-
|
23
|
-
plain:
|
24
|
-
strong: "{$0}"
|
25
|
-
bold: "{$0}"
|
26
|
-
b: "{$0}"
|
27
|
-
em: "{$0}"
|
28
|
-
italic: "{$0}"
|
29
|
-
i: "{$0}"
|
30
|
-
link: "{$0}:{$1}"
|
31
|
-
br: "\n{$0}"
|
32
|
-
strike: "{$0}"
|
33
|
-
div: "{$0}"
|
34
|
-
span: "{$0}"
|
35
|
-
h1: "{$0}"
|
36
|
-
h2: "{$0}"
|
37
|
-
h3: "{$0}"
|
@@ -1,43 +0,0 @@
|
|
1
|
-
#--
|
2
|
-
# Copyright (c) 2013 Michael Berkovich, tr8nhub.com
|
3
|
-
#
|
4
|
-
# Permission is hereby granted, free of charge, to any person obtaining
|
5
|
-
# a copy of this software and associated documentation files (the
|
6
|
-
# "Software"), to deal in the Software without restriction, including
|
7
|
-
# without limitation the rights to use, copy, modify, merge, publish,
|
8
|
-
# distribute, sublicense, and/or sell copies of the Software, and to
|
9
|
-
# permit persons to whom the Software is furnished to do so, subject to
|
10
|
-
# the following conditions:
|
11
|
-
#
|
12
|
-
# The above copyright notice and this permission notice shall be
|
13
|
-
# included in all copies or substantial portions of the Software.
|
14
|
-
#
|
15
|
-
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
16
|
-
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
17
|
-
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
18
|
-
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
19
|
-
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
20
|
-
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
21
|
-
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
22
|
-
#++
|
23
|
-
|
24
|
-
module Tr8nCore
|
25
|
-
module Modules
|
26
|
-
module Logger
|
27
|
-
|
28
|
-
def debug(msg)
|
29
|
-
Tr8n::Logger.debug(msg)
|
30
|
-
end
|
31
|
-
|
32
|
-
def info(msg)
|
33
|
-
Tr8n::Logger.info(msg)
|
34
|
-
end
|
35
|
-
|
36
|
-
def error(msg)
|
37
|
-
Tr8n::Logger.error(msg)
|
38
|
-
end
|
39
|
-
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|