redis-i18n 0.6.0.rc2 → 0.8.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 +7 -0
- data/.github/auto-assign-issues.yml +2 -0
- data/.gitignore +2 -4
- data/.travis.yml +22 -0
- data/CODEOWNERS +1 -0
- data/Gemfile +4 -3
- data/README.md +23 -32
- data/Rakefile +2 -6
- data/lib/i18n/backend/redis.rb +20 -2
- data/lib/redis/i18n/version.rb +1 -1
- data/redis-i18n.gemspec +15 -16
- data/test/i18n/backend/redis_test.rb +6 -0
- data/test/test_helper.rb +2 -4
- metadata +82 -56
- data/test/redis/i18n/version_test.rb +0 -7
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 26f25d72d0d905b6bd1a7d351710eb7080b6e87c1c622357392ca342d8db0d1d
|
4
|
+
data.tar.gz: 3bd324c181d4b32e89e782d5de4ba504a932df6f69cf44e27cfd19c26fbb3cee
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 9800bded083239d72f97552d8906101c567a7a8ae07e1ce0fca7678792578efec14754f4b2dd8d261adf5028942914b6c34728167386effc840dc1a63aee6f81
|
7
|
+
data.tar.gz: 2f3cee12af1680bd4419699d67d7b59893a79efecf59e1746dffcaf3a1ef90782dd33c2eb4a38b1ed47518297cceca9b08b77f5762dcdcfba3776a684316472e
|
data/.gitignore
CHANGED
data/.travis.yml
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
language: ruby
|
2
|
+
script: bundle exec rake
|
3
|
+
before_install: gem update bundler
|
4
|
+
rvm:
|
5
|
+
- 2.3
|
6
|
+
- 2.4
|
7
|
+
- 2.5
|
8
|
+
- 2.6
|
9
|
+
- ruby-head
|
10
|
+
- jruby-head
|
11
|
+
matrix:
|
12
|
+
allow_failures:
|
13
|
+
- rvm: jruby-head
|
14
|
+
- rvm: ruby-head
|
15
|
+
deploy:
|
16
|
+
provider: rubygems
|
17
|
+
api_key:
|
18
|
+
secure: c3cVSaZewegFWwBTawreMlLUmUrybxzev02GGpAk8dqqOo1d4lWWlaSnJsgsdKYgpyme65Cs7iTu80OOSPBxnnHy3n/6kjWLMo2/OZcvMGSyv4DleraPhh4vnd8nYuFR3VFUmdnxr0YoO5avm6rEO2V/uEeQmmrZ4R3Lp4uQW/w=
|
19
|
+
gem: redis-i18n
|
20
|
+
on:
|
21
|
+
tags: true
|
22
|
+
repo: redis-store/redis-i18n
|
data/CODEOWNERS
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
* @tubbo
|
data/Gemfile
CHANGED
@@ -1,5 +1,6 @@
|
|
1
|
-
source
|
1
|
+
source 'https://rubygems.org'
|
2
2
|
gemspec
|
3
3
|
|
4
|
-
|
5
|
-
gem '
|
4
|
+
if ::File.directory?(gem_path = '../redis-store')
|
5
|
+
gem 'redis-store', path: gem_path
|
6
|
+
end
|
data/README.md
CHANGED
@@ -1,47 +1,38 @@
|
|
1
1
|
# Redis stores for I18n
|
2
2
|
|
3
|
-
__`redis-i18n`__ provides a Redis backend for __I18n__.
|
3
|
+
__`redis-i18n`__ provides a Redis backend for __I18n__. See the main [redis-store readme](https://github.com/redis-store/redis-store) for general guidelines.
|
4
4
|
|
5
|
-
##
|
5
|
+
## Installation
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
brew install redis
|
12
|
-
|
13
|
-
### Option 2: From Source
|
14
|
-
|
15
|
-
Download and install Redis from [http://redis.io](http://redis.io/)
|
16
|
-
|
17
|
-
wget http://redis.googlecode.com/files/redis-2.4.5.tar.gz
|
18
|
-
tar -zxf redis-2.4.5.tar.gz
|
19
|
-
mv redis-2.4.5 redis
|
20
|
-
cd redis
|
21
|
-
make
|
7
|
+
```ruby
|
8
|
+
# Gemfile
|
9
|
+
gem 'redis-i18n'
|
10
|
+
```
|
22
11
|
|
23
12
|
## Usage
|
24
13
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
### Backend:
|
29
|
-
|
30
|
-
I18n.backend = I18n::Backend::Redis.new
|
31
|
-
|
32
|
-
#### Configuration
|
33
|
-
|
34
|
-
For advanced configuration options, please check the [Redis Store Wiki](https://github.com/jodosha/redis-store/wiki).
|
14
|
+
```ruby
|
15
|
+
I18n.backend = I18n::Backend::Redis.new
|
16
|
+
```
|
35
17
|
|
36
18
|
## Running tests
|
37
19
|
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
20
|
+
```shell
|
21
|
+
gem install bundler
|
22
|
+
git clone git://github.com/redis-store/redis-i18n.git
|
23
|
+
cd redis-i18n
|
24
|
+
bundle install
|
25
|
+
bundle exec rake
|
26
|
+
```
|
42
27
|
|
43
28
|
If you are on **Snow Leopard** you have to run `env ARCHFLAGS="-arch x86_64" bundle exec rake`
|
44
29
|
|
30
|
+
## Status
|
31
|
+
|
32
|
+
[](http://badge.fury.io/rb/redis-i18n)
|
33
|
+
[](http://travis-ci.org/redis-store/redis-i18n?branch=master)
|
34
|
+
[](https://codeclimate.com/github/redis-store/redis-i18n)
|
35
|
+
|
45
36
|
## Copyright
|
46
37
|
|
47
|
-
|
38
|
+
2009 - 2013 Luca Guidi - [http://lucaguidi.com](http://lucaguidi.com), released under the MIT license
|
data/Rakefile
CHANGED
data/lib/i18n/backend/redis.rb
CHANGED
@@ -27,7 +27,7 @@ module I18n
|
|
27
27
|
# RedisStore.new "localhost:6379/0", "localhost:6380/0"
|
28
28
|
# # => instantiate a cluster
|
29
29
|
def initialize(*addresses)
|
30
|
-
@store = ::Redis::Factory.create(addresses)
|
30
|
+
@store = ::Redis::Store::Factory.create(addresses)
|
31
31
|
end
|
32
32
|
|
33
33
|
def translate(locale, key, options = {})
|
@@ -58,7 +58,25 @@ module I18n
|
|
58
58
|
protected
|
59
59
|
def lookup(locale, key, scope = [], options = {})
|
60
60
|
key = normalize_flat_keys(locale, key, scope, options[:separator])
|
61
|
-
|
61
|
+
|
62
|
+
main_key = "#{locale}.#{key}"
|
63
|
+
if result = @store.get(main_key)
|
64
|
+
return result
|
65
|
+
end
|
66
|
+
|
67
|
+
child_keys = @store.keys("#{main_key}.*")
|
68
|
+
if child_keys.empty?
|
69
|
+
return nil
|
70
|
+
end
|
71
|
+
|
72
|
+
result = { }
|
73
|
+
subkey_part = (main_key.size + 1)..(-1)
|
74
|
+
child_keys.each do |child_key|
|
75
|
+
subkey = child_key[subkey_part].to_sym
|
76
|
+
result[subkey] = @store.get child_key
|
77
|
+
end
|
78
|
+
|
79
|
+
result
|
62
80
|
end
|
63
81
|
|
64
82
|
def resolve_link(locale, key)
|
data/lib/redis/i18n/version.rb
CHANGED
data/redis-i18n.gemspec
CHANGED
@@ -1,29 +1,28 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
$:.push File.expand_path(
|
3
|
-
require
|
2
|
+
$:.push File.expand_path('../lib', __FILE__)
|
3
|
+
require 'redis/i18n/version'
|
4
4
|
|
5
5
|
Gem::Specification.new do |s|
|
6
|
-
s.name =
|
6
|
+
s.name = 'redis-i18n'
|
7
7
|
s.version = Redis::I18n::VERSION
|
8
|
-
s.authors = [
|
9
|
-
s.email = [
|
10
|
-
s.homepage =
|
8
|
+
s.authors = ['Luca Guidi']
|
9
|
+
s.email = ['me@lucaguidi.com']
|
10
|
+
s.homepage = 'http://redis-store.org/redis-i18n'
|
11
11
|
s.summary = %q{Redis store for i18n}
|
12
12
|
s.description = %q{Redis backed store for i18n}
|
13
|
-
|
14
|
-
s.rubyforge_project = "redis-i18n"
|
13
|
+
s.license = 'MIT'
|
15
14
|
|
16
15
|
s.files = `git ls-files`.split("\n")
|
17
16
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
18
17
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
19
|
-
s.require_paths = [
|
18
|
+
s.require_paths = ['lib']
|
20
19
|
|
21
|
-
s.add_runtime_dependency 'redis-store', '1
|
22
|
-
s.add_runtime_dependency 'i18n', '0.
|
20
|
+
s.add_runtime_dependency 'redis-store', '~> 1'
|
21
|
+
s.add_runtime_dependency 'i18n', '>= 0.7', '< 2'
|
23
22
|
|
24
|
-
s.add_development_dependency 'rake',
|
25
|
-
s.add_development_dependency 'bundler',
|
26
|
-
s.add_development_dependency 'mocha',
|
27
|
-
s.add_development_dependency 'minitest',
|
28
|
-
s.add_development_dependency '
|
23
|
+
s.add_development_dependency 'rake', '>= 12.3.3'
|
24
|
+
s.add_development_dependency 'bundler', '~> 2'
|
25
|
+
s.add_development_dependency 'mocha', '~> 0.14.0'
|
26
|
+
s.add_development_dependency 'minitest', '~> 5'
|
27
|
+
s.add_development_dependency 'redis-store-testing'
|
29
28
|
end
|
@@ -21,6 +21,12 @@ describe "I18n::Backend::Redis" do
|
|
21
21
|
I18n.t(:"baz", :scope => :"foo.bar").must_equal(:bang)
|
22
22
|
end
|
23
23
|
|
24
|
+
it "gets translations with count" do
|
25
|
+
I18n.backend.store_translations :en, :bar => { :one => :bar, :other => "%{count} bars" }
|
26
|
+
I18n.t(:bar, :count => 1).must_equal(:bar)
|
27
|
+
I18n.t(:bar, :count => 10).must_equal("10 bars")
|
28
|
+
end
|
29
|
+
|
24
30
|
it "raises an exception when a proc translation is being saved" do
|
25
31
|
lambda {
|
26
32
|
I18n.backend.store_translations :en, :foo => lambda {|| }
|
data/test/test_helper.rb
CHANGED
metadata
CHANGED
@@ -1,101 +1,130 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: redis-i18n
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease: 6
|
4
|
+
version: 0.8.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Luca Guidi
|
9
|
-
autorequire:
|
8
|
+
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2020-08-11 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: redis-store
|
16
|
-
requirement:
|
17
|
-
none: false
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - "~>"
|
20
18
|
- !ruby/object:Gem::Version
|
21
|
-
version: 1
|
19
|
+
version: '1'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
|
-
version_requirements:
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1'
|
25
27
|
- !ruby/object:Gem::Dependency
|
26
28
|
name: i18n
|
27
|
-
requirement:
|
28
|
-
none: false
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
29
30
|
requirements:
|
30
|
-
- -
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0.7'
|
34
|
+
- - "<"
|
31
35
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
36
|
+
version: '2'
|
33
37
|
type: :runtime
|
34
38
|
prerelease: false
|
35
|
-
version_requirements:
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0.7'
|
44
|
+
- - "<"
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '2'
|
36
47
|
- !ruby/object:Gem::Dependency
|
37
48
|
name: rake
|
38
|
-
requirement:
|
39
|
-
none: false
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
40
50
|
requirements:
|
41
|
-
- -
|
51
|
+
- - ">="
|
42
52
|
- !ruby/object:Gem::Version
|
43
|
-
version:
|
53
|
+
version: 12.3.3
|
44
54
|
type: :development
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - ">="
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: 12.3.3
|
47
61
|
- !ruby/object:Gem::Dependency
|
48
62
|
name: bundler
|
49
|
-
requirement:
|
50
|
-
none: false
|
63
|
+
requirement: !ruby/object:Gem::Requirement
|
51
64
|
requirements:
|
52
|
-
- - ~>
|
65
|
+
- - "~>"
|
53
66
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
67
|
+
version: '2'
|
55
68
|
type: :development
|
56
69
|
prerelease: false
|
57
|
-
version_requirements:
|
70
|
+
version_requirements: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - "~>"
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '2'
|
58
75
|
- !ruby/object:Gem::Dependency
|
59
76
|
name: mocha
|
60
|
-
requirement:
|
61
|
-
none: false
|
77
|
+
requirement: !ruby/object:Gem::Requirement
|
62
78
|
requirements:
|
63
|
-
- - ~>
|
79
|
+
- - "~>"
|
64
80
|
- !ruby/object:Gem::Version
|
65
|
-
version: 0.
|
81
|
+
version: 0.14.0
|
66
82
|
type: :development
|
67
83
|
prerelease: false
|
68
|
-
version_requirements:
|
84
|
+
version_requirements: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - "~>"
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: 0.14.0
|
69
89
|
- !ruby/object:Gem::Dependency
|
70
90
|
name: minitest
|
71
|
-
requirement:
|
72
|
-
none: false
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
73
92
|
requirements:
|
74
|
-
- - ~>
|
93
|
+
- - "~>"
|
75
94
|
- !ruby/object:Gem::Version
|
76
|
-
version:
|
95
|
+
version: '5'
|
77
96
|
type: :development
|
78
97
|
prerelease: false
|
79
|
-
version_requirements:
|
98
|
+
version_requirements: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - "~>"
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: '5'
|
80
103
|
- !ruby/object:Gem::Dependency
|
81
|
-
name:
|
82
|
-
requirement:
|
83
|
-
none: false
|
104
|
+
name: redis-store-testing
|
105
|
+
requirement: !ruby/object:Gem::Requirement
|
84
106
|
requirements:
|
85
|
-
- -
|
107
|
+
- - ">="
|
86
108
|
- !ruby/object:Gem::Version
|
87
|
-
version:
|
109
|
+
version: '0'
|
88
110
|
type: :development
|
89
111
|
prerelease: false
|
90
|
-
version_requirements:
|
112
|
+
version_requirements: !ruby/object:Gem::Requirement
|
113
|
+
requirements:
|
114
|
+
- - ">="
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: '0'
|
91
117
|
description: Redis backed store for i18n
|
92
118
|
email:
|
93
|
-
-
|
119
|
+
- me@lucaguidi.com
|
94
120
|
executables: []
|
95
121
|
extensions: []
|
96
122
|
extra_rdoc_files: []
|
97
123
|
files:
|
98
|
-
- .
|
124
|
+
- ".github/auto-assign-issues.yml"
|
125
|
+
- ".gitignore"
|
126
|
+
- ".travis.yml"
|
127
|
+
- CODEOWNERS
|
99
128
|
- Gemfile
|
100
129
|
- MIT-LICENSE
|
101
130
|
- README.md
|
@@ -105,33 +134,30 @@ files:
|
|
105
134
|
- lib/redis/i18n/version.rb
|
106
135
|
- redis-i18n.gemspec
|
107
136
|
- test/i18n/backend/redis_test.rb
|
108
|
-
- test/redis/i18n/version_test.rb
|
109
137
|
- test/test_helper.rb
|
110
|
-
homepage: http://
|
111
|
-
licenses:
|
112
|
-
|
138
|
+
homepage: http://redis-store.org/redis-i18n
|
139
|
+
licenses:
|
140
|
+
- MIT
|
141
|
+
metadata: {}
|
142
|
+
post_install_message:
|
113
143
|
rdoc_options: []
|
114
144
|
require_paths:
|
115
145
|
- lib
|
116
146
|
required_ruby_version: !ruby/object:Gem::Requirement
|
117
|
-
none: false
|
118
147
|
requirements:
|
119
|
-
- -
|
148
|
+
- - ">="
|
120
149
|
- !ruby/object:Gem::Version
|
121
150
|
version: '0'
|
122
151
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
123
|
-
none: false
|
124
152
|
requirements:
|
125
|
-
- -
|
153
|
+
- - ">="
|
126
154
|
- !ruby/object:Gem::Version
|
127
|
-
version:
|
155
|
+
version: '0'
|
128
156
|
requirements: []
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
specification_version: 3
|
157
|
+
rubygems_version: 3.1.2
|
158
|
+
signing_key:
|
159
|
+
specification_version: 4
|
133
160
|
summary: Redis store for i18n
|
134
161
|
test_files:
|
135
162
|
- test/i18n/backend/redis_test.rb
|
136
|
-
- test/redis/i18n/version_test.rb
|
137
163
|
- test/test_helper.rb
|