coding-ruby について
coding-rubyは、Ruby 3.xコードの生成、デバッグ、最適化を支援するスキルです。Rubyの言語機能に加え、Bundler、Rails、RSpecを扱い、スクリプトやアプリ開発に対応します。
主な機能
- 01Ruby 3.xコードの生成とデバッグ
- 02ブロック、proc、lambdaの活用
- 03メタプログラミングとモジュール
- 04Bundlerによるgem管理
- 05Railsアプリ開発
- 06RSpecテストの作成
活用シーン
- 01RailsのWebアプリ開発
- 02Rubyプロジェクトの依存関係管理
- 03RSpecテストの作成
- 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」を拡張します。