Skip to content

Commit 0abc3bf

Browse files
committed
Use replace when both old and new values are one value
1 parent 11c5024 commit 0abc3bf

File tree

2 files changed

+2
-3
lines changed

2 files changed

+2
-3
lines changed

lib/active_ldap/base.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1372,7 +1372,7 @@ def collect_modified_attributes(ldap_data, data)
13721372
if k == _dn_attribute
13731373
new_dn_value = value[0]
13741374
else
1375-
if force_replace?(k)
1375+
if (v.size == 1 and value.size == 1) or force_replace?(k)
13761376
attributes.push([:replace, k, value])
13771377
else
13781378
removed_values = v - value

test/test_base.rb

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -447,8 +447,7 @@ def test_save_with_changes
447447
assert_equal({
448448
:modified => true,
449449
:entries => [
450-
[:delete, "cn", {"cn" => [cn]}],
451-
[:add, "cn", {"cn" => ["#{cn}!!!"]}],
450+
[:replace, "cn", {"cn" => ["#{cn}!!!"]}],
452451
],
453452
},
454453
detect_modify(user) {user.save})

0 commit comments

Comments
 (0)