i18n-js 3.1.0 → 3.2.0

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: 1ddbdc40f7c45b3d6f6efd89f7e38ce602e06309280cf4b23a0c66fbbb465a6f
4
- data.tar.gz: 820b05a44bcff8eb060d53a007b9d61342bfaf9d49a1286c69f9dfe2d6cf60dd
3
+ metadata.gz: d31e5a96a37e60b0fddf00af9f9bad30a93b66adde3d85e3ad9b9b2771c31bdc
4
+ data.tar.gz: e615279399a220d76c6678d63e797b2abd5b843ae92078fab95b1bfc220b2b16
5
5
  SHA512:
6
- metadata.gz: 2b9ff1a4f87ba0d8e69e0b2719a2a32ae605a96953a76e443052f7a622b6735aa5e5c0c1a7b3af50e98558c3ab9e1d04d7a32d67c5acd4cb328cd99f10092531
7
- data.tar.gz: 76d742dd79d8af3e6d689487096efe318cd7e4eabd3b2c8c67157b90357ca8eeea106c820d3ef832ec802daefdb28e6a7081c14d9a66128c0bf3bb8fcdb031cd
6
+ metadata.gz: f43b695fba0788ca02c5a36776b1f197895cc639640f4fc96a1bb5a8cd236229991f69ab83c08e1a2d0163cc77f68832ba45b34c0f61903b28b76305e590ff94
7
+ data.tar.gz: 387b2be62ae991d415c9c599cf9b56c4162654bbb2ee5cd5e11b8b264f6d79f2f14b007d16051c4a9d1c5a0b50d15f8f94cbe2b9dea2623a9daf1fe6b92c67bf
data/.gitignore CHANGED
@@ -2,5 +2,6 @@ pkg
2
2
  node_modules
3
3
  Gemfile.lock
4
4
  .idea/
5
+ coverage/
5
6
  gemfiles/*.gemfile.lock
6
7
  gemfiles/.bundle
@@ -8,13 +8,11 @@ cache:
8
8
  directories:
9
9
  - node_modules
10
10
  rvm:
11
- - 2.1.10
12
- - 2.2.8
13
- # Since the Travis Build Env does not recognize `2.3` alias yet
14
- # We need to specify the version precisely
15
- - 2.3.6
16
- - 2.4.3
17
- - 2.5.0
11
+ - 2.1
12
+ - 2.2
13
+ - 2.3
14
+ - 2.4
15
+ - 2.5
18
16
  - ruby-head
19
17
  before_install:
20
18
  # Need to install something extra to test JS
@@ -23,11 +21,10 @@ before_install:
23
21
  # https://github.com/travis-ci/travis-ci/issues/8978#issuecomment-354036443
24
22
  - gem update --system
25
23
  gemfile:
26
- - gemfiles/i18n_0_6.gemfile
27
- - gemfiles/i18n_0_7.gemfile
28
24
  - gemfiles/i18n_0_8.gemfile
29
25
  - gemfiles/i18n_0_9.gemfile
30
26
  - gemfiles/i18n_1_0.gemfile
27
+ - gemfiles/i18n_1_1.gemfile
31
28
  matrix:
32
29
  fast_finish: true
33
30
  allow_failures:
data/Appraisals CHANGED
@@ -1,12 +1,4 @@
1
1
 
2
- appraise "i18n_0_6" do
3
- gem "i18n", "~> 0.6.0", ">= 0.6.6"
4
- end
5
-
6
- appraise "i18n_0_7" do
7
- gem "i18n", "~> 0.7.0"
8
- end
9
-
10
2
  appraise "i18n_0_8" do
11
3
  gem "i18n", "~> 0.8.0"
12
4
  end
@@ -18,3 +10,7 @@ end
18
10
  appraise "i18n_1_0" do
19
11
  gem "i18n", "~> 1.0.0"
20
12
  end
13
+
14
+ appraise "i18n_1_1" do
15
+ gem "i18n", "~> 1.1.0"
16
+ end
@@ -18,16 +18,28 @@ This project adheres to [Semantic Versioning](http://semver.org/).
18
18
  - Nothing
19
19
 
20
20
 
21
+ ## [3.2.0] - 2018-11-16
22
+
23
+ ### Added
24
+
25
+ - [Ruby] Add option `json_only` to generate translations in JSON
26
+ (PR: https://github.com/fnando/i18n-js/pull/524)
27
+
28
+ ### Changed
29
+
30
+ - [Ruby] Requires `i18n` to be `>= 0.8.0` for CVE-2014-10077
31
+
32
+
21
33
  ## [3.1.0] - 2018-11-01
22
34
 
23
35
  ### Added
24
36
 
25
- - [Ruby] Add option to allow setting a different I18n backend
37
+ - [Ruby] Add option to allow setting a different I18n backend
26
38
  (PR: https://github.com/fnando/i18n-js/pull/519)
27
39
 
28
40
  ### Fixed
29
41
 
30
- - [JS] Fix missing translation when pluralizing with default scopes
42
+ - [JS] Fix missing translation when pluralizing with default scopes
31
43
  (PR: https://github.com/fnando/i18n-js/pull/516)
32
44
 
33
45
 
@@ -35,7 +47,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
35
47
 
36
48
  ### Fixed
37
49
 
38
- - [JS] Fix interpolation for array with non string/null elements
50
+ - [JS] Fix interpolation for array with non string/null elements
39
51
  (PR: https://github.com/fnando/i18n-js/pull/505)
40
52
 
41
53
 
@@ -43,9 +55,9 @@ This project adheres to [Semantic Versioning](http://semver.org/).
43
55
 
44
56
  ### Fixed
45
57
 
46
- - [JS] Fix extend method changing keys with `null` to empty objects
58
+ - [JS] Fix extend method changing keys with `null` to empty objects
47
59
  (PR: https://github.com/fnando/i18n-js/pull/503)
48
- - [JS] Fix variable name in an internal method
60
+ - [JS] Fix variable name in an internal method
49
61
  (PR: https://github.com/fnando/i18n-js/pull/501)
50
62
 
51
63
 
@@ -60,7 +72,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
60
72
 
61
73
  ### Changed
62
74
 
63
- - [JS] Interpolate translation array too
75
+ - [JS] Interpolate translation array too
64
76
  (PR: https://github.com/fnando/i18n-js/pull/498)
65
77
 
66
78
 
@@ -75,7 +87,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
75
87
 
76
88
  ### Fixed
77
89
 
78
- - [Ruby] Make JS `i18n/filtered` depends on i18n-js config too
90
+ - [Ruby] Make JS `i18n/filtered` depends on i18n-js config too
79
91
  (PR: https://github.com/fnando/i18n-js/pull/497)
80
92
 
81
93
 
@@ -347,8 +359,9 @@ And today is not April Fools' Day
347
359
 
348
360
 
349
361
 
350
- [Unreleased]: https://github.com/fnando/i18n-js/compare/v3.1.0...HEAD
351
- [3.1.0]: https://github.com/fnando/i18n-js/compare/v3.0.11...v3.1.0
362
+ [Unreleased]: https://github.com/fnando/i18n-js/compare/v3.2.0...HEAD
363
+ [3.2.0]: https://github.com/fnando/i18n-js/compare/v3.1.0...v3.2.0
364
+ [3.1.0]: https://github.com/fnando/i18n-js/compare/v3.0.11...v3.1.0
352
365
  [3.0.11]: https://github.com/fnando/i18n-js/compare/v3.0.10...v3.0.11
353
366
  [3.0.10]: https://github.com/fnando/i18n-js/compare/v3.0.9...v3.0.10
354
367
  [3.0.9]: https://github.com/fnando/i18n-js/compare/v3.0.8...v3.0.9
data/README.md CHANGED
@@ -4,8 +4,7 @@
4
4
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square)](https://opensource.org/licenses/MIT)
5
5
 
6
6
  [![Build Status](http://img.shields.io/travis/fnando/i18n-js.svg?style=flat-square)](https://travis-ci.org/fnando/i18n-js)
7
- [![Dependency Status](http://img.shields.io/gemnasium/fnando/i18n-js.svg?style=flat-square)](https://gemnasium.com/fnando/i18n-js)
8
- [![Code Climate](http://img.shields.io/codeclimate/github/fnando/i18n-js.svg?style=flat-square)](https://codeclimate.com/github/fnando/i18n-js)
7
+ [![Coverage Status](http://img.shields.io/coveralls/fnando/i18n-js.svg?style=flat-square)](https://coveralls.io/r/fnando/i18n-js)
9
8
 
10
9
  [![Gitter](https://img.shields.io/badge/gitter-join%20chat-1dce73.svg?style=flat-square)](https://gitter.im/fnando/i18n-js)
11
10
 
@@ -827,6 +826,46 @@ Ref: http://2ality.com/2012/07/large-integers.html
827
826
 
828
827
  Feel free to find & discuss possible solution(s) at issue [#511](https://github.com/fnando/i18n-js/issues/511)
829
828
 
829
+ ### Only works with `Simple` backend
830
+
831
+ If you set `I18n.backend` to something other than the default `Simple` backend, you will likely get an exception like this:
832
+
833
+ ```
834
+ Undefined method 'initialized?' for <your backend class>
835
+ ```
836
+
837
+ For now, i18n-js is only compatible with the `Simple` backend.
838
+ If you need a more sophisticated backend for your rails application, like `I18n::Backend::ActiveRecord`, you can setup i18n-js to get translations from a separate `Simple` backend, by adding the following in an initializer:
839
+
840
+ ```ruby
841
+ I18n::JS.backend = I18n.backend
842
+ I18n.backend = I18n::Backend::Chain.new(<your other backend(s)>, I18n.backend)
843
+ ```
844
+
845
+ This will use your backend with the default `Simple` backend as fallback, while i18n-js only sees and uses the simple backend.
846
+ This means however, that only translations from your static locale files will be present in JavaScript.
847
+
848
+ If you do cannot use a `Chain`-Backend for some reason, you can also set
849
+
850
+ ```ruby
851
+ I18n::JS.backend = I18n::Backend::Simple.new
852
+ I18n.backend = <something different>
853
+ ```
854
+
855
+ However, the automatic reloading of translations in developement will not work in this case.
856
+ This is because Rails calls `I18n.reload!` for each request in development, but `reload!` will not be called on `I18n::JS.backend`, since it is a different object.
857
+ One option would be to patch `I18n.reload!` in an initializer:
858
+
859
+ ```ruby
860
+ module I18n
861
+ def self.reload!
862
+ I18n::JS.backend.reload!
863
+ super
864
+ end
865
+ end
866
+ ```
867
+
868
+ See issue [#428](https://github.com/fnando/i18n-js/issues/428) for more details and discussion of this issue.
830
869
 
831
870
  ## Maintainer
832
871
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  source "https://rubygems.org"
4
4
 
5
- gem "i18n", "~> 0.7.0"
5
+ gem "i18n", "~> 1.1.0"
6
6
 
7
7
  gemspec path: "../"
@@ -18,12 +18,15 @@ Gem::Specification.new do |s|
18
18
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
19
  s.require_paths = ["lib"]
20
20
 
21
- s.add_dependency "i18n", ">= 0.6.6", "< 2"
21
+ # CVE-2014-10077 which is fixed for >= 0.8.0
22
+ # https://nvd.nist.gov/vuln/detail/CVE-2014-10077
23
+ s.add_dependency "i18n", ">= 0.8.0", "< 2"
22
24
 
23
25
  s.add_development_dependency "appraisal", "~> 2.0"
24
26
  s.add_development_dependency "rspec", "~> 3.0"
25
27
  s.add_development_dependency "rake", "~> 12.0"
26
28
  s.add_development_dependency "gem-release", ">= 0.7"
29
+ s.add_development_dependency "coveralls", ">= 0.7"
27
30
 
28
31
  s.required_ruby_version = ">= 2.1.0"
29
32
  end
@@ -187,6 +187,13 @@ module I18n
187
187
  fallbacks != false
188
188
  end
189
189
 
190
+ def self.json_only
191
+ config.fetch(:json_only) do
192
+ # default value
193
+ false
194
+ end
195
+ end
196
+
190
197
  def self.fallbacks
191
198
  config.fetch(:fallbacks) do
192
199
  # default value
@@ -215,6 +222,7 @@ module I18n
215
222
  segment_options = Private::HashWithSymbolKeys.new({
216
223
  js_extend: js_extend,
217
224
  sort_translation_keys: sort_translation_keys?,
225
+ json_only: json_only
218
226
  }).freeze
219
227
  segment_options.merge(options.slice(*Segment::OPTIONS))
220
228
  end
@@ -0,0 +1,9 @@
1
+ module I18n
2
+ module JS
3
+ class JsonOnlyLocaleRequiredError < StandardError
4
+ def message
5
+ 'The json_only option requires %{locale} in the file name.'
6
+ end
7
+ end
8
+ end
9
+ end
@@ -1,11 +1,12 @@
1
1
  require "i18n/js/private/hash_with_symbol_keys"
2
+ require "i18n/js/errors"
2
3
 
3
4
  module I18n
4
5
  module JS
5
6
 
6
7
  # Class which enscapulates a translations hash and outputs a single JSON translation file
7
8
  class Segment
8
- OPTIONS = [:namespace, :pretty_print, :js_extend, :sort_translation_keys].freeze
9
+ OPTIONS = [:namespace, :pretty_print, :js_extend, :sort_translation_keys, :json_only].freeze
9
10
  LOCALE_INTERPOLATOR = /%\{locale\}/
10
11
 
11
12
  attr_reader *([:file, :translations] | OPTIONS)
@@ -23,6 +24,7 @@ module I18n
23
24
  @pretty_print = !!options[:pretty_print]
24
25
  @js_extend = options.key?(:js_extend) ? !!options[:js_extend] : true
25
26
  @sort_translation_keys = options.key?(:sort_translation_keys) ? !!options[:sort_translation_keys] : true
27
+ @json_only = options.key?(:json_only) ? !!options[:json_only] : false
26
28
  end
27
29
 
28
30
  # Saves JSON file containing translations
@@ -32,6 +34,9 @@ module I18n
32
34
  write_file(file_for_locale(locale), @translations.slice(locale))
33
35
  end
34
36
  else
37
+ if @json_only
38
+ raise I18n::JS::JsonOnlyLocaleRequiredError
39
+ end
35
40
  write_file
36
41
  end
37
42
  end
@@ -53,7 +58,11 @@ module I18n
53
58
  end
54
59
 
55
60
  def js_header
56
- %(#{@namespace}.translations || (#{@namespace}.translations = {});\n)
61
+ if @json_only
62
+ ''
63
+ else
64
+ %(#{@namespace}.translations || (#{@namespace}.translations = {});\n)
65
+ end
57
66
  end
58
67
 
59
68
  def js_translations(locale, translations)
@@ -63,7 +72,9 @@ module I18n
63
72
  end
64
73
 
65
74
  def js_translations_line(locale, translations)
66
- if @js_extend
75
+ if @json_only
76
+ %({"#{locale}":#{translations}})
77
+ elsif @js_extend
67
78
  %(#{@namespace}.translations["#{locale}"] = I18n.extend((#{@namespace}.translations["#{locale}"] || {}), #{translations});\n)
68
79
  else
69
80
  %(#{@namespace}.translations["#{locale}"] = #{translations};\n)
@@ -2,6 +2,6 @@
2
2
 
3
3
  module I18n
4
4
  module JS
5
- VERSION = "3.1.0"
5
+ VERSION = "3.2.0"
6
6
  end
7
7
  end
@@ -0,0 +1,8 @@
1
+ fallbacks: false
2
+ json_only: true
3
+
4
+ translations:
5
+ - file: "tmp/i18n-js/json_only.%{locale}.js"
6
+ only:
7
+ - "*.date.formats.*"
8
+ - "*.number.currency.*"
@@ -6,10 +6,12 @@ describe I18n::JS::Segment do
6
6
  let(:translations){ { en: { "test" => "Test" }, fr: { "test" => "Test2" } } }
7
7
  let(:namespace) { "MyNamespace" }
8
8
  let(:pretty_print){ nil }
9
+ let(:json_only) { nil }
9
10
  let(:js_extend) { nil }
10
11
  let(:sort_translation_keys){ nil }
11
12
  let(:options) { { namespace: namespace,
12
13
  pretty_print: pretty_print,
14
+ json_only: json_only,
13
15
  js_extend: js_extend,
14
16
  sort_translation_keys: sort_translation_keys }.delete_if{|k,v| v.nil?} }
15
17
  subject { I18n::JS::Segment.new(file, translations, options) }
@@ -59,6 +61,36 @@ describe I18n::JS::Segment do
59
61
  end
60
62
  end
61
63
 
64
+ describe "#saving!" do
65
+ before { allow(I18n::JS).to receive(:export_i18n_js_dir_path).and_return(temp_path) }
66
+
67
+ context "when json_only is true" do
68
+ let(:file){ "tmp/i18n-js/%{locale}.js" }
69
+ let(:json_only){ true }
70
+ it 'should output the keys as sorted' do
71
+ subject.save!
72
+ file_should_exist "en.js"
73
+ file_should_exist "fr.js"
74
+
75
+ File.open(File.join(temp_path, "en.js")){|f| f.read}.should eql(
76
+ %Q({"en":{"test":"Test"}})
77
+ )
78
+
79
+ File.open(File.join(temp_path, "fr.js")){|f| f.read}.should eql(
80
+ %Q({"fr":{"test":"Test2"}})
81
+ )
82
+ end
83
+ end
84
+
85
+ context "when json_only is true without locale" do
86
+ let(:file){ "tmp/i18n-js/segment.js" }
87
+ let(:json_only){ true }
88
+ it 'should output the keys as sorted' do
89
+ expect { subject.save! }.to raise_error(I18n::JS::JsonOnlyLocaleRequiredError)
90
+ end
91
+ end
92
+ end
93
+
62
94
  describe "#save!" do
63
95
  before { allow(I18n::JS).to receive(:export_i18n_js_dir_path).and_return(temp_path) }
64
96
  before { subject.save! }
@@ -30,14 +30,14 @@ describe I18n::JS do
30
30
 
31
31
  it "exports messages using custom output path" do
32
32
  set_config "custom_path.yml"
33
- I18n::JS::Segment.should_receive(:new).with("tmp/i18n-js/all.js", translations, {js_extend: true, sort_translation_keys: true}).and_call_original
33
+ I18n::JS::Segment.should_receive(:new).with("tmp/i18n-js/all.js", translations, {js_extend: true, sort_translation_keys: true, json_only: false}).and_call_original
34
34
  I18n::JS::Segment.any_instance.should_receive(:save!).with(no_args)
35
35
  I18n::JS.export
36
36
  end
37
37
 
38
38
  it "sets default scope to * when not specified" do
39
39
  set_config "no_scope.yml"
40
- I18n::JS::Segment.should_receive(:new).with("tmp/i18n-js/no_scope.js", translations, {js_extend: true, sort_translation_keys: true}).and_call_original
40
+ I18n::JS::Segment.should_receive(:new).with("tmp/i18n-js/no_scope.js", translations, {js_extend: true, sort_translation_keys: true, json_only: false}).and_call_original
41
41
  I18n::JS::Segment.any_instance.should_receive(:save!).with(no_args)
42
42
  I18n::JS.export
43
43
  end
@@ -109,6 +109,22 @@ EOS
109
109
  )
110
110
  end
111
111
 
112
+ it "exports as json only" do
113
+ set_config "json_only.yml"
114
+ I18n::JS.export
115
+ en_output = File.read(File.join(I18n::JS.export_i18n_js_dir_path, "json_only.en.js"))
116
+ fr_output = File.read(File.join(I18n::JS.export_i18n_js_dir_path, "json_only.fr.js"))
117
+ expect(en_output).to eq (<<EOS
118
+ {"en":{"date":{"formats":{"default":"%Y-%m-%d","long":"%B %d, %Y","short":"%b %d"}},"number":{"currency":{"format":{"delimiter":",","format":"%u%n","precision":2,"separator":".","unit":"$"}}}}}
119
+ EOS
120
+ ).chop
121
+ expect(fr_output).to eq (<<EOS
122
+ {"fr":{"date":{"formats":{"default":"%d/%m/%Y","long":"%e %B %Y","long_ordinal":"%e %B %Y","only_day":"%e","short":"%e %b"}},"number":{"currency":{"format":{"format":"%n %u","precision":2,"unit":"€"}}}}}
123
+ EOS
124
+ ).chop
125
+ expect(JSON.parse(en_output).keys.first).to eq 'en'
126
+ end
127
+
112
128
  it "exports with :except condition" do
113
129
  set_config "except_condition.yml"
114
130
  I18n::JS.export
@@ -1,8 +1,27 @@
1
+ require 'rubygems'
2
+ require 'bundler'
3
+
4
+ begin
5
+ require 'simplecov'
6
+ SimpleCov.start do
7
+ add_filter 'spec'
8
+ end
9
+ rescue LoadError
10
+ # SimpleCov ain't available - continue
11
+ end
12
+
13
+ if ENV["TRAVIS"]
14
+ require "coveralls"
15
+ Coveralls.wear!("rails")
16
+ end
17
+
1
18
  require "i18n"
2
19
  require "json"
3
20
 
4
21
  require "i18n/js"
5
22
 
23
+ require "rspec"
24
+
6
25
  module Helpers
7
26
  # Set the configuration as the current one
8
27
  def set_config(path)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: i18n-js
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.0
4
+ version: 3.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nando Vieira
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-11-01 00:00:00.000000000 Z
11
+ date: 2018-11-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: i18n
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.6.6
19
+ version: 0.8.0
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: '2'
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 0.6.6
29
+ version: 0.8.0
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: '2'
@@ -86,6 +86,20 @@ dependencies:
86
86
  - - ">="
87
87
  - !ruby/object:Gem::Version
88
88
  version: '0.7'
89
+ - !ruby/object:Gem::Dependency
90
+ name: coveralls
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: '0.7'
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: '0.7'
89
103
  description: It's a small library to provide the Rails I18n translations on the Javascript.
90
104
  email:
91
105
  - fnando.vieira@gmail.com
@@ -106,16 +120,16 @@ files:
106
120
  - app/assets/javascripts/i18n/filtered.js.erb
107
121
  - app/assets/javascripts/i18n/shims.js
108
122
  - app/assets/javascripts/i18n/translations.js
109
- - gemfiles/i18n_0_6.gemfile
110
- - gemfiles/i18n_0_7.gemfile
111
123
  - gemfiles/i18n_0_8.gemfile
112
124
  - gemfiles/i18n_0_9.gemfile
113
125
  - gemfiles/i18n_1_0.gemfile
126
+ - gemfiles/i18n_1_1.gemfile
114
127
  - i18n-js.gemspec
115
128
  - lib/i18n-js.rb
116
129
  - lib/i18n/js.rb
117
130
  - lib/i18n/js/dependencies.rb
118
131
  - lib/i18n/js/engine.rb
132
+ - lib/i18n/js/errors.rb
119
133
  - lib/i18n/js/fallback_locales.rb
120
134
  - lib/i18n/js/middleware.rb
121
135
  - lib/i18n/js/private/hash_with_symbol_keys.rb
@@ -144,6 +158,7 @@ files:
144
158
  - spec/fixtures/js_file_with_namespace_and_pretty_print.yml
145
159
  - spec/fixtures/js_sort_translation_keys_false.yml
146
160
  - spec/fixtures/js_sort_translation_keys_true.yml
161
+ - spec/fixtures/json_only.yml
147
162
  - spec/fixtures/locales.yml
148
163
  - spec/fixtures/multiple_conditions.yml
149
164
  - spec/fixtures/multiple_conditions_per_locale.yml
@@ -200,7 +215,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
200
215
  version: '0'
201
216
  requirements: []
202
217
  rubyforge_project:
203
- rubygems_version: 2.7.7
218
+ rubygems_version: 2.7.8
204
219
  signing_key:
205
220
  specification_version: 4
206
221
  summary: It's a small library to provide the Rails I18n translations on the Javascript.
@@ -223,6 +238,7 @@ test_files:
223
238
  - spec/fixtures/js_file_with_namespace_and_pretty_print.yml
224
239
  - spec/fixtures/js_sort_translation_keys_false.yml
225
240
  - spec/fixtures/js_sort_translation_keys_true.yml
241
+ - spec/fixtures/json_only.yml
226
242
  - spec/fixtures/locales.yml
227
243
  - spec/fixtures/multiple_conditions.yml
228
244
  - spec/fixtures/multiple_conditions_per_locale.yml
@@ -1,7 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "i18n", "~> 0.6.0", ">= 0.6.6"
6
-
7
- gemspec path: "../"