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 58268540e5..c967d428ac 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 "t" - when false then "f" + when true then casted_true + when false then casted_false else super end end @@ -19,12 +19,20 @@ module ActiveModel def cast_value(value) result = \ case value - when true then "t" - when false then "f" + when true then casted_true + when false then casted_false 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 1c3d10c15d..97bc5edd4b 100644 --- a/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb @@ -979,22 +979,14 @@ module ActiveRecord end class MysqlString < Type::String # :nodoc: - 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 cast_value(value) - case value - when true then MySQL::Quoting::QUOTED_TRUE - when false then MySQL::Quoting::QUOTED_FALSE - else super - end + def casted_true + MySQL::Quoting::QUOTED_TRUE + end + + def casted_false + MySQL::Quoting::QUOTED_FALSE end end |