Skip to content

Commit 0dd5e98

Browse files
Attila Horváthwpolicarpo
Attila Horváth
authored andcommitted
Make String equality check work for Type::Data values
1 parent 37e1925 commit 0dd5e98

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

lib/active_record/connection_adapters/sqlserver/type/string.rb

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,13 @@ module SQLServer
44
module Type
55
class String < ActiveRecord::Type::String
66

7+
def changed_in_place?(raw_old_value, new_value)
8+
if raw_old_value.is_a?(Data)
9+
raw_old_value.value != new_value
10+
else
11+
super
12+
end
13+
end
714

815
end
916
end

test/cases/column_test_sqlserver.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -798,6 +798,12 @@ def assert_obj_set_and_save(attribute, value)
798798
obj.save!
799799
end
800800

801+
it 'does not mark object as changed after save' do
802+
obj.save!
803+
obj.attributes
804+
obj.changed?.must_equal false
805+
end
806+
801807
end
802808

803809
end

0 commit comments

Comments
 (0)