redis-i18n 0.6.1 → 0.6.5

Sign up to get free protection for your applications and to get access to all the features.
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: