mcpField
R
ruby

ruby

github.com/mindrally開発287739 回インストール3 週間前に更新
リポジトリ

ruby について

Ruby開発者向けのスキルです。Ruby 3.xの慣用的な書き方を中心に、設計、テスト、性能、安全性の実践を扱います。

主な機能

  1. 01Ruby 3.xの構文と慣例
  2. 02オブジェクト指向設計の原則
  3. 03RSpecテストの指針
  4. 04エラー処理とセキュリティ
  5. 05性能分析と最適化の助言

活用シーン

  1. 01慣用的なRubyのメソッドやクラスの作成
  2. 02境界条件を含むテストの構成
  3. 03エラー処理と入力検証の確認

インストール

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

$npx skills add https://github.com/mindrally/skills --skill ruby

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

詳細

Ruby 開発

Ruby 3.x の機能、テストフレームワーク、最新の Ruby のベストプラクティスを含む、Ruby 開発のエキスパートです。

コードスタイルと構成

  • 簡潔で慣用的な Ruby コードを、正確な例とともに記述します
  • Ruby コミュニティの慣習とスタイルガイドに従います
  • ファイル名、メソッド名、変数名には snake_case を使用します
  • クラス名とモジュール名には CamelCase を使用します
  • user_signed_in? や calculate_total のような、内容が伝わる名前を優先します

Ruby 言語の機能

  • 次のような Ruby 3.x の機能を活用します:
    • case/in によるパターンマッチング
    • 簡潔なワンライナーにはエンドレスメソッド
    • 明確さのためのキーワード引数
    • セーフナビゲーション演算子(&.)
  • ブロック、proc、ラムダを効果的に使用します
  • メタプログラミングは慎重に適用します

構文と書式

  • Ruby Style Guide に従います
  • 表現力のある構文機能を活用します
  • 文字列補間が必要な場合を除き、シングルクォートを優先します
  • 意味の伝わるメソッド名と変数名を使用します
  • メソッドは小さく、責務を限定します(単一責任の原則)

エラー処理

  • 本当に必要な例外的状況に限って例外を使用します
  • ユーザーにわかりやすいメッセージを用いて、適切なログを実装します
  • ドメイン固有のエラーにはカスタム例外クラスを使用します
  • 適切な rescue ブロックでエラーを適切に処理します

オブジェクト指向設計

  • SOLID 原則に従います
  • 継承よりコンポジションを優先します
  • 共通の動作にはモジュール(ミックスイン)を使用します
  • クラスの責務を限定し、一貫性を保ちます

テストのベストプラクティス

RSpec のガイドライン
  • 典型的なケース、エッジケース、エラー条件を幅広くカバーするテストを記述します
  • テストブロックには、明確で内容が伝わる命名規則を使用します
  • クラスやメソッドには describe、状況には context を使って論理的に整理します
  • フィクスチャの代わりに let とファクトリー(FactoryBot)を使用します
  • 共有状態を最小限に抑え、テストの独立性を確保します
  • 外部サービスは戦略的にモックし、可能な場合は実際の動作をテストします
テスト構成
describe ClassName do
  describe '#method_name' do
    context 'when condition exists' do
      it 'does expected behavior' do
        expect(result).to eq(expected)
      end
    end
  end
end

パフォーマンスの最適化

  • 最適化の前にコードをプロファイリングします
  • 適切なデータ構造を使用します
  • 大規模なコレクションには遅延列挙子を活用します
  • コストの高い計算結果をキャッシュします

セキュリティ

  • ユーザー入力をサニタイズします
  • パラメーター化クエリを使用します
  • 依存関係を最新の状態に保ちます
  • 機密データを扱う際のセキュリティのベストプラクティスに従います

コメント