diff options
-rw-r--r-- | activemodel/lib/active_model/type/immutable_string.rb | 16 | ||||
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb | 20 |
2 files changed, 18 insertions, 18 deletions
diff --git a/activemodel/lib/active_model/type/immutable_string.rb b/activemodel/lib/active_model/type/immutable_string.rb index c967d428ac..58268540e5 100644 --- a/activemodel/lib/active_model/type/immutable_string.rb +++ b/activemodel/lib/active_model/type/immutable_string.rb @@ -8,8 +8,8 @@ module ActiveModel def serialize(value) case value when ::Numeric, ActiveSupport::Duration then value.to_s - when true then casted_true - when false then casted_false + when true then "t" + when false then "f" else super end end @@ -19,20 +19,12 @@ module ActiveModel def cast_value(value) result = \ case value - when true then casted_true - when false then casted_false + when true then "t" + when false then "f" else value.to_s end result.freeze end - - def casted_true - "t".freeze - end - - def casted_false - "f".freeze - end end end end diff --git a/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb b/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb index 97bc5edd4b..1c3d10c15d 100644 --- a/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb @@ -979,14 +979,22 @@ module ActiveRecord end class MysqlString < Type::String # :nodoc: - private - - def casted_true - MySQL::Quoting::QUOTED_TRUE + def serialize(value) + case value + when true then MySQL::Quoting::QUOTED_TRUE + when false then MySQL::Quoting::QUOTED_FALSE + else super end + end + + private - def casted_false - MySQL::Quoting::QUOTED_FALSE + def cast_value(value) + case value + when true then MySQL::Quoting::QUOTED_TRUE + when false then MySQL::Quoting::QUOTED_FALSE + else super + end end end |