aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--activemodel/lib/active_model/type/immutable_string.rb16
-rw-r--r--activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb20
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