delocalize 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/lib/delocalize/rails_ext/active_record.rb +5 -4
- data/test/delocalize_test.rb +12 -0
- data/test/test_helper.rb +1 -0
- metadata +3 -3
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.1
|
@@ -12,15 +12,16 @@ ActiveRecord::ConnectionAdapters::Column.class_eval do
|
|
12
12
|
end
|
13
13
|
|
14
14
|
ActiveRecord::Base.class_eval do
|
15
|
-
def write_attribute_with_localization(attr_name,
|
15
|
+
def write_attribute_with_localization(attr_name, original_value)
|
16
|
+
new_value = original_value
|
16
17
|
if column = column_for_attribute(attr_name.to_s)
|
17
18
|
if column.date?
|
18
|
-
|
19
|
+
new_value = Date.parse_localized(original_value) rescue original_value
|
19
20
|
elsif column.time?
|
20
|
-
|
21
|
+
new_value = Time.parse_localized(original_value) rescue original_value
|
21
22
|
end
|
22
23
|
end
|
23
|
-
write_attribute_without_localization(attr_name,
|
24
|
+
write_attribute_without_localization(attr_name, new_value)
|
24
25
|
end
|
25
26
|
alias_method_chain :write_attribute, :localization
|
26
27
|
|
data/test/delocalize_test.rb
CHANGED
@@ -57,6 +57,13 @@ class DelocalizeActiveRecordTest < ActiveRecord::TestCase
|
|
57
57
|
assert_equal time, @product.cant_think_of_a_sensible_time_field
|
58
58
|
end
|
59
59
|
|
60
|
+
test "invalid dates should be delocalized to nil" do
|
61
|
+
date = '32. Oktober 2009'
|
62
|
+
@product.released_on = date
|
63
|
+
assert_equal nil, @product.released_on
|
64
|
+
assert_equal date, @product.released_on_before_type_cast
|
65
|
+
end
|
66
|
+
|
60
67
|
test "uses default parse if format isn't found" do
|
61
68
|
date = Date.civil(2009, 10, 19)
|
62
69
|
|
@@ -248,4 +255,9 @@ class DelocalizeActionViewTest < ActionView::TestCase
|
|
248
255
|
text_field(:product, :price, :value => "1.499,90")
|
249
256
|
}
|
250
257
|
end
|
258
|
+
|
259
|
+
test "formats field with default value correctly" do
|
260
|
+
assert_dom_equal '<input id="product_some_value_with_default" name="product[some_value_with_default]" size="30" type="text" value="0,00" />',
|
261
|
+
text_field(:product, :some_value_with_default)
|
262
|
+
end
|
251
263
|
end
|
data/test/test_helper.rb
CHANGED
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 2
|
8
|
-
-
|
9
|
-
version: 0.2.
|
8
|
+
- 1
|
9
|
+
version: 0.2.1
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Clemens Kofler
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-
|
17
|
+
date: 2010-06-20 00:00:00 +02:00
|
18
18
|
default_executable:
|
19
19
|
dependencies: []
|
20
20
|
|