aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/attribute_methods/write.rb
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2012-02-06 15:51:39 -0800
committerAaron Patterson <aaron.patterson@gmail.com>2012-02-06 15:51:39 -0800
commit5dec3dd59c9f4b5c881860b0f629c8d6b3706f90 (patch)
tree6544e05a7d08f3597f5cb0aad56eab532768295b /activerecord/lib/active_record/attribute_methods/write.rb
parent321b4c8527505f84a59412d078cef2b145782345 (diff)
downloadrails-5dec3dd59c9f4b5c881860b0f629c8d6b3706f90.tar.gz
rails-5dec3dd59c9f4b5c881860b0f629c8d6b3706f90.tar.bz2
rails-5dec3dd59c9f4b5c881860b0f629c8d6b3706f90.zip
delegate attribute typecasting to the column
Diffstat (limited to 'activerecord/lib/active_record/attribute_methods/write.rb')
-rw-r--r--activerecord/lib/active_record/attribute_methods/write.rb18
1 files changed, 2 insertions, 16 deletions
diff --git a/activerecord/lib/active_record/attribute_methods/write.rb b/activerecord/lib/active_record/attribute_methods/write.rb
index fde55b95da..310cd90433 100644
--- a/activerecord/lib/active_record/attribute_methods/write.rb
+++ b/activerecord/lib/active_record/attribute_methods/write.rb
@@ -43,23 +43,9 @@ module ActiveRecord
end
def type_cast_attribute_for_write(column, value)
- if column && column.number?
- convert_number_column_value(value)
- else
- value
- end
- end
+ return value unless column
- def convert_number_column_value(value)
- if value == false
- 0
- elsif value == true
- 1
- elsif value.is_a?(String) && value.blank?
- nil
- else
- value
- end
+ column.type_cast_for_write value
end
end
end