Skip to content

Commit 511a42d

Browse files
committed
fix: respect an explicit false for notify_on_metadata_change
The after_initialize default unconditionally reset the flag to true on new records, so an explicitly provided false (e.g. an unchecked form checkbox) could never survive initialization. Only apply the default when the attribute is nil, and add a regression test. Addresses Copilot review on PR #72.
1 parent d1133c6 commit 511a42d

2 files changed

Lines changed: 6 additions & 1 deletion

File tree

app/models/subscription_template.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ def set_default_alteration_types
7171
end
7272

7373
def set_default_notify_on_metadata_change
74-
self.notify_on_metadata_change = true
74+
self.notify_on_metadata_change = true if notify_on_metadata_change.nil?
7575
end
7676

7777
def take_json_entities

test/unit/subscription_template_test.rb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,11 @@ def test_default_notify_on_metadata_change
3636
assert_equal true, template.notify_on_metadata_change
3737
end
3838

39+
def test_explicit_false_notify_on_metadata_change_is_respected
40+
template = SubscriptionTemplate.new(valid_attributes(notify_on_metadata_change: false))
41+
assert_equal false, template.notify_on_metadata_change
42+
end
43+
3944
def test_name_is_required
4045
template = SubscriptionTemplate.new(valid_attributes(name: nil))
4146
assert_not template.valid?

0 commit comments

Comments
 (0)