i18nliner 0.2.2 → 0.2.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/lib/i18nliner/extensions/controller.rb +1 -1
- data/lib/i18nliner/extensions/core.rb +1 -1
- data/lib/i18nliner/extensions/model.rb +1 -1
- data/lib/i18nliner/extensions/view.rb +1 -1
- data/lib/i18nliner/extractors/ruby_extractor.rb +3 -0
- data/spec/extensions/controller_spec.rb +1 -1
- data/spec/extensions/core_spec.rb +12 -4
- data/spec/extensions/view_spec.rb +2 -2
- data/spec/extractors/ruby_extractor_spec.rb +4 -0
- metadata +19 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3cae685053ab3a06d205244fb111de3040ca1d81224d099e2350f016d07f0d55
|
4
|
+
data.tar.gz: f41863a6a11fffc2839cae6bbf5c4fb98c67e7f71a6b8524b9f5aa49bbee1b26
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4b89963344f03ce3f822a917ad6005278763ef23aeead3044d5dd06160cc3583b2ae9662baa5113dddf870e9dd5dd0bd279c2c6d2e7decdd54682a68ec4e1d4a
|
7
|
+
data.tar.gz: 970fa32baf0fb3bb378d793f664296d67ea2199ba0e6bc8193f4b72eeb12a4917b944742b8d4b9766c942fc54525183c864b4b84c77488c3852766d165bb06ad
|
@@ -13,7 +13,7 @@ module I18nliner
|
|
13
13
|
key, options = CallHelpers.infer_arguments(args)
|
14
14
|
options = inferpolate(options) if I18nliner.infer_interpolation_values
|
15
15
|
options[:i18nliner_scope] = i18nliner_scope
|
16
|
-
super(key, options)
|
16
|
+
super(key, **options)
|
17
17
|
end
|
18
18
|
alias :t :translate
|
19
19
|
alias :t! :translate
|
@@ -17,7 +17,7 @@ module I18nliner
|
|
17
17
|
end
|
18
18
|
|
19
19
|
wrappers = options.delete(:wrappers) || options.delete(:wrapper)
|
20
|
-
result = super(key, options)
|
20
|
+
result = super(key, **options)
|
21
21
|
|
22
22
|
# Exit now unless we have a string or a thing that delegates to a string
|
23
23
|
return result unless result.respond_to?(:gsub)
|
@@ -13,7 +13,7 @@ module I18nliner
|
|
13
13
|
key, options = CallHelpers.infer_arguments(args)
|
14
14
|
options = inferpolate(options) if I18nliner.infer_interpolation_values
|
15
15
|
options[:i18nliner_scope] = i18nliner_scope
|
16
|
-
I18n.translate(key, options)
|
16
|
+
I18n.translate(key, **options)
|
17
17
|
end
|
18
18
|
alias :t :translate
|
19
19
|
alias :t! :translate
|
@@ -17,7 +17,7 @@ module I18nliner
|
|
17
17
|
key, options = CallHelpers.infer_arguments(args)
|
18
18
|
options = inferpolate(options) if I18nliner.infer_interpolation_values
|
19
19
|
options[:i18nliner_scope] = i18nliner_scope
|
20
|
-
super(key, options)
|
20
|
+
super(key, **options)
|
21
21
|
rescue ArgumentError
|
22
22
|
raise
|
23
23
|
end
|
@@ -84,6 +84,9 @@ module I18nliner
|
|
84
84
|
end
|
85
85
|
|
86
86
|
def evaluate_expression(exp)
|
87
|
+
# value omissions in hashes will be nil and can just be considered UnsupportedExpression
|
88
|
+
# since they are equivalent to a method call
|
89
|
+
return UnsupportedExpression if exp.nil?
|
87
90
|
return raw(exp) if exp.sexp_type == :lit
|
88
91
|
return string_from(exp) if stringish?(exp)
|
89
92
|
return hash_from(exp) if exp.sexp_type == :hash
|
@@ -5,11 +5,15 @@ describe I18nliner::Extensions::Core do
|
|
5
5
|
let(:i18n) do
|
6
6
|
Module.new do
|
7
7
|
extend(Module.new do
|
8
|
-
def translate(
|
9
|
-
|
8
|
+
def translate(key, **options)
|
9
|
+
if RUBY_VERSION >= '3.0'
|
10
|
+
simple_translate(key, **options)
|
11
|
+
else
|
12
|
+
simple_translate(key, options)
|
13
|
+
end
|
10
14
|
end
|
11
15
|
|
12
|
-
def simple_translate(key, options)
|
16
|
+
def simple_translate(key, **options)
|
13
17
|
string = options.delete(:default)
|
14
18
|
interpolate_hash(string, options)
|
15
19
|
end
|
@@ -48,7 +52,11 @@ describe I18nliner::Extensions::Core do
|
|
48
52
|
end
|
49
53
|
|
50
54
|
it "should stringify array keys, but not the array itself" do
|
51
|
-
|
55
|
+
if RUBY_VERSION >= '3.0'
|
56
|
+
expect(i18n).to receive(:simple_translate).with(["bar", "baz"])
|
57
|
+
else
|
58
|
+
expect(i18n).to receive(:simple_translate).with(["bar", "baz"], {})
|
59
|
+
end
|
52
60
|
i18n.translate([:bar, :baz])
|
53
61
|
end
|
54
62
|
|
@@ -6,9 +6,9 @@ describe I18nliner::Extensions::View do
|
|
6
6
|
let(:i18n) do
|
7
7
|
Module.new do
|
8
8
|
extend(Module.new do
|
9
|
-
def translate(key, options)
|
9
|
+
def translate(key, **options)
|
10
10
|
options.delete(:i18nliner_inferred_key)
|
11
|
-
I18n.translate(key, options)
|
11
|
+
I18n.translate(key, **options)
|
12
12
|
end
|
13
13
|
end)
|
14
14
|
extend I18nliner::Extensions::View
|
@@ -49,6 +49,10 @@ describe I18nliner::Extractors::RubyExtractor do
|
|
49
49
|
{'foo' => "Foo"})
|
50
50
|
end
|
51
51
|
|
52
|
+
it "should handle omitted values in hashes" do
|
53
|
+
expect { extract("t('foo %{count}', count:)") }.not_to raise_error
|
54
|
+
end
|
55
|
+
|
52
56
|
it "should bail on invalid t calls" do
|
53
57
|
assert_error "t foo", I18nliner::InvalidSignatureError
|
54
58
|
assert_error "t :foo, foo", I18nliner::InvalidSignatureError
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: i18nliner
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jon Jensen
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-06-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '6.0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: i18n
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 1.8.6
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 1.8.6
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: ruby_parser
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -210,7 +224,7 @@ files:
|
|
210
224
|
homepage: http://github.com/jenseng/i18nliner
|
211
225
|
licenses: []
|
212
226
|
metadata: {}
|
213
|
-
post_install_message:
|
227
|
+
post_install_message:
|
214
228
|
rdoc_options: []
|
215
229
|
require_paths:
|
216
230
|
- lib
|
@@ -226,7 +240,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
226
240
|
version: 1.3.5
|
227
241
|
requirements: []
|
228
242
|
rubygems_version: 3.1.6
|
229
|
-
signing_key:
|
243
|
+
signing_key:
|
230
244
|
specification_version: 4
|
231
245
|
summary: I18n made simple
|
232
246
|
test_files: []
|