text: class NotificationBuilder
    pattr_initialize [:notification_type!, :user!, :account!, :primary_actor!]
  
    def perform
      return unless user_subscribed_to_notification?
  
      build_notification
    end
  
    private
  
    def secondary_actor
      Current.user
    end
  
    def user_subscribed_to_notification?
      notification_setting = user.notification_settings.find_by(account_id: account.id)
      return true if notification_setting.public_send("email_#{notification_type}?")
      return true if notification_setting.public_send("push_#{notification_type}?")
  
      false
    end
  
    def build_notification
      user.notifications.create!(
        notification_type: notification_type,
        account: account,
        primary_actor: primary_actor,
        secondary_actor: secondary_actor
      )
    end
  end
  