用途:帮助开发者在 Ruby 应用中添加 PostHog 功能开关,附带安装、接入代码与最佳实践三类参考文档,具体 API 细节需查阅文档。
主要能力:
- 通过 posthog-ruby gem 在 Ruby 项目中使用功能开关;Gemfile 添加 gem 'posthog-ruby',但需用 require 'posthog' 引入,而非 require 'posthog-ruby'。
- 支持脚本与 CLI 中以实例方式初始化:PostHog::Client.new(api_key: key, host: host)。
- 提供 capture、identify、capture_exception 等调用方式说明。
- 若检测到已连接 PostHog MCP 服务器,可用相关工具直接创建、列出、更新、删除功能开关,无需手动在控制台操作。
必要用法与关键原则:
- 密钥必须使用环境变量,不可硬编码。
- 只将开关代码与现有逻辑并列添加,不替换或重构现有代码。
- 默认使用布尔开关检查,除非明确需要多变量开关。
- 尽量在服务端评估开关,避免界面闪烁。
- capture 与 identify 接收单个哈希参数,例如 client.capture(distinct_id: 'user_123', event: 'my_event', properties: { key: 'value' })。
- capture_exception 使用位置参数而非关键字:client.capture_exception(exception, distinct_id, additional_properties),不可用 distinct_id: 关键字写法。
- 在 CLI 与脚本中,退出前必须调用 client.shutdown,否则事件会丢失;建议用 begin/rescue/ensure 将 shutdown 放入 ensure 块做清理。
适用场景:需要在 Ruby 应用或命令行脚本中按用户维度评估功能开关、做灰度发布或实验,并希望在服务端完成判断的场景。
限制:资料未提供具体安装命令、版本要求、收费与平台细节,也未展开完整代码示例;实际 API 细节与框架特定模式需查阅随附参考文档。