用途:帮助在 Rails 项目中使用 noticed gem 构建通知系统,覆盖从安装配置到创建通知器、添加投递渠道、调试和编写测试的完整流程。
主要能力:通知器继承 Noticed::Event,可声明 required_params、投递方式,并通过 notification_methods 定义辅助方法。支持单发(deliver_by,每位收件人一条)与群发(bulk_deliver_by,如团队 Slack 频道)。投递渠道包括 Email(ActionMailer)、ActionCable、Slack、Microsoft Teams、Twilio(短信/WhatsApp)、Vonage、Apple Push(APNs)、FCM、Discord、Bluesky、通用 Webhook,以及仅存数据库的应用内通知中心。
使用方式:遵循 record 模式,将主对象作为 record: 传入,例如 NewCommentNotifier.with(record: @comment).deliver(@recipients)。默认异步,依赖 ActiveJob,需运行后台处理器(如 Sidekiq)。技能按意图匹配工作流:安装配置、创建通知器、添加投递方式、调试、写测试,以及为不支持的服务创建自定义投递方式。
验证:每次改动后可用 bin/rails runner "NewCommentNotifier" 检查能否加载,用 bin/rails test test/notifiers/ 运行测试,并用 bin/rails runner "puts Sidekiq::Queue.new.size" 查看队列。
限制:资料未提供具体版本要求、安装命令细节、收费信息或平台支持范围;自定义投递方式等场景需参考对应工作流文件。