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.
@@ -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
@@ -0,0 +1,2 @@
1
+ assignees:
2
+ - tubbo
data/.gitignore CHANGED
@@ -1,5 +1,3 @@
1
- *.gem
2
- .bundle
3
1
  Gemfile.lock
4
- pkg/*
5
- tmp/*
2
+ *.gem
3
+ tmp/
@@ -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
@@ -0,0 +1 @@
1
+ * @tubbo
data/Gemfile CHANGED
@@ -1,5 +1,6 @@
1
- source "http://rubygems.org"
1
+ source 'https://rubygems.org'
2
2
  gemspec
3
3
 
4
- gem 'redis-store', '1.1.0.rc2', :path => File.expand_path('../../redis-store', __FILE__)
5
- gem 'SystemTimer', :platform => :mri_18
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__. 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/redis-store/redis-store) for general guidelines.
4
4
 
5
- ## Redis Installation
5
+ ## Installation
6
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.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
- # Gemfile
26
- gem 'redis-i18n'
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
- git clone git://github.com/jodosha/redis-store.git
39
- cd redis-store/redis-i18n
40
- gem install bundler --pre # required version: 1.1.rc
41
- bundle exec rake
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
+ [![Gem Version](https://badge.fury.io/rb/redis-i18n.svg)](http://badge.fury.io/rb/redis-i18n)
33
+ [![Build Status](https://secure.travis-ci.org/redis-store/redis-i18n.svg?branch=master)](http://travis-ci.org/redis-store/redis-i18n?branch=master)
34
+ [![Code Climate](https://codeclimate.com/github/redis-store/redis-i18n.svg)](https://codeclimate.com/github/redis-store/redis-i18n)
35
+
45
36
  ## Copyright
46
37
 
47
- (c) 2009 - 2011 Luca Guidi - [http://lucaguidi.com](http://lucaguidi.com), released under the MIT license
38
+ 2009 - 2013 Luca Guidi - [http://lucaguidi.com](http://lucaguidi.com), released under the MIT license
data/Rakefile CHANGED
@@ -1,8 +1,4 @@
1
- require 'bundler'
2
- Bundler.setup
1
+ require 'bundler/setup'
3
2
  require 'rake'
4
3
  require 'bundler/gem_tasks'
5
-
6
- load 'tasks/redis.tasks.rb'
7
- task :default => 'redis:test:suite'
8
-
4
+ require 'redis-store/testing/tasks'
@@ -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.0.rc2'
3
+ VERSION = '0.8.0'
4
4
  end
5
5
  end
@@ -1,29 +1,28 @@
1
1
  # -*- encoding: utf-8 -*-
2
- $:.push File.expand_path("../lib", __FILE__)
3
- require "redis/i18n/version"
2
+ $:.push File.expand_path('../lib', __FILE__)
3
+ require 'redis/i18n/version'
4
4
 
5
5
  Gem::Specification.new do |s|
6
- s.name = "redis-i18n"
6
+ s.name = 'redis-i18n'
7
7
  s.version = Redis::I18n::VERSION
8
- s.authors = ["Luca Guidi"]
9
- s.email = ["guidi.luca@gmail.com"]
10
- s.homepage = "http://jodosha.github.com/redis-store"
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 = ["lib"]
18
+ s.require_paths = ['lib']
20
19
 
21
- s.add_runtime_dependency 'redis-store', '1.1.0.rc2'
22
- s.add_runtime_dependency 'i18n', '0.6.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', '~> 0.9.2.2'
25
- s.add_development_dependency 'bundler', '~> 1.1.rc'
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'
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 {|| }
@@ -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,101 +1,130 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redis-i18n
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0.rc2
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: 2012-02-09 00:00:00.000000000 Z
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: &70157168039360 !ruby/object:Gem::Requirement
17
- none: false
15
+ requirement: !ruby/object:Gem::Requirement
18
16
  requirements:
19
- - - =
17
+ - - "~>"
20
18
  - !ruby/object:Gem::Version
21
- version: 1.1.0.rc2
19
+ version: '1'
22
20
  type: :runtime
23
21
  prerelease: false
24
- version_requirements: *70157168039360
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: &70157168038380 !ruby/object:Gem::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: 0.6.0
36
+ version: '2'
33
37
  type: :runtime
34
38
  prerelease: false
35
- version_requirements: *70157168038380
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: &70157168037240 !ruby/object:Gem::Requirement
39
- none: false
49
+ requirement: !ruby/object:Gem::Requirement
40
50
  requirements:
41
- - - ~>
51
+ - - ">="
42
52
  - !ruby/object:Gem::Version
43
- version: 0.9.2.2
53
+ version: 12.3.3
44
54
  type: :development
45
55
  prerelease: false
46
- version_requirements: *70157168037240
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: &70157168036540 !ruby/object:Gem::Requirement
50
- none: false
63
+ requirement: !ruby/object:Gem::Requirement
51
64
  requirements:
52
- - - ~>
65
+ - - "~>"
53
66
  - !ruby/object:Gem::Version
54
- version: 1.1.rc
67
+ version: '2'
55
68
  type: :development
56
69
  prerelease: false
57
- version_requirements: *70157168036540
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: &70157168035580 !ruby/object:Gem::Requirement
61
- none: false
77
+ requirement: !ruby/object:Gem::Requirement
62
78
  requirements:
63
- - - ~>
79
+ - - "~>"
64
80
  - !ruby/object:Gem::Version
65
- version: 0.10.0
81
+ version: 0.14.0
66
82
  type: :development
67
83
  prerelease: false
68
- version_requirements: *70157168035580
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: &70157168034180 !ruby/object:Gem::Requirement
72
- none: false
91
+ requirement: !ruby/object:Gem::Requirement
73
92
  requirements:
74
- - - ~>
93
+ - - "~>"
75
94
  - !ruby/object:Gem::Version
76
- version: 2.8.0
95
+ version: '5'
77
96
  type: :development
78
97
  prerelease: false
79
- version_requirements: *70157168034180
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: purdytest
82
- requirement: &70157168033580 !ruby/object:Gem::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: 1.0.0
109
+ version: '0'
88
110
  type: :development
89
111
  prerelease: false
90
- version_requirements: *70157168033580
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
- - guidi.luca@gmail.com
119
+ - me@lucaguidi.com
94
120
  executables: []
95
121
  extensions: []
96
122
  extra_rdoc_files: []
97
123
  files:
98
- - .gitignore
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://jodosha.github.com/redis-store
111
- licenses: []
112
- post_install_message:
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: 1.3.1
155
+ version: '0'
128
156
  requirements: []
129
- rubyforge_project: redis-i18n
130
- rubygems_version: 1.8.15
131
- signing_key:
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
@@ -1,7 +0,0 @@
1
- require 'test_helper'
2
-
3
- describe Redis::I18n::VERSION do
4
- it "must be equal to 0.6.0.rc2" do
5
- Redis::I18n::VERSION.must_equal '0.6.0.rc2'
6
- end
7
- end