simple_localizer 0.0.3 → 0.0.4
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/README.md +7 -0
- data/Rakefile +11 -0
- data/VERSION +1 -1
- data/lib/simple_localizer.rb +4 -1
- data/simple_localizer.gemspec +2 -2
- data/spec/db/test.sqlite3 +0 -0
- data/spec/simple_localizer_spec.rb +13 -0
- metadata +15 -15
data/README.md
CHANGED
@@ -47,6 +47,13 @@ puts product.name_ru # => e
|
|
47
47
|
```
|
48
48
|
|
49
49
|
## Supported locales
|
50
|
+
You can change supported locales if necessary. Create file </pre>config/initializers/simple_localizer.rb</pre>:
|
51
|
+
|
52
|
+
```ruby
|
53
|
+
SimpleLocalizer.supported_locales = %w(ru en fr)
|
54
|
+
```
|
55
|
+
|
56
|
+
Locales supported by default:
|
50
57
|
|
51
58
|
aa ab ae af al am ar as ay az
|
52
59
|
ba be bg bh bi bn bo bp br ca
|
data/Rakefile
CHANGED
@@ -33,6 +33,17 @@ namespace :db do
|
|
33
33
|
|
34
34
|
desc 'Run migrations'
|
35
35
|
task :migrate do
|
36
|
+
ActiveRecord::Migration.create_table :admin_catalogs do |t|
|
37
|
+
t.timestamps
|
38
|
+
end
|
39
|
+
|
40
|
+
ActiveRecord::Migration.create_table :admin_catalog_translations do |t|
|
41
|
+
t.string :locale
|
42
|
+
t.string :name
|
43
|
+
t.integer :admin_catalog_id
|
44
|
+
t.timestamps
|
45
|
+
end
|
46
|
+
|
36
47
|
ActiveRecord::Migration.create_table :products do |t|
|
37
48
|
t.timestamps
|
38
49
|
end
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.4
|
data/lib/simple_localizer.rb
CHANGED
@@ -24,7 +24,7 @@ module SimpleLocalizer
|
|
24
24
|
|
25
25
|
module ClassMethods
|
26
26
|
def translates *columns
|
27
|
-
underscore_name = name.underscore
|
27
|
+
underscore_name = name.underscore.gsub("/", "_")
|
28
28
|
translation_class = const_set(:Translation, Class.new(ActiveRecord::Base))
|
29
29
|
translated_attribute_names = columns.map &:to_s
|
30
30
|
|
@@ -50,6 +50,9 @@ module SimpleLocalizer
|
|
50
50
|
send("#{attr}_#{locale}=", value)
|
51
51
|
end
|
52
52
|
|
53
|
+
# I use method 'detect'. This is not the fastest solution, but it is simple.
|
54
|
+
# If you have many entries for 'translations' association and this piece of code slows down,
|
55
|
+
# you can use the hash, but then do not forget to take care of cleaning it when call the method 'reload' for model.
|
53
56
|
SimpleLocalizer.supported_locales.each do |locale|
|
54
57
|
define_method "#{attr}_#{locale}" do
|
55
58
|
translation = translations.detect { |translation|
|
data/simple_localizer.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "simple_localizer"
|
8
|
-
s.version = "0.0.
|
8
|
+
s.version = "0.0.4"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["vad4msiu"]
|
12
|
-
s.date = "
|
12
|
+
s.date = "2013-01-17"
|
13
13
|
s.description = "Simple localization your ActiveRecord fields without magic"
|
14
14
|
s.email = "vad4msiu@gmail.com"
|
15
15
|
s.extra_rdoc_files = [
|
data/spec/db/test.sqlite3
CHANGED
Binary file
|
@@ -6,6 +6,19 @@ class Product < ActiveRecord::Base
|
|
6
6
|
translates :name
|
7
7
|
end
|
8
8
|
|
9
|
+
module Admin
|
10
|
+
class Catalog < ActiveRecord::Base
|
11
|
+
translates :name
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
describe Admin::Catalog::Translation do
|
16
|
+
it "должен правильно установить название таблици" do
|
17
|
+
Admin::Catalog::Translation.table_name.should == 'admin_catalog_translations'
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
|
9
22
|
describe SimpleLocalizer do
|
10
23
|
it "должен выполнить блок с установленным языком" do
|
11
24
|
product = Product.create! :name_fr => 'qwe', :name_en => 'asd'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simple_localizer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-01-17 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activerecord
|
16
|
-
requirement: &
|
16
|
+
requirement: &70247857739520 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70247857739520
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rspec
|
27
|
-
requirement: &
|
27
|
+
requirement: &70247857764020 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 2.8.0
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70247857764020
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: bundler
|
38
|
-
requirement: &
|
38
|
+
requirement: &70247857782260 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 1.0.0
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70247857782260
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: jeweler
|
49
|
-
requirement: &
|
49
|
+
requirement: &70247857789420 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 1.8.4
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70247857789420
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: database_cleaner
|
60
|
-
requirement: &
|
60
|
+
requirement: &70247857812580 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70247857812580
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: sqlite3
|
71
|
-
requirement: &
|
71
|
+
requirement: &70247857811000 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,7 +76,7 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70247857811000
|
80
80
|
description: Simple localization your ActiveRecord fields without magic
|
81
81
|
email: vad4msiu@gmail.com
|
82
82
|
executables: []
|
@@ -114,7 +114,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
114
114
|
version: '0'
|
115
115
|
segments:
|
116
116
|
- 0
|
117
|
-
hash: -
|
117
|
+
hash: -1871419541144395559
|
118
118
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
119
119
|
none: false
|
120
120
|
requirements:
|