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 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
@@ -1,5 +1,4 @@
1
- source "http://rubygems.org"
1
+ source 'https://rubygems.org'
2
2
  gemspec
3
3
 
4
- gem 'redis-store', '1.1.0', :path => File.expand_path('../../redis-store', __FILE__)
5
- gem 'SystemTimer', :platform => :mri_18
4
+ gem 'redis-store', '~> 1.1.0', path: '../redis-store'
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__. It natively supports object marshalling, timeouts, single or multiple nodes and namespaces.
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
- ## Redis Installation
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
- gem 'redis-i18n'
27
-
28
- ### Backend:
8
+ gem 'redis-i18n'
29
9
 
30
- I18n.backend = I18n::Backend::Redis.new
10
+ ### Usage
31
11
 
32
- #### Configuration
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
- For advanced configuration options, please check the [Redis Store Wiki](https://github.com/jodosha/redis-store/wiki).
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
- cd redis-store/redis-i18n
40
- gem install bundler
41
- bundle exec rake
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
 
@@ -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
- @store.get "#{locale}.#{key}"
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)
@@ -1,5 +1,5 @@
1
1
  class Redis
2
2
  module I18n
3
- VERSION = '0.6.1'
3
+ VERSION = '0.6.5'
4
4
  end
5
5
  end
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', 'Matt Horan']
8
+ s.authors = ['Luca Guidi']
9
9
  s.email = ['me@lucaguidi.com']
10
- s.homepage = 'http://jodosha.github.com/redis-store'
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', '~> 0.9.2'
25
- s.add_development_dependency 'bundler', '~> 1.1'
26
- s.add_development_dependency 'mocha', '~> 0.10.0'
27
- s.add_development_dependency 'minitest', '~> 2.8.0'
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 {|| }
@@ -1,7 +1,7 @@
1
1
  require 'test_helper'
2
2
 
3
3
  describe Redis::I18n::VERSION do
4
- it "must be equal to 0.6.1" do
5
- Redis::I18n::VERSION.must_equal '0.6.1'
4
+ it 'returns current version' do
5
+ Redis::I18n::VERSION.must_equal '0.6.5'
6
6
  end
7
7
  end
data/test/test_helper.rb CHANGED
@@ -1,7 +1,5 @@
1
- Bundler.setup
2
- gem 'minitest'
3
- require 'minitest/spec'
1
+ require 'bundler/setup'
4
2
  require 'minitest/autorun'
5
- require 'mocha'
3
+ require 'mocha/setup'
6
4
  require 'i18n'
7
5
  require 'i18n/backend/redis'
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.1
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: 2012-06-26 00:00:00.000000000 Z
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: 0.9.2
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: 0.9.2
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.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.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.10.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.10.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: 2.8.0
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: 2.8.0
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://jodosha.github.com/redis-store
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: 1.8.23
135
+ rubygems_version: 2.0.3
167
136
  signing_key:
168
- specification_version: 3
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: