File tree Expand file tree Collapse file tree 2 files changed +10
-1
lines changed
lib/active_record/connection_adapters/postgresql/oid
test/cases/adapters/postgresql Expand file tree Collapse file tree 2 files changed +10
-1
lines changed Original file line number Diff line number Diff line change @@ -31,7 +31,7 @@ def serialize(value)
31
31
# TODO: Remove when IPAddr#== compares IPAddr#prefix. See
32
32
# https://github.com/ruby/ipaddr/issues/21
33
33
def changed? ( old_value , new_value , _new_value_before_type_cast )
34
- super || old_value . prefix != new_value . prefix
34
+ super || ! old_value . nil? && old_value . prefix != new_value . prefix
35
35
end
36
36
37
37
def cast_value ( value )
Original file line number Diff line number Diff line change @@ -21,6 +21,15 @@ class CidrTest < ActiveRecord::PostgreSQLTestCase
21
21
22
22
assert_equal "foo" , type . serialize ( "foo" )
23
23
end
24
+
25
+ test "changed? with nil values" do
26
+ type = OID ::Cidr . new
27
+
28
+ assert_not type . changed? ( nil , nil , "" )
29
+ assert type . changed? ( "192.168.0.0/24" , nil , "" )
30
+ assert type . changed? ( nil , "192.168.0.0/24" , "" )
31
+ assert type . changed? ( "192.168.0.0/24" , "192.168.0.0/25" , "" )
32
+ end
24
33
end
25
34
end
26
35
end
You can’t perform that action at this time.
0 commit comments