SuperAPI AI 工具集

business-logic-coder

通用与其它

查看项目

更新于 10-16 00:03

技能介绍

用途:该技能是 Rails 业务逻辑的编排入口,把具体实现委派给两个专用技能:需要一次性的类型化操作时用 active-interaction-coder,需要管理生命周期与状态流转时用 aasm-coder。

主要能力:ActiveInteraction 用于“发生一次”的操作,如用户注册、下单、支付处理、数据导入、报表生成,支持 .run(返回结果并检查 .valid?)、.run!(失败抛异常)、compose(嵌套调用);AASM 用于有生命周期的对象,如订单状态(pending→paid→shipped)、订阅(trial→active→cancelled)、文档流程、任务状态,支持 .event!(流转或抛异常)、.event(流转或返回 false)、.may_event?、.aasm.events。两者可组合:交互触发状态变更后再继续后续处理。

使用方式:Gemfile 加入 gem "active_interaction", "~> 5.3" 与 gem "aasm", "~> 5.5"。涉及多步数据库操作时用 ActiveRecord::Base.transaction 包裹,按需设置 isolation: :repeatable_read 或 :serializable;嵌套事务需显式写 transaction(requires_new: true)。

限制与规范:锁记录需按 ID 升序保持一致顺序,事务要短,事务内不得放用户输入或外部 API 调用,避免长事务、嵌套保存点语义混淆等反模式。与其他技能(如 event-sourcing-coder 从状态流转记录领域事件)相关。具体版本的兼容性与更多细节资料未提供。