OSS探訪GitHubでログイン

RubyやRailsで型付きGraphQL APIを定義し、問い合わせを実行する

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
5,444
主要言語
Ruby
ライセンス
MIT
リポジトリ最終更新
2026/10/01
ページ内ナビ

概要

RubyでGraphQLサーバーを構築するための言語実装と実行基盤です。オブジェクト型、フィールド、問い合わせの入口をRubyコードで定義し、文字列で受け取った問い合わせをスキーマに対して実行できます。Railsでは生成コマンドから必要な構成を追加できます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

型とスキーマをRubyコードとして組み立てる

オブジェクト型にフィールドと返却型を宣言し、問い合わせの入口となるQuery型をスキーマへ接続します。Schema.executeへ問い合わせ文字列を渡すと、選択されたフィールドを解決して結果を返せます。

出典:[2]

Rails向けのひな型からAPIを追加する

rails generate graphql:installでRailsアプリケーションへ基本構成を追加できます。型を作る生成コマンドも用意され、GraphiQLは開発環境向けに追加されます。

出典:[1][2]

向いている用途

Rubyのモデルや処理をGraphQLの型付きAPIとして公開する

既存のRuby・Railsアプリケーションに、クライアントが必要な項目を選んで取得できるAPIを設けたい場面に向きます。GraphQL仕様に沿い、RelayやApollo Clientから利用するサーバー側をRubyで統一できます。

出典:[1][2]

導入前の確認

Ruby要件と有償拡張の境界を確認する

v2.6.11のgemspecはRuby 2.7以上を要求します。永続化した問い合わせ、APIの版管理、サーバー側キャッシュ、レート制限などREADMEに列挙された一部機能はGraphQL::Proとして提供されるため、必要な機能がオープンソース版に含まれるか確認してください。

出典:[3][1]

参考にした公式資料

  1. [1]graphql-ruby v2.6.11 README(2026-10-04)
  2. [2]graphql-ruby v2.6.11 getting started guide(2026-10-04)
  3. [3]graphql-ruby v2.6.11 gem specification(2026-10-04)
  4. [4]graphql-ruby GitHub repository metadata(2026-10-04)
  5. [5]graphql-ruby v2.6.11 MIT license(2026-10-04)
編集部からの補足

採用時はスキーマ定義だけでなく、認可、データ取得回数、エラーの返し方まで小さな問い合わせで確かめたいライブラリです。GraphQL::Proの機能を前提にする場合は、オープンソース部分との境界も確認してください。

3ステップで試す

  1. 1

    検証用Bundleへgraphqlを追加する

    Ruby 2.7以上とBundlerが利用できる環境で、空の検証用ディレクトリにv2.6.11を追加します。

    mkdir graphql-ruby-demo && cd graphql-ruby-demo && bundle init && bundle add graphql --version 2.6.11
  2. 2

    最小のスキーマと問い合わせを用意する

    問い合わせの入口と一つのフィールドを定義し、同じファイルの末尾で問い合わせを実行します。

    printf '%s\n' 'require "graphql"' 'class QueryType < GraphQL::Schema::Object' ' field :greeting, String, null: false' ' def greeting' ' "Hello from graphql-ruby"' ' end' 'end' 'class DemoSchema < GraphQL::Schema' ' query(QueryType)' 'end' 'puts DemoSchema.execute("{ greeting }").to_h' > demo.rb
  3. 3

    問い合わせ結果を確認する

    出力に{"data"=>{"greeting"=>"Hello from graphql-ruby"}}が含まれることを確認します。

    bundle exec ruby demo.rb
公式READMEで確認

成長

成長の推移 · 直近30日

5,444 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
65
Open PR
18

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • ruby
  • graphql
  • relay
  • rails
  • graphql-ruby
  • hacktoberfest
Stars
5,444
Forks
1,419
Watchers
77
Open Issues
50
Contributors
397
所有者種別
User
主要言語
Ruby
ライセンス
MIT
リポジトリ最終更新
2026/10/01

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?