Skip to content

shangweilin7/graphql_query_argument

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GraphQL::QueryArgument

A simple module for graphql resolver

Installation

Add this line to your application's Gemfile:

gem 'graphql_query_argument'

And then execute:

$ bundle

Or install it yourself as:

$ gem install graphql_query_argument

Usage

require 'graphql/query_argument'

# `Products < Resolvers::Base`:
#
module Resolvers
  class Products < Resolvers::Base
    include GraphQL::QueryArgument

    type [Types::ProductType], null: false

    query_argument :name, type: [String], required: false do |scope, value|
      scope.where(name: value)
    end
    query_argument :categories, type: Types::CategoryQueryInputs, required: false do |scope, value|
      scope.joins(:categories).where(categieies: { **value })
    end
  end
end
# `CompanyType`:
class CompanyType < Types::BaseObject
  field :products, null: false, resolver: Resolvers::Products

  def products
    object.products
  end
end
# `CategoryQueryInputs`:
module Types
  class CategoryQueryInputs < Types::BaseInputObject
    argument :name, [String], required: false
  end
end

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages