SuperAPI AI 工具集

ruby-service-objects

编程与开发

查看项目

更新于 10-15 22:17

技能介绍

用途:在 Rails 项目中创建新的服务类、添加业务逻辑类,或把代码重构为服务对象时使用,提供统一的编码约定与结构模板。

主要能力:规定以 .call 类方法作为入口并委托给 new.call;统一返回 { success: true/false, response: { ... } } 格式,支持部分成功;文件放在 app/services/module_name/service_name.rb,按模块命名空间组织;每个文件加 frozen_string_literal: true;公开方法写 YARD 文档;输入无效时尽早抛错;捕获异常、记录日志并返回错误哈希,不泄漏异常;多步数据库操作使用事务包裹;动态 SQL 需做 sanitize_sql 处理。还给出编排器(Orchestrator)模式、仅类方法服务、ResponseBuilder 模式、self.default 工厂方法、常量配置、错误日志与检查清单。

使用方式:遵循 HARD-GATE——先为 .call 编写并运行 spec(覆盖成功、错误、边界),确认因服务不存在而失败后,再写实现。

适用场景:Rails 中需要抽取控制器业务逻辑、组织多子服务协作、统一服务返回契约时。

限制:资料未提供具体安装命令、版本要求、收费信息或性能数据;示例代码仅为规范示意,需结合项目实际调整。