embedded_localization 0.2.0 → 0.2.1
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.textile
CHANGED
@@ -56,7 +56,7 @@ h3. Rails 3.0
|
|
56
56
|
class CreateGenres < ActiveRecord::Migration
|
57
57
|
def self.up
|
58
58
|
create_table :genres do |t|
|
59
|
-
t.text :i18n # stores the translated attributes; persisted as a
|
59
|
+
t.text :i18n # stores the translated attributes; persisted as a Hash
|
60
60
|
|
61
61
|
# optional:
|
62
62
|
# t.string :name # you CAN define :name as a real column in your DB (but you don't have to)
|
@@ -205,11 +205,13 @@ If your requirements are different, my approach might not work for you. In that
|
|
205
205
|
|
206
206
|
h2. Changes
|
207
207
|
|
208
|
+
h3. 0.2.0 (2012-01-31)
|
209
|
+
* added support for having DB columns for translated attributes, to enable SQL queries in I18n.default_locale
|
210
|
+
|
208
211
|
h3. 0.1.4 (2012-01-31)
|
209
212
|
* fixed bug with dirty tracking of serialized i18n attribute
|
210
213
|
* renamed #fallback? to #fallbacks?
|
211
214
|
|
212
|
-
|
213
215
|
h3. 0.1.3 Initial Version (2012-01-27)
|
214
216
|
|
215
217
|
|
@@ -71,8 +71,8 @@ module EmbeddedLocalization
|
|
71
71
|
if self.attributes.has_key?(attr_name.to_s) # if user has defined DB field with that name
|
72
72
|
write_attribute(attr_name , new_translation) if I18n.locale == I18n.default_locale
|
73
73
|
end
|
74
|
-
self.i18n[I18n.locale] ||=
|
75
|
-
self.i18n[I18n.locale][attr_name] = new_translation
|
74
|
+
self.i18n[I18n.locale] ||= Hash.new
|
75
|
+
self.i18n[I18n.locale][attr_name.to_sym] = new_translation
|
76
76
|
end
|
77
77
|
end
|
78
78
|
end
|
@@ -21,8 +21,8 @@ module EmbeddedLocalization
|
|
21
21
|
if self.attributes.has_key?(attr_name.to_s) # if user has defined DB field with that name
|
22
22
|
write_attribute(attr_name , new_translation) if locale == I18n.default_locale
|
23
23
|
end
|
24
|
-
self.i18n[locale] ||=
|
25
|
-
self.i18n[locale][attr_name] = new_translation
|
24
|
+
self.i18n[locale] ||= Hash.new
|
25
|
+
self.i18n[locale][attr_name.to_sym] = new_translation
|
26
26
|
end
|
27
27
|
|
28
28
|
# Returns all locales used for translation of all documents of this class.
|
@@ -96,10 +96,10 @@ module EmbeddedLocalization
|
|
96
96
|
# initialized the serialized 'i18n' attribute with Hash of Hashes,
|
97
97
|
# containing all pre-defined translated attributes with nil value
|
98
98
|
def initialize_i18n_hashes
|
99
|
-
self.i18n ||=
|
100
|
-
self.i18n[ I18n.locale ] ||=
|
99
|
+
self.i18n ||= Hash.new
|
100
|
+
self.i18n[ I18n.locale ] ||= Hash.new(Hash.zip(translated_attribute_names,[]))
|
101
101
|
if I18n.locale != I18n.default_locale
|
102
|
-
self.i18n[ I18n.default_locale ] ||=
|
102
|
+
self.i18n[ I18n.default_locale ] ||= Hash.new(Hash.zip(translated_attribute_names,[]))
|
103
103
|
end
|
104
104
|
end
|
105
105
|
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: embedded_localization
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.2.
|
5
|
+
version: 0.2.1
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Tilo Sloboda
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2012-01
|
13
|
+
date: 2012-02-01 00:00:00 Z
|
14
14
|
dependencies: []
|
15
15
|
|
16
16
|
description: "Rails I18n: Embedded_Localization for ActiveRecord 3 is very lightweight, and allows you to transparently store translations of attributes right inside each record -- no extra database tables needed to store the localization data!"
|