mcpField
C
coding-ruby

coding-ruby

github.com/alphaonedev開発43 回インストール
リポジトリ

coding-ruby について

coding-rubyは、Ruby 3.xコードの生成、デバッグ、最適化を支援するスキルです。Rubyの言語機能に加え、Bundler、Rails、RSpecを扱い、スクリプトやアプリ開発に対応します。

主な機能

  1. 01Ruby 3.xコードの生成とデバッグ
  2. 02ブロック、proc、lambdaの活用
  3. 03メタプログラミングとモジュール
  4. 04Bundlerによるgem管理
  5. 05Railsアプリ開発
  6. 06RSpecテストの作成

活用シーン

  1. 01RailsのWebアプリ開発
  2. 02Rubyプロジェクトの依存関係管理
  3. 03RSpecテストの作成
  4. 04メタプログラミングによる動的メソッド作成

インストール

コマンドをコピーしてターミナルで実行します。

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

インストール後、Claude Code で/coding-rubyを入力して読み込まれたか確認します。

詳細

coding-ruby

目的

このスキルを使うと、ブロック、Proc、ラムダ、メタプログラミング、モジュール、Bundler による gem 管理、Rails の Web アプリ、RSpec テストなどの高度な構文に重点を置きながら、Ruby 3.x コードを生成、デバッグ、最適化できます。

使用する場面

Rails を使った Web アプリケーションの構築、Bundler による依存関係の管理、RSpec による単体テストの作成、動的なコード生成のためのメタプログラミングなど、Ruby スクリプトに関するタスクでこのスキルを使用します。ユーザーから EC サイト、API バックエンド、カスタム gem のコードを求められた場合に適用します。

主な機能

  • ブロックと Proc の処理:イテレーターなどで使うブロックをメソッド内で定義し、yield で呼び出します。
  • メタプログラミングの実装:define_method や method_missing を使って、クラスを動的に作成します。
  • モジュールの処理:module MyModule; end のように、名前空間のためのモジュールを作成してインクルードします。
  • Bundler の使用:Gemfile を使って gem をインストールおよび管理し、依存関係を解決します。
  • Rails アプリの構築:MVC アーキテクチャ向けにモデル、コントローラー、ルートを生成します。
  • RSpec テストの作成:マッチャーやモックを含む、振る舞い駆動開発用のスペックを作成します。

使用パターン

タスクを実行する際は、Ruby の慣用的な書き方に従ってコードを構成します。コールバックには Proc、再利用可能なコードにはモジュール、自動化にはメタプログラミングを使います。Rails では MVC パターンに従い、RSpec では describe/it ブロックを使います。case 文によるパターンマッチングなど、Ruby 3.x の構文を必ず確認してください。ラムダを定義するには、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 で更新します。
  • Gem:Gemfile に 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 install 3.2.2 で Ruby 3.x をインストールし、rbenv global 3.2.2 でグローバルに設定します。Rails を使う場合は Gemfile に追加し、bundle exec rails server を実行してポート 3000 で起動します。Bundler を使って gem を分離します。bundle init で新しい gem セットを作成し、require 'rspec' のようにコード内で gem を読み込みます。gem 経由で外部 API を利用する場合などは、環境変数で認証を処理します。$GEM_API_KEY を設定し、コード内では ENV['GEM_API_KEY'] として参照します。データベースを統合する場合は、Rails のモデルで class User < ApplicationRecord; end のように ActiveRecord を設定し、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」にもつながります。
  • 依存関係:Ruby のインストールには「environment-setup」が必要です。RSpec を通じて「testing-frameworks」を拡張します。

コメント