diff options
author | Ryuta Kamizono <kamipo@gmail.com> | 2016-08-20 08:56:54 +0900 |
---|---|---|
committer | Ryuta Kamizono <kamipo@gmail.com> | 2016-08-20 08:56:54 +0900 |
commit | f1d9fc5d346a6a1bc6728bad544196c62fc50cac (patch) | |
tree | e0554809e123026dcb324b6cd5cd3968a9630466 | |
parent | c1d612cf5a9d25133ab50cc057ebb35d337e37fa (diff) | |
download | rails-f1d9fc5d346a6a1bc6728bad544196c62fc50cac.tar.gz rails-f1d9fc5d346a6a1bc6728bad544196c62fc50cac.tar.bz2 rails-f1d9fc5d346a6a1bc6728bad544196c62fc50cac.zip |
Fix `OID::Bit#cast_value`
Fixes #26137.
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/postgresql/oid/bit.rb | 4 | ||||
-rw-r--r-- | activerecord/test/cases/adapters/postgresql/bit_string_test.rb | 5 |
2 files changed, 5 insertions, 4 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/postgresql/oid/bit.rb b/activerecord/lib/active_record/connection_adapters/postgresql/oid/bit.rb index a6b5a89ec0..74bff229ea 100644 --- a/activerecord/lib/active_record/connection_adapters/postgresql/oid/bit.rb +++ b/activerecord/lib/active_record/connection_adapters/postgresql/oid/bit.rb @@ -7,7 +7,7 @@ module ActiveRecord :bit end - def cast(value) + def cast_value(value) if ::String === value case value when /^0x/i @@ -16,7 +16,7 @@ module ActiveRecord value # Bit-string notation end else - value + value.to_s end end diff --git a/activerecord/test/cases/adapters/postgresql/bit_string_test.rb b/activerecord/test/cases/adapters/postgresql/bit_string_test.rb index f646e59848..7712e809a2 100644 --- a/activerecord/test/cases/adapters/postgresql/bit_string_test.rb +++ b/activerecord/test/cases/adapters/postgresql/bit_string_test.rb @@ -65,10 +65,11 @@ class PostgresqlBitStringTest < ActiveRecord::PostgreSQLTestCase end def test_roundtrip - PostgresqlBitString.create! a_bit: "00001010", a_bit_varying: "0101" - record = PostgresqlBitString.first + record = PostgresqlBitString.create!(a_bit: "00001010", a_bit_varying: "0101") assert_equal "00001010", record.a_bit assert_equal "0101", record.a_bit_varying + assert_nil record.another_bit + assert_nil record.another_bit_varying record.a_bit = "11111111" record.a_bit_varying = "0xF" |