aboutsummaryrefslogtreecommitdiffstats
path: root/activemodel
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2019-02-21 13:10:14 +0900
committerRyuta Kamizono <kamipo@gmail.com>2019-02-21 13:11:42 +0900
commit9c9c950d02af83742a5f76302d0faa99508f242c (patch)
treee2023e0f989f380aa293bb23dff5c6efdff866a3 /activemodel
parent8e66548b08e6b9ce9ba98a7a93c86f2cdd693019 (diff)
downloadrails-9c9c950d02af83742a5f76302d0faa99508f242c.tar.gz
rails-9c9c950d02af83742a5f76302d0faa99508f242c.tar.bz2
rails-9c9c950d02af83742a5f76302d0faa99508f242c.zip
Revert "Speed up integer casting from DB"
This reverts commit 52fddcc653458456f98b3683dffd781cf00b35fe. 52fddcc was to short-circuit `ensure_in_range` in `cast_value`. But that caused a regression for empty string deserialization. Since 7c6f393, `ensure_in_range` is moved into `serialize`. As 52fddcc said, the absolute gain is quite small. So I've reverted that commit to fix the regression.
Diffstat (limited to 'activemodel')
-rw-r--r--activemodel/lib/active_model/type/integer.rb5
-rw-r--r--activemodel/test/cases/type/integer_test.rb2
2 files changed, 1 insertions, 6 deletions
diff --git a/activemodel/lib/active_model/type/integer.rb b/activemodel/lib/active_model/type/integer.rb
index 5878b94171..1ff232a977 100644
--- a/activemodel/lib/active_model/type/integer.rb
+++ b/activemodel/lib/active_model/type/integer.rb
@@ -18,11 +18,6 @@ module ActiveModel
:integer
end
- def deserialize(value)
- return if value.nil?
- value.to_i
- end
-
def serialize(value)
result = super
if result
diff --git a/activemodel/test/cases/type/integer_test.rb b/activemodel/test/cases/type/integer_test.rb
index 9bd0110099..dec188b4cc 100644
--- a/activemodel/test/cases/type/integer_test.rb
+++ b/activemodel/test/cases/type/integer_test.rb
@@ -54,7 +54,7 @@ module ActiveModel
type = Type::Integer.new
assert_nil type.cast("")
assert_nil type.serialize("")
- assert_equal 0, type.deserialize("")
+ assert_nil type.deserialize("")
end
test "changed?" do