r18n-rails-api 0.4.10 → 0.4.11
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.
- data/Gemfile.lock +3 -3
- data/README.rdoc +2 -2
- data/Rakefile +0 -1
- data/lib/r18n-rails-api/backend.rb +14 -14
- data/lib/r18n-rails-api/filters.rb +2 -2
- data/lib/r18n-rails-api/loader.rb +10 -10
- data/r18n-rails-api.gemspec +4 -5
- data/spec/backend_spec.rb +13 -13
- data/spec/filters_spec.rb +6 -6
- data/spec/loader_spec.rb +6 -6
- metadata +27 -29
data/Gemfile.lock
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
r18n-rails-api (0.4.
|
|
4
|
+
r18n-rails-api (0.4.11)
|
|
5
5
|
i18n
|
|
6
|
-
r18n-core (= 0.4.
|
|
6
|
+
r18n-core (= 0.4.11)
|
|
7
7
|
|
|
8
8
|
PATH
|
|
9
9
|
remote: ../r18n-core/
|
|
10
10
|
specs:
|
|
11
|
-
r18n-core (0.4.
|
|
11
|
+
r18n-core (0.4.11)
|
|
12
12
|
|
|
13
13
|
GEM
|
|
14
14
|
remote: http://rubygems.org/
|
data/README.rdoc
CHANGED
|
@@ -38,7 +38,7 @@ example.rb:
|
|
|
38
38
|
|
|
39
39
|
I18n.load_path = ['i18n/en.yml']
|
|
40
40
|
i18n = R18n::I18n.new('en', R18n::Loader::Rails)
|
|
41
|
-
|
|
41
|
+
|
|
42
42
|
i18n.posts(:count => 5) #=> "5 posts"
|
|
43
43
|
|
|
44
44
|
=== Backend
|
|
@@ -49,7 +49,7 @@ You can use R18n as a backend for Rails I18n:
|
|
|
49
49
|
|
|
50
50
|
R18n.set('en', 'path/to/translation')
|
|
51
51
|
I18n.backend = R18n::Backend
|
|
52
|
-
|
|
52
|
+
|
|
53
53
|
I18n.l Time.now, :format => :full #=> "6th of December, 2009 22:44"
|
|
54
54
|
I18n.t :greeting, :name => 'John' #=> "Hi, John"
|
|
55
55
|
I18n.t :users, :count => 5 #=> "5 users"
|
data/Rakefile
CHANGED
|
@@ -21,27 +21,27 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
21
21
|
module R18n
|
|
22
22
|
# R18n backend for Rails I18n. You must set R18n I18n object before use this
|
|
23
23
|
# backend:
|
|
24
|
-
#
|
|
24
|
+
#
|
|
25
25
|
# R18n.set locales, R18n::Loader::Rails
|
|
26
|
-
#
|
|
26
|
+
#
|
|
27
27
|
# I18n.l Time.now, :format => :full #=> "6th of December, 2009 22:44"
|
|
28
28
|
class Backend
|
|
29
29
|
RESERVED_KEYS = [:scope, :default, :separator]
|
|
30
|
-
|
|
30
|
+
|
|
31
31
|
# Find translation in R18n. It didn’t use +locale+ argument, only current
|
|
32
32
|
# R18n I18n object. Also it doesn’t support Proc and variables in +default+
|
|
33
33
|
# String option.
|
|
34
34
|
def translate(locale, key, options = {})
|
|
35
35
|
return key.map { |k| translate(locale, k, options) } if key.is_a?(Array)
|
|
36
|
-
|
|
36
|
+
|
|
37
37
|
scope, default, separator = options.values_at(*RESERVED_KEYS)
|
|
38
38
|
params = options.reject { |name, value| RESERVED_KEYS.include?(name) }
|
|
39
|
-
|
|
39
|
+
|
|
40
40
|
result = lookup(scope, key, separator, params)
|
|
41
|
-
|
|
41
|
+
|
|
42
42
|
if result.is_a? Untranslated
|
|
43
43
|
options = options.reject { |key, value| key == :default }
|
|
44
|
-
|
|
44
|
+
|
|
45
45
|
Array(default).each do |entry|
|
|
46
46
|
if entry.is_a? Symbol
|
|
47
47
|
value = lookup(scope, entry, separator, params)
|
|
@@ -50,13 +50,13 @@ module R18n
|
|
|
50
50
|
return entry
|
|
51
51
|
end
|
|
52
52
|
end
|
|
53
|
-
|
|
53
|
+
|
|
54
54
|
raise ::I18n::MissingTranslationData.new(locale, key, options)
|
|
55
55
|
else
|
|
56
56
|
result
|
|
57
57
|
end
|
|
58
58
|
end
|
|
59
|
-
|
|
59
|
+
|
|
60
60
|
# Convert +object+ to String, according to the rules of the current
|
|
61
61
|
# R18n locale. It didn’t use +locale+ argument, only current R18n I18n
|
|
62
62
|
# object. It support Fixnum, Bignum, Float, Time, Date and DateTime.
|
|
@@ -72,26 +72,26 @@ module R18n
|
|
|
72
72
|
end
|
|
73
73
|
R18n.get.localize(object, format)
|
|
74
74
|
end
|
|
75
|
-
|
|
75
|
+
|
|
76
76
|
# Return array of available locales codes.
|
|
77
77
|
def available_locales
|
|
78
78
|
R18n.get.available_locales.map { |i| i.code.to_sym }
|
|
79
79
|
end
|
|
80
|
-
|
|
80
|
+
|
|
81
81
|
# Reload R18n I18n object.
|
|
82
82
|
def reload!
|
|
83
83
|
R18n.get.reload!
|
|
84
84
|
end
|
|
85
|
-
|
|
85
|
+
|
|
86
86
|
protected
|
|
87
|
-
|
|
87
|
+
|
|
88
88
|
# Find translation by <tt>scope.key(params)</tt> in current R18n I18n
|
|
89
89
|
# object.
|
|
90
90
|
def lookup(scope, key, separator, params)
|
|
91
91
|
keys = (Array(scope) + Array(key)).map { |k|
|
|
92
92
|
k.to_s.split(separator || ::I18n.default_separator) }.flatten
|
|
93
93
|
last = keys.pop
|
|
94
|
-
|
|
94
|
+
|
|
95
95
|
result = keys.inject(R18n.get) { |result, key| result[key] }
|
|
96
96
|
result[last, params]
|
|
97
97
|
end
|
|
@@ -18,9 +18,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
18
18
|
=end
|
|
19
19
|
|
|
20
20
|
# Filter to use Rails named variables:
|
|
21
|
-
#
|
|
21
|
+
#
|
|
22
22
|
# name: "My name is %{name}"
|
|
23
|
-
#
|
|
23
|
+
#
|
|
24
24
|
# i18n.name(name: 'Ivan') #=> "My name is Ivan"
|
|
25
25
|
R18n::Filters.add(String, :named_variables) do |content, config, params|
|
|
26
26
|
if params.is_a? Hash
|
|
@@ -23,9 +23,9 @@ require 'i18n'
|
|
|
23
23
|
module R18n
|
|
24
24
|
module Loader
|
|
25
25
|
# Loader for translations in Rails I18n format:
|
|
26
|
-
#
|
|
26
|
+
#
|
|
27
27
|
# R18n::I18n.new('en', R18n::Loader::Rails.new)
|
|
28
|
-
#
|
|
28
|
+
#
|
|
29
29
|
# It use Rails I18n backend to load translations. By default, simple
|
|
30
30
|
# backend will be used, by you can change it, if use extended backend
|
|
31
31
|
# (for example, with ActiveRecord storage):
|
|
@@ -35,7 +35,7 @@ module R18n
|
|
|
35
35
|
class Rails
|
|
36
36
|
PLURAL_KEYS = { :zero => 0, :one => 1, :few => 2, :many => 'n',
|
|
37
37
|
:other => 'other' }
|
|
38
|
-
|
|
38
|
+
|
|
39
39
|
# Create new loader for some +backend+ from Rails I18n. Backend must have
|
|
40
40
|
# +reload!+, +init_translations+ and +translations+ methods.
|
|
41
41
|
def initialize(backend = ::I18n::Backend::Simple.new)
|
|
@@ -46,19 +46,19 @@ module R18n
|
|
|
46
46
|
::Syck::PrivateType
|
|
47
47
|
end
|
|
48
48
|
end
|
|
49
|
-
|
|
49
|
+
|
|
50
50
|
# Array of locales, which has translations in +I18n.load_path+.
|
|
51
51
|
def available
|
|
52
52
|
reload!
|
|
53
53
|
@translations.keys.map { |code| R18n::Locale.load(code) }
|
|
54
54
|
end
|
|
55
|
-
|
|
55
|
+
|
|
56
56
|
# Return Hash with translations for +locale+.
|
|
57
57
|
def load(locale)
|
|
58
58
|
reload!
|
|
59
59
|
@translations[locale.code.downcase]
|
|
60
60
|
end
|
|
61
|
-
|
|
61
|
+
|
|
62
62
|
# Reload backend if <tt>I18n.load_path</tt> is changed.
|
|
63
63
|
def reload!
|
|
64
64
|
return if @last_path == ::I18n.load_path
|
|
@@ -67,19 +67,19 @@ module R18n
|
|
|
67
67
|
@backend.send(:init_translations)
|
|
68
68
|
@translations = transform @backend.send(:translations)
|
|
69
69
|
end
|
|
70
|
-
|
|
70
|
+
|
|
71
71
|
# Return hash for object and <tt>I18n.load_path</tt>.
|
|
72
72
|
def hash
|
|
73
73
|
super + ::I18n.load_path.hash
|
|
74
74
|
end
|
|
75
|
-
|
|
75
|
+
|
|
76
76
|
# Is another +loader+ is also load Rails translations.
|
|
77
77
|
def ==(loader)
|
|
78
78
|
self.class == loader.class
|
|
79
79
|
end
|
|
80
|
-
|
|
80
|
+
|
|
81
81
|
protected
|
|
82
|
-
|
|
82
|
+
|
|
83
83
|
# Change pluralization and keys to R18n format.
|
|
84
84
|
def transform(value)
|
|
85
85
|
if value.is_a? Hash
|
data/r18n-rails-api.gemspec
CHANGED
|
@@ -14,21 +14,20 @@ Gem::Specification.new do |s|
|
|
|
14
14
|
user language support, agnostic core package with out-of-box support for
|
|
15
15
|
Rails, Sinatra, Merb and desktop applications.
|
|
16
16
|
EOF
|
|
17
|
-
|
|
17
|
+
|
|
18
18
|
s.files = `git ls-files`.split("\n")
|
|
19
19
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
|
20
20
|
s.extra_rdoc_files = ['README.rdoc', 'LICENSE']
|
|
21
21
|
s.require_path = 'lib'
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
|
|
24
23
|
s.author = 'Andrey "A.I." Sitnik'
|
|
25
24
|
s.email = 'andrey@sitnik.ru'
|
|
26
25
|
s.homepage = 'http://r18n.rubyforge.org/'
|
|
27
26
|
s.rubyforge_project = 'r18n-rails-api'
|
|
28
|
-
|
|
27
|
+
|
|
29
28
|
s.add_dependency 'r18n-core', ["= #{R18n::VERSION}"]
|
|
30
29
|
s.add_dependency 'i18n'
|
|
31
|
-
|
|
30
|
+
|
|
32
31
|
s.add_development_dependency "bundler", [">= 1.0.10"]
|
|
33
32
|
s.add_development_dependency "hanna", [">= 0"]
|
|
34
33
|
s.add_development_dependency "rake", [">= 0", "!= 0.9.0"]
|
data/spec/backend_spec.rb
CHANGED
|
@@ -7,63 +7,63 @@ describe R18n::Backend do
|
|
|
7
7
|
I18n.backend = R18n::Backend.new
|
|
8
8
|
R18n.set('en', R18n::Loader::Rails.new)
|
|
9
9
|
end
|
|
10
|
-
|
|
10
|
+
|
|
11
11
|
it "should return available locales" do
|
|
12
12
|
I18n.available_locales.should =~ [:en]
|
|
13
13
|
end
|
|
14
|
-
|
|
14
|
+
|
|
15
15
|
it "should localize objects" do
|
|
16
16
|
time = Time.at(0).utc
|
|
17
17
|
date = Date.parse('1970-01-01')
|
|
18
|
-
|
|
18
|
+
|
|
19
19
|
I18n.l(time).should == 'Thu, 01 Jan 1970 00:00:00 +0000'
|
|
20
20
|
I18n.l(date).should == '1970-01-01'
|
|
21
|
-
|
|
21
|
+
|
|
22
22
|
I18n.l(time, :format => :short).should == '01 Jan 00:00'
|
|
23
23
|
I18n.l(time, :format => :full).should == '1st of January, 1970 00:00'
|
|
24
|
-
|
|
24
|
+
|
|
25
25
|
I18n.l(-5000.5).should == '−5,000.5'
|
|
26
26
|
end
|
|
27
|
-
|
|
27
|
+
|
|
28
28
|
it "should translate by key and scope" do
|
|
29
29
|
I18n.t('in.another.level').should == 'Hierarchical'
|
|
30
30
|
I18n.t(:level, :scope => 'in.another').should == 'Hierarchical'
|
|
31
31
|
I18n.t(:'another.level', :scope => 'in').should == 'Hierarchical'
|
|
32
32
|
end
|
|
33
|
-
|
|
33
|
+
|
|
34
34
|
it "should use pluralization and variables" do
|
|
35
35
|
I18n.t(:users, :count => 0).should == '0 users'
|
|
36
36
|
I18n.t(:users, :count => 1).should == '1 user'
|
|
37
37
|
I18n.t(:users, :count => 5).should == '5 users'
|
|
38
38
|
end
|
|
39
|
-
|
|
39
|
+
|
|
40
40
|
it "should use another separator" do
|
|
41
41
|
I18n.t('in/another/level', :separator => '/').should == 'Hierarchical'
|
|
42
42
|
end
|
|
43
|
-
|
|
43
|
+
|
|
44
44
|
it "should translate array" do
|
|
45
45
|
I18n.t(['in.another.level', 'in.default']).should == ['Hierarchical',
|
|
46
46
|
'Default']
|
|
47
47
|
end
|
|
48
|
-
|
|
48
|
+
|
|
49
49
|
it "should use default value" do
|
|
50
50
|
I18n.t(:missed, :default => 'Default').should == 'Default'
|
|
51
51
|
I18n.t(:missed, :default => :default, :scope => :in).should == 'Default'
|
|
52
52
|
I18n.t(:missed, :default => [:also_no, :'in.default']).should == 'Default'
|
|
53
53
|
end
|
|
54
|
-
|
|
54
|
+
|
|
55
55
|
it "should raise error on no translation" do
|
|
56
56
|
lambda {
|
|
57
57
|
I18n.backend.translate(:en, :missed)
|
|
58
58
|
}.should raise_error(::I18n::MissingTranslationData)
|
|
59
59
|
I18n.t(:missed).should == 'translation missing: en.missed'
|
|
60
60
|
end
|
|
61
|
-
|
|
61
|
+
|
|
62
62
|
it "should reload translations" do
|
|
63
63
|
I18n.t(:other).should == 'translation missing: en.other'
|
|
64
64
|
I18n.load_path << OTHER
|
|
65
65
|
I18n.reload!
|
|
66
66
|
I18n.t(:other).should == 'Other'
|
|
67
67
|
end
|
|
68
|
-
|
|
68
|
+
|
|
69
69
|
end
|
data/spec/filters_spec.rb
CHANGED
|
@@ -5,29 +5,29 @@ describe 'Rails filters' do
|
|
|
5
5
|
before :all do
|
|
6
6
|
@en = R18n::Locale.load('en')
|
|
7
7
|
end
|
|
8
|
-
|
|
8
|
+
|
|
9
9
|
it "should use named variables" do
|
|
10
10
|
i18n = R18n::Translation.new(@en, '', @en, {'echo' => 'Value is %{value}'})
|
|
11
|
-
|
|
11
|
+
|
|
12
12
|
i18n.echo(:value => 'R18n').should == 'Value is R18n'
|
|
13
13
|
i18n.echo(:value => -5.5).should == 'Value is −5.5'
|
|
14
14
|
i18n.echo(:value => 5000).should == 'Value is 5,000'
|
|
15
15
|
i18n.echo.should == 'Value is %{value}'
|
|
16
16
|
end
|
|
17
|
-
|
|
17
|
+
|
|
18
18
|
it "should use old variables syntax" do
|
|
19
19
|
i18n = R18n::Translation.new(@en, '', @en, {'echo' => 'Value is {{value}}',})
|
|
20
20
|
i18n.echo(:value => 'Old').should == 'Value is Old'
|
|
21
21
|
end
|
|
22
|
-
|
|
22
|
+
|
|
23
23
|
it "should pluralize by variable %{count}" do
|
|
24
24
|
i18n = R18n::Translation.new(@en, '', @en, {'users' => R18n::Typed.new('pl',
|
|
25
25
|
{ 0 => 'no users', 1 => '1 user', 'n' => '%{count} users' }
|
|
26
26
|
) })
|
|
27
|
-
|
|
27
|
+
|
|
28
28
|
i18n.users(:count => 0).should == 'no users'
|
|
29
29
|
i18n.users(:count => 1).should == '1 user'
|
|
30
30
|
i18n.users(:count => 5).should == '5 users'
|
|
31
31
|
end
|
|
32
|
-
|
|
32
|
+
|
|
33
33
|
end
|
data/spec/loader_spec.rb
CHANGED
|
@@ -6,15 +6,15 @@ describe R18n::Loader::Rails do
|
|
|
6
6
|
I18n.load_path = [SIMPLE]
|
|
7
7
|
@loader = R18n::Loader::Rails.new
|
|
8
8
|
end
|
|
9
|
-
|
|
9
|
+
|
|
10
10
|
it "should return available locales" do
|
|
11
11
|
@loader.available.should =~ [EN, RU]
|
|
12
12
|
end
|
|
13
|
-
|
|
13
|
+
|
|
14
14
|
it "should load translation" do
|
|
15
15
|
@loader.load(RU).should == { 'one' => 'Один', 'two' => 'Два' }
|
|
16
16
|
end
|
|
17
|
-
|
|
17
|
+
|
|
18
18
|
it "should change pluralization" do
|
|
19
19
|
@loader.load(EN).should == {
|
|
20
20
|
'users' => R18n::Typed.new('pl', {
|
|
@@ -22,17 +22,17 @@ describe R18n::Loader::Rails do
|
|
|
22
22
|
})
|
|
23
23
|
}
|
|
24
24
|
end
|
|
25
|
-
|
|
25
|
+
|
|
26
26
|
it "should reload translations on load_path changes" do
|
|
27
27
|
I18n.load_path << OTHER
|
|
28
28
|
@loader.load(RU).should == { 'one' => 'Один', 'two' => 'Два',
|
|
29
29
|
'three' => 'Три' }
|
|
30
30
|
end
|
|
31
|
-
|
|
31
|
+
|
|
32
32
|
it "should change hash on load_path changes" do
|
|
33
33
|
before = @loader.hash
|
|
34
34
|
I18n.load_path << OTHER
|
|
35
35
|
@loader.hash.should_not == before
|
|
36
36
|
end
|
|
37
|
-
|
|
37
|
+
|
|
38
38
|
end
|
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: r18n-rails-api
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
hash:
|
|
5
|
-
prerelease:
|
|
4
|
+
hash: 25
|
|
5
|
+
prerelease:
|
|
6
6
|
segments:
|
|
7
7
|
- 0
|
|
8
8
|
- 4
|
|
9
|
-
-
|
|
10
|
-
version: 0.4.
|
|
9
|
+
- 11
|
|
10
|
+
version: 0.4.11
|
|
11
11
|
platform: ruby
|
|
12
12
|
authors:
|
|
13
13
|
- Andrey "A.I." Sitnik
|
|
@@ -15,26 +15,27 @@ autorequire:
|
|
|
15
15
|
bindir: bin
|
|
16
16
|
cert_chain: []
|
|
17
17
|
|
|
18
|
-
date: 2011-
|
|
19
|
-
default_executable:
|
|
18
|
+
date: 2011-10-02 00:00:00 Z
|
|
20
19
|
dependencies:
|
|
21
20
|
- !ruby/object:Gem::Dependency
|
|
21
|
+
type: :runtime
|
|
22
|
+
name: r18n-core
|
|
22
23
|
prerelease: false
|
|
23
24
|
version_requirements: &id001 !ruby/object:Gem::Requirement
|
|
24
25
|
none: false
|
|
25
26
|
requirements:
|
|
26
27
|
- - "="
|
|
27
28
|
- !ruby/object:Gem::Version
|
|
28
|
-
hash:
|
|
29
|
+
hash: 25
|
|
29
30
|
segments:
|
|
30
31
|
- 0
|
|
31
32
|
- 4
|
|
32
|
-
-
|
|
33
|
-
version: 0.4.
|
|
33
|
+
- 11
|
|
34
|
+
version: 0.4.11
|
|
34
35
|
requirement: *id001
|
|
35
|
-
type: :runtime
|
|
36
|
-
name: r18n-core
|
|
37
36
|
- !ruby/object:Gem::Dependency
|
|
37
|
+
type: :runtime
|
|
38
|
+
name: i18n
|
|
38
39
|
prerelease: false
|
|
39
40
|
version_requirements: &id002 !ruby/object:Gem::Requirement
|
|
40
41
|
none: false
|
|
@@ -46,9 +47,9 @@ dependencies:
|
|
|
46
47
|
- 0
|
|
47
48
|
version: "0"
|
|
48
49
|
requirement: *id002
|
|
49
|
-
type: :runtime
|
|
50
|
-
name: i18n
|
|
51
50
|
- !ruby/object:Gem::Dependency
|
|
51
|
+
type: :development
|
|
52
|
+
name: bundler
|
|
52
53
|
prerelease: false
|
|
53
54
|
version_requirements: &id003 !ruby/object:Gem::Requirement
|
|
54
55
|
none: false
|
|
@@ -62,9 +63,9 @@ dependencies:
|
|
|
62
63
|
- 10
|
|
63
64
|
version: 1.0.10
|
|
64
65
|
requirement: *id003
|
|
65
|
-
type: :development
|
|
66
|
-
name: bundler
|
|
67
66
|
- !ruby/object:Gem::Dependency
|
|
67
|
+
type: :development
|
|
68
|
+
name: hanna
|
|
68
69
|
prerelease: false
|
|
69
70
|
version_requirements: &id004 !ruby/object:Gem::Requirement
|
|
70
71
|
none: false
|
|
@@ -76,9 +77,9 @@ dependencies:
|
|
|
76
77
|
- 0
|
|
77
78
|
version: "0"
|
|
78
79
|
requirement: *id004
|
|
79
|
-
type: :development
|
|
80
|
-
name: hanna
|
|
81
80
|
- !ruby/object:Gem::Dependency
|
|
81
|
+
type: :development
|
|
82
|
+
name: rake
|
|
82
83
|
prerelease: false
|
|
83
84
|
version_requirements: &id005 !ruby/object:Gem::Requirement
|
|
84
85
|
none: false
|
|
@@ -98,9 +99,9 @@ dependencies:
|
|
|
98
99
|
- 0
|
|
99
100
|
version: 0.9.0
|
|
100
101
|
requirement: *id005
|
|
101
|
-
type: :development
|
|
102
|
-
name: rake
|
|
103
102
|
- !ruby/object:Gem::Dependency
|
|
103
|
+
type: :development
|
|
104
|
+
name: rspec-core
|
|
104
105
|
prerelease: false
|
|
105
106
|
version_requirements: &id006 !ruby/object:Gem::Requirement
|
|
106
107
|
none: false
|
|
@@ -112,9 +113,9 @@ dependencies:
|
|
|
112
113
|
- 0
|
|
113
114
|
version: "0"
|
|
114
115
|
requirement: *id006
|
|
115
|
-
type: :development
|
|
116
|
-
name: rspec-core
|
|
117
116
|
- !ruby/object:Gem::Dependency
|
|
117
|
+
type: :development
|
|
118
|
+
name: rspec-expectations
|
|
118
119
|
prerelease: false
|
|
119
120
|
version_requirements: &id007 !ruby/object:Gem::Requirement
|
|
120
121
|
none: false
|
|
@@ -126,9 +127,9 @@ dependencies:
|
|
|
126
127
|
- 0
|
|
127
128
|
version: "0"
|
|
128
129
|
requirement: *id007
|
|
129
|
-
type: :development
|
|
130
|
-
name: rspec-expectations
|
|
131
130
|
- !ruby/object:Gem::Dependency
|
|
131
|
+
type: :development
|
|
132
|
+
name: rspec-mocks
|
|
132
133
|
prerelease: false
|
|
133
134
|
version_requirements: &id008 !ruby/object:Gem::Requirement
|
|
134
135
|
none: false
|
|
@@ -140,9 +141,9 @@ dependencies:
|
|
|
140
141
|
- 0
|
|
141
142
|
version: "0"
|
|
142
143
|
requirement: *id008
|
|
143
|
-
type: :development
|
|
144
|
-
name: rspec-mocks
|
|
145
144
|
- !ruby/object:Gem::Dependency
|
|
145
|
+
type: :development
|
|
146
|
+
name: rcov
|
|
146
147
|
prerelease: false
|
|
147
148
|
version_requirements: &id009 !ruby/object:Gem::Requirement
|
|
148
149
|
none: false
|
|
@@ -154,8 +155,6 @@ dependencies:
|
|
|
154
155
|
- 0
|
|
155
156
|
version: "0"
|
|
156
157
|
requirement: *id009
|
|
157
|
-
type: :development
|
|
158
|
-
name: rcov
|
|
159
158
|
description: " R18n backend for Rails I18n and R18n filters and loader to support Rails\n translation format.\n R18n has nice Ruby-style syntax, filters, flexible locales, custom loaders,\n translation support for any classes, time and number localization, several\n user language support, agnostic core package with out-of-box support for\n Rails, Sinatra, Merb and desktop applications.\n"
|
|
160
159
|
email: andrey@sitnik.ru
|
|
161
160
|
executables: []
|
|
@@ -187,7 +186,6 @@ files:
|
|
|
187
186
|
- spec/filters_spec.rb
|
|
188
187
|
- spec/loader_spec.rb
|
|
189
188
|
- spec/spec_helper.rb
|
|
190
|
-
has_rdoc: true
|
|
191
189
|
homepage: http://r18n.rubyforge.org/
|
|
192
190
|
licenses: []
|
|
193
191
|
|
|
@@ -217,7 +215,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
217
215
|
requirements: []
|
|
218
216
|
|
|
219
217
|
rubyforge_project: r18n-rails-api
|
|
220
|
-
rubygems_version: 1.
|
|
218
|
+
rubygems_version: 1.7.2
|
|
221
219
|
signing_key:
|
|
222
220
|
specification_version: 3
|
|
223
221
|
summary: Rails I18n compatibility for R18n
|