app/models/thredded/user_messageboard_preference.rb in thredded-0.10.1 vs app/models/thredded/user_messageboard_preference.rb in thredded-0.11.0

- old
+ new

@@ -11,10 +11,34 @@ belongs_to :messageboard validates :user_id, presence: true validates :messageboard_id, presence: true + after_initialize :set_auto_follow_from_user_preference, unless: :persisted? + + scope :auto_followers, -> { where(auto_follow_topics: true) } + def self.in(messageboard) find_or_initialize_by(messageboard_id: messageboard.id) + end + + def user_preference + super || build_user_preference + end + + def user_id=(value) + super + set_auto_follow_from_user_preference + end + + def user=(value) + super + set_auto_follow_from_user_preference + end + + private + + def set_auto_follow_from_user_preference + self.auto_follow_topics = user_preference.auto_follow_topics if user_id && !id end end end