Commit c1dfb88647e6952ffb05b45ba29da540710b45c9
1 parent
92389213
Exists in
master
and in
28 other branches
ActionItem862: translating default contents in settings
Showing
2 changed files
with
7 additions
and
1 deletions
Show diff stats
lib/acts_as_having_settings.rb
@@ -28,7 +28,7 @@ module ActsAsHavingSettings | @@ -28,7 +28,7 @@ module ActsAsHavingSettings | ||
28 | class_eval <<-CODE | 28 | class_eval <<-CODE |
29 | def #{setting} | 29 | def #{setting} |
30 | val = send(self.class.settings_field)[:#{setting}] | 30 | val = send(self.class.settings_field)[:#{setting}] |
31 | - val.nil? ? #{default} : val | 31 | + val.nil? ? (#{default}.is_a?(String) ? gettext(#{default}) : #{default}) : val |
32 | end | 32 | end |
33 | def #{setting}=(value) | 33 | def #{setting}=(value) |
34 | send(self.class.settings_field)[:#{setting}] = self.class.acts_as_having_settings_type_cast(value, #{data_type.inspect}) | 34 | send(self.class.settings_field)[:#{setting}] = self.class.acts_as_having_settings_type_cast(value, #{data_type.inspect}) |
test/unit/acts_as_having_settings_test.rb
@@ -6,6 +6,7 @@ class ActsAsHavingSettingsTest < Test::Unit::TestCase | @@ -6,6 +6,7 @@ class ActsAsHavingSettingsTest < Test::Unit::TestCase | ||
6 | class TestClass < Block | 6 | class TestClass < Block |
7 | settings_items :flag, :type => :boolean | 7 | settings_items :flag, :type => :boolean |
8 | settings_items :flag_disabled_by_default, :type => :boolean, :default => false | 8 | settings_items :flag_disabled_by_default, :type => :boolean, :default => false |
9 | + settings_items :name, :type => :string, :default => N_('ENGLISH TEXT') | ||
9 | end | 10 | end |
10 | 11 | ||
11 | should 'store settings in a hash' do | 12 | should 'store settings in a hash' do |
@@ -62,6 +63,11 @@ class ActsAsHavingSettingsTest < Test::Unit::TestCase | @@ -62,6 +63,11 @@ class ActsAsHavingSettingsTest < Test::Unit::TestCase | ||
62 | assert_equal false, TestClass.new.flag_disabled_by_default | 63 | assert_equal false, TestClass.new.flag_disabled_by_default |
63 | end | 64 | end |
64 | 65 | ||
66 | + should 'translate default values' do | ||
67 | + TestClass.any_instance.expects(:gettext).with('ENGLISH TEXT').returns("TRANSLATED") | ||
68 | + assert_equal 'TRANSLATED', TestClass.new.name | ||
69 | + end | ||
70 | + | ||
65 | should 'be able to specify type of atrributes (boolean)' do | 71 | should 'be able to specify type of atrributes (boolean)' do |
66 | obj = TestClass.new | 72 | obj = TestClass.new |
67 | obj.flag = 'true' | 73 | obj.flag = 'true' |