redis-i18n 0.6.1 → 0.6.5
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/Gemfile +2 -3
- data/README.md +10 -29
- data/lib/i18n/backend/redis.rb +20 -2
- data/lib/redis/i18n/version.rb +1 -1
- data/redis-i18n.gemspec +6 -7
- data/test/i18n/backend/redis_test.rb +6 -0
- data/test/redis/i18n/version_test.rb +2 -2
- data/test/test_helper.rb +2 -4
- metadata +16 -48
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 408e9088bd2324956384915dd4ed1dec96cc90c6
|
4
|
+
data.tar.gz: fbf57b3ddcfb6f8b0a3fd2d5a9545236966b9b11
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 13a29b594423e8df29fd478c1841e0d1662651427e3451f7c00c0ae2bba673fa1174ec3d4faa7df95a9f4a84311eb4cfc82490b0c3ec1578f026d1c5742cc502
|
7
|
+
data.tar.gz: afa706b4fc1a373544adebe49c1990490dcb61031480fc3280a1354c80caeab6837e8e12ef3607d9003bde860afee9d7ed25d45fbb2ef8301925f50e576f1def
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,44 +1,25 @@
|
|
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/jodosha/redis-store) for general guidelines.
|
4
4
|
|
5
|
-
##
|
6
|
-
|
7
|
-
### Option 1: Homebrew
|
8
|
-
|
9
|
-
MacOS X users should use [Homebrew](https://github.com/mxcl/homebrew) to install Redis:
|
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.15.tar.gz
|
18
|
-
tar -zxf redis-2.4.15.tar.gz
|
19
|
-
mv redis-2.4.15 redis
|
20
|
-
cd redis
|
21
|
-
make
|
22
|
-
|
23
|
-
## Usage
|
5
|
+
## Installation
|
24
6
|
|
25
7
|
# Gemfile
|
26
|
-
|
27
|
-
|
28
|
-
### Backend:
|
8
|
+
gem 'redis-i18n'
|
29
9
|
|
30
|
-
|
10
|
+
### Usage
|
31
11
|
|
32
|
-
|
12
|
+
If you are using redis-store with Rails, consider using the [redis-rails gem](https://github.com/jodosha/redis-store/tree/master/redis-rails) instead. For standalone usage:
|
33
13
|
|
34
|
-
|
14
|
+
I18n.backend = I18n::Backend::Redis.new
|
35
15
|
|
36
16
|
## Running tests
|
37
17
|
|
18
|
+
gem install bundler
|
38
19
|
git clone git://github.com/jodosha/redis-store.git
|
39
|
-
|
40
|
-
|
41
|
-
|
20
|
+
cd redis-store/redis-i18n
|
21
|
+
bundle install
|
22
|
+
bundle exec rake
|
42
23
|
|
43
24
|
If you are on **Snow Leopard** you have to run `env ARCHFLAGS="-arch x86_64" bundle exec rake`
|
44
25
|
|
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
@@ -5,9 +5,9 @@ require 'redis/i18n/version'
|
|
5
5
|
Gem::Specification.new do |s|
|
6
6
|
s.name = 'redis-i18n'
|
7
7
|
s.version = Redis::I18n::VERSION
|
8
|
-
s.authors = ['Luca Guidi'
|
8
|
+
s.authors = ['Luca Guidi']
|
9
9
|
s.email = ['me@lucaguidi.com']
|
10
|
-
s.homepage = 'http://
|
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
13
|
|
@@ -21,9 +21,8 @@ Gem::Specification.new do |s|
|
|
21
21
|
s.add_runtime_dependency 'redis-store', '~> 1.1.0'
|
22
22
|
s.add_runtime_dependency 'i18n', '~> 0.6.0'
|
23
23
|
|
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 'purdytest', '~> 1.0.0'
|
24
|
+
s.add_development_dependency 'rake', '~> 10'
|
25
|
+
s.add_development_dependency 'bundler', '~> 1.3'
|
26
|
+
s.add_development_dependency 'mocha', '~> 0.14.0'
|
27
|
+
s.add_development_dependency 'minitest', '~> 5'
|
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,21 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: redis-i18n
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
5
|
-
prerelease:
|
4
|
+
version: 0.6.5
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Luca Guidi
|
9
|
-
- Matt Horan
|
10
8
|
autorequire:
|
11
9
|
bindir: bin
|
12
10
|
cert_chain: []
|
13
|
-
date:
|
11
|
+
date: 2013-08-20 00:00:00.000000000 Z
|
14
12
|
dependencies:
|
15
13
|
- !ruby/object:Gem::Dependency
|
16
14
|
name: redis-store
|
17
15
|
requirement: !ruby/object:Gem::Requirement
|
18
|
-
none: false
|
19
16
|
requirements:
|
20
17
|
- - ~>
|
21
18
|
- !ruby/object:Gem::Version
|
@@ -23,7 +20,6 @@ dependencies:
|
|
23
20
|
type: :runtime
|
24
21
|
prerelease: false
|
25
22
|
version_requirements: !ruby/object:Gem::Requirement
|
26
|
-
none: false
|
27
23
|
requirements:
|
28
24
|
- - ~>
|
29
25
|
- !ruby/object:Gem::Version
|
@@ -31,7 +27,6 @@ dependencies:
|
|
31
27
|
- !ruby/object:Gem::Dependency
|
32
28
|
name: i18n
|
33
29
|
requirement: !ruby/object:Gem::Requirement
|
34
|
-
none: false
|
35
30
|
requirements:
|
36
31
|
- - ~>
|
37
32
|
- !ruby/object:Gem::Version
|
@@ -39,7 +34,6 @@ dependencies:
|
|
39
34
|
type: :runtime
|
40
35
|
prerelease: false
|
41
36
|
version_requirements: !ruby/object:Gem::Requirement
|
42
|
-
none: false
|
43
37
|
requirements:
|
44
38
|
- - ~>
|
45
39
|
- !ruby/object:Gem::Version
|
@@ -47,83 +41,59 @@ dependencies:
|
|
47
41
|
- !ruby/object:Gem::Dependency
|
48
42
|
name: rake
|
49
43
|
requirement: !ruby/object:Gem::Requirement
|
50
|
-
none: false
|
51
44
|
requirements:
|
52
45
|
- - ~>
|
53
46
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
47
|
+
version: '10'
|
55
48
|
type: :development
|
56
49
|
prerelease: false
|
57
50
|
version_requirements: !ruby/object:Gem::Requirement
|
58
|
-
none: false
|
59
51
|
requirements:
|
60
52
|
- - ~>
|
61
53
|
- !ruby/object:Gem::Version
|
62
|
-
version:
|
54
|
+
version: '10'
|
63
55
|
- !ruby/object:Gem::Dependency
|
64
56
|
name: bundler
|
65
57
|
requirement: !ruby/object:Gem::Requirement
|
66
|
-
none: false
|
67
58
|
requirements:
|
68
59
|
- - ~>
|
69
60
|
- !ruby/object:Gem::Version
|
70
|
-
version: '1.
|
61
|
+
version: '1.3'
|
71
62
|
type: :development
|
72
63
|
prerelease: false
|
73
64
|
version_requirements: !ruby/object:Gem::Requirement
|
74
|
-
none: false
|
75
65
|
requirements:
|
76
66
|
- - ~>
|
77
67
|
- !ruby/object:Gem::Version
|
78
|
-
version: '1.
|
68
|
+
version: '1.3'
|
79
69
|
- !ruby/object:Gem::Dependency
|
80
70
|
name: mocha
|
81
71
|
requirement: !ruby/object:Gem::Requirement
|
82
|
-
none: false
|
83
72
|
requirements:
|
84
73
|
- - ~>
|
85
74
|
- !ruby/object:Gem::Version
|
86
|
-
version: 0.
|
75
|
+
version: 0.14.0
|
87
76
|
type: :development
|
88
77
|
prerelease: false
|
89
78
|
version_requirements: !ruby/object:Gem::Requirement
|
90
|
-
none: false
|
91
79
|
requirements:
|
92
80
|
- - ~>
|
93
81
|
- !ruby/object:Gem::Version
|
94
|
-
version: 0.
|
82
|
+
version: 0.14.0
|
95
83
|
- !ruby/object:Gem::Dependency
|
96
84
|
name: minitest
|
97
85
|
requirement: !ruby/object:Gem::Requirement
|
98
|
-
none: false
|
99
86
|
requirements:
|
100
87
|
- - ~>
|
101
88
|
- !ruby/object:Gem::Version
|
102
|
-
version:
|
89
|
+
version: '5'
|
103
90
|
type: :development
|
104
91
|
prerelease: false
|
105
92
|
version_requirements: !ruby/object:Gem::Requirement
|
106
|
-
none: false
|
107
93
|
requirements:
|
108
94
|
- - ~>
|
109
95
|
- !ruby/object:Gem::Version
|
110
|
-
version:
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: purdytest
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
none: false
|
115
|
-
requirements:
|
116
|
-
- - ~>
|
117
|
-
- !ruby/object:Gem::Version
|
118
|
-
version: 1.0.0
|
119
|
-
type: :development
|
120
|
-
prerelease: false
|
121
|
-
version_requirements: !ruby/object:Gem::Requirement
|
122
|
-
none: false
|
123
|
-
requirements:
|
124
|
-
- - ~>
|
125
|
-
- !ruby/object:Gem::Version
|
126
|
-
version: 1.0.0
|
96
|
+
version: '5'
|
127
97
|
description: Redis backed store for i18n
|
128
98
|
email:
|
129
99
|
- me@lucaguidi.com
|
@@ -143,32 +113,30 @@ files:
|
|
143
113
|
- test/i18n/backend/redis_test.rb
|
144
114
|
- test/redis/i18n/version_test.rb
|
145
115
|
- test/test_helper.rb
|
146
|
-
homepage: http://
|
116
|
+
homepage: http://redis-store.org/redis-i18n
|
147
117
|
licenses: []
|
118
|
+
metadata: {}
|
148
119
|
post_install_message:
|
149
120
|
rdoc_options: []
|
150
121
|
require_paths:
|
151
122
|
- lib
|
152
123
|
required_ruby_version: !ruby/object:Gem::Requirement
|
153
|
-
none: false
|
154
124
|
requirements:
|
155
|
-
- -
|
125
|
+
- - '>='
|
156
126
|
- !ruby/object:Gem::Version
|
157
127
|
version: '0'
|
158
128
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
159
|
-
none: false
|
160
129
|
requirements:
|
161
|
-
- -
|
130
|
+
- - '>='
|
162
131
|
- !ruby/object:Gem::Version
|
163
132
|
version: '0'
|
164
133
|
requirements: []
|
165
134
|
rubyforge_project: redis-i18n
|
166
|
-
rubygems_version:
|
135
|
+
rubygems_version: 2.0.3
|
167
136
|
signing_key:
|
168
|
-
specification_version:
|
137
|
+
specification_version: 4
|
169
138
|
summary: Redis store for i18n
|
170
139
|
test_files:
|
171
140
|
- test/i18n/backend/redis_test.rb
|
172
141
|
- test/redis/i18n/version_test.rb
|
173
142
|
- test/test_helper.rb
|
174
|
-
has_rdoc:
|