From d2e11dd7718943946dbc2981961c8e0b10ed7b9a Mon Sep 17 00:00:00 2001 From: Craig Davey Date: Thu, 22 Apr 2010 03:23:01 -0400 Subject: [PATCH] Recondition Tolk::Translation#value to accommodate string values that are invalid YAML. --- app/models/tolk/translation.rb | 10 +++++----- test/unit/translation_test.rb | 5 +++++ 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/app/models/tolk/translation.rb b/app/models/tolk/translation.rb index b197a1e..04582a5 100644 --- a/app/models/tolk/translation.rb +++ b/app/models/tolk/translation.rb @@ -31,8 +31,8 @@ def text=(value) end def value - if text.is_a?(String) - YAML.load text + if text.is_a?(String) && /^\d+$/.match(text) + text.to_i else text end @@ -48,12 +48,12 @@ def fix_text_type rescue ArgumentError nil end - + end - + self.text = nil if primary_translation.text.class != self.text.class end - + true end diff --git a/test/unit/translation_test.rb b/test/unit/translation_test.rb index 9cf47a9..8d2f2a7 100644 --- a/test/unit/translation_test.rb +++ b/test/unit/translation_test.rb @@ -27,6 +27,11 @@ def setup assert_equal "Hello World", tolk_translations(:hello_world_en).value end + test "translation with string value with variables" do + text = "{{attribute}} {{message}}" + assert_equal text, Tolk::Translation.new(:text => text).value + end + test "translation with numeric value" do assert_equal 1, tolk_translations(:human_format_precision_en).value end