mcpField
C
coding-ruby

coding-ruby

github.com/alphaonedev开发43 次安装
代码仓库

关于 coding-ruby

coding-ruby 是用于生成、调试和优化 Ruby 3.x 代码的技能,涵盖 Ruby 语言特性、Bundler、Rails 和 RSpec,适用于脚本与应用开发。

主要功能

  1. 01生成和调试 Ruby 3.x 代码
  2. 02处理块、proc 与 lambda
  3. 03元编程与模块
  4. 04使用 Bundler 管理 gem
  5. 05开发 Rails 应用
  6. 06编写 RSpec 测试

适用场景

  1. 01构建 Rails Web 应用
  2. 02管理 Ruby 项目依赖
  3. 03编写 RSpec 测试
  4. 04通过元编程创建动态方法

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill coding-ruby

安装后在 Claude Code 中输入/coding-ruby确认已加载。

详细介绍

coding-ruby

用途

此技能可帮助 AI 生成、调试和优化 Ruby 3.x 代码,重点关注高级构造,例如块、proc、lambda、元编程、模块、使用 Bundler 管理 gem、Rails Web 应用和 RSpec 测试。

适用场景

在处理 Ruby 脚本相关任务时使用此技能,例如使用 Rails 构建 Web 应用、通过 Bundler 管理依赖项、使用 RSpec 编写单元测试,或应用元编程实现动态代码生成。用户请求为电子商务网站、API 后端或自定义 gem 编写代码时,也可以使用此技能。

核心能力

  • 处理块和 proc:在方法中定义并 yield 块,例如用于迭代器。
  • 实现元编程:使用 define_method 或 method_missing 动态创建类。
  • 管理模块:创建并包含模块以实现命名空间,例如 module MyModule; end。
  • 使用 Bundler:通过 Gemfile 安装和管理 gem,以解决依赖项。
  • 构建 Rails 应用:生成用于 MVC 架构的模型、控制器和路由。
  • 编写 RSpec 测试:创建用于行为驱动开发的 spec,包括匹配器和 mock。

使用模式

为完成任务,请使用 Ruby 惯用写法组织代码:使用 proc 作为回调,使用模块编写可复用代码,并使用元编程实现自动化。对于 Rails,请遵循 MVC 模式;对于 RSpec,请使用 describe/it 块。始终检查 Ruby 3.x 语法,例如使用 case 语句进行模式匹配。定义 lambda:my_lambda = ->(x) { x * 2 }。调用方式:my_lambda.call(5)。使用元编程动态添加方法:class MyClass; define_method(:greet) { puts 'Hello' }; end。编辑 Gemfile 后,运行 bundle install 集成 Bundler。

常用命令/API

Ruby 任务请使用以下精确命令:

  • Ruby CLI:运行 ruby -v 验证版本(例如 3.2.2),或使用 irb 启动 IRB 进行交互式测试。
  • Bundler:执行 bundle install --path vendor/bundle,从 Gemfile 安装 gem;使用 bundle update gem_name 更新。
  • Gems:在 Gemfile 中添加 gem:gem 'rspec', '~> 3.12';然后运行 bundle install。
  • Rails:使用 rails new my_app --database=postgresql 创建新应用;使用 rails generate controller Users index 创建控制器。
  • RSpec:使用 rspec spec/ 运行测试,或运行指定文件:rspec spec/models/user_spec.rb --format documentation。
  • Rails 中的 API 端点:在 config/routes.rb 中定义路由,例如 resources :users;在代码中通过 /users 访问。 配置格式:Rails 配置使用 YAML,例如在 config/database.yml 中配置:default: &default adapter: postgresql username: user。对于 gem 的身份验证,设置 $RAILS_MASTER_KEY 等环境变量,用于加密凭证。

集成说明

集成此技能前,请先设置 Ruby 环境:通过 rbenv 安装 Ruby 3.x:rbenv install 3.2.2,并使用 rbenv global 3.2.2 将其设为全局版本。对于 Rails,将其添加到 Gemfile,并运行 bundle exec rails server,在端口 3000 启动服务。使用 Bundler 隔离 gem:通过 bundle init 创建新的 gem 集,并在代码中使用 require 'rspec' 等语句引入 gem。如果涉及外部 API(例如通过 gem 调用),请使用环境变量处理身份验证:设置 $GEM_API_KEY,并在代码中通过 ENV['GEM_API_KEY'] 访问。对于数据库集成,请在 Rails 模型中配置 ActiveRecord,例如 class User < ApplicationRecord; end,然后使用 rails db:migrate 执行迁移。

错误处理

请按规定处理 Ruby 错误:使用 begin/rescue 块处理异常,例如:

begin
  File.open('nonexistent.txt')
rescue Errno::ENOENT => e
  puts "File not found: #{e.message}"
end

对于 Rails,请检查 log/development.log 中的日志,并在控制器中使用 rescue_from 处理自定义错误。在 RSpec 中,使用 expect { code }.to raise_error(SomeError) 断言错误。常见问题:gem 冲突——使用 bundle clean --force 解决;Ruby 3.x 语法错误——使用 ruby -c file.rb 检查。对于元编程,可使用 method_missing 捕获 NoMethodError 并定义回退行为。

图关系

  • 相关:coding-python(共享元编程概念)、coding-javascript(两者都使用模块和回调)。
  • 聚类:关联到用于通用编程技能的“coding”聚类;通过 Rails 集成与“web-development”相连。
  • 依赖项:需要“environment-setup”来安装 Ruby;通过 RSpec 扩展“testing-frameworks”。

评论

支持 Markdown