Commit c1dfb88647e6952ffb05b45ba29da540710b45c9
1 parent
92389213
Exists in
master
and in
22 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 | 28 | class_eval <<-CODE |
| 29 | 29 | def #{setting} |
| 30 | 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 | 32 | end |
| 33 | 33 | def #{setting}=(value) |
| 34 | 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 | class TestClass < Block |
| 7 | 7 | settings_items :flag, :type => :boolean |
| 8 | 8 | settings_items :flag_disabled_by_default, :type => :boolean, :default => false |
| 9 | + settings_items :name, :type => :string, :default => N_('ENGLISH TEXT') | |
| 9 | 10 | end |
| 10 | 11 | |
| 11 | 12 | should 'store settings in a hash' do |
| ... | ... | @@ -62,6 +63,11 @@ class ActsAsHavingSettingsTest < Test::Unit::TestCase |
| 62 | 63 | assert_equal false, TestClass.new.flag_disabled_by_default |
| 63 | 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 | 71 | should 'be able to specify type of atrributes (boolean)' do |
| 66 | 72 | obj = TestClass.new |
| 67 | 73 | obj.flag = 'true' | ... | ... |