Skip to content

Commit

Permalink
Merge a2fcf1b into 3b353e5
Browse files Browse the repository at this point in the history
  • Loading branch information
exAspArk committed Feb 18, 2021
2 parents 3b353e5 + a2fcf1b commit 9c9540e
Show file tree
Hide file tree
Showing 6 changed files with 37 additions and 77 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,4 @@
# rspec failure tracking
.rspec_status
.ruby-version
.tool-versions
10 changes: 5 additions & 5 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@ language: ruby
before_install: gem install bundler -v 2.0.1
rvm:
- 2.3.8
- 2.4.9
- 2.5.7
- 2.6.5
- 2.7.0
- 2.4.10
- 2.5.8
- 2.6.6
- 2.7.2
- 3.0.0
env:
- CI=true
gemfile:
- graphql-1.7.gemfile
- graphql-latest.gemfile
4 changes: 2 additions & 2 deletions batch-loader.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ Gem::Specification.new do |spec|
spec.add_development_dependency "bundler", "~> 2.0"
spec.add_development_dependency "rake", "~> 13.0"
spec.add_development_dependency "rspec", "~> 3.0"
spec.add_development_dependency "graphql", "~> 1.6"
spec.add_development_dependency "pry-byebug", "~> 3.4"
spec.add_development_dependency "graphql", "~> 1.8"
spec.add_development_dependency "pry", "~> 0.14"
spec.add_development_dependency "benchmark-ips", "~> 2.7"
spec.add_development_dependency "ruby-prof", "~> 0.16"
end
7 changes: 0 additions & 7 deletions graphql-1.7.gemfile

This file was deleted.

4 changes: 2 additions & 2 deletions lib/batch_loader/graphql.rb
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,8 @@ def initialize(item = nil)
@batch_loader = BatchLoader.for(item)
end

def batch(*args, **kwargs, &block)
@batch_loader.batch(*args, **kwargs, &block)
def batch(*kwargs, &block)
@batch_loader.batch(*kwargs, &block)
self
end

Expand Down
88 changes: 27 additions & 61 deletions spec/fixtures/graphql_schema.rb
Original file line number Diff line number Diff line change
@@ -1,76 +1,42 @@
graphql_ruby_version = Gem::Version.new(GraphQL::VERSION)

if graphql_ruby_version < Gem::Version.new('1.8')
UserType = GraphQL::ObjectType.define do
name "User"
field :id, !types.ID
end
class UserType < GraphQL::Schema::Object
field :id, ID, null: false
end

PostType = GraphQL::ObjectType.define do
name "Post"
field :user, !UserType, resolve: ->(object, args, ctx) do
BatchLoader::GraphQL.for(object.user_id).batch do |user_ids, loader|
User.where(id: user_ids).each { |user| loader.call(user.id, user) }
end
end
class PostType < GraphQL::Schema::Object
field :user, UserType, null: false
field :user_old, UserType, null: false

field :userOld, !UserType, resolve: ->(object, args, ctx) do
BatchLoader.for(object.user_id).batch do |user_ids, loader|
User.where(id: user_ids).each { |user| loader.call(user.id, user) }
end
def user
BatchLoader::GraphQL.for(object.user_id).batch do |user_ids, loader|
User.where(id: user_ids).each { |user| loader.call(user.id, user) }
end
end

QueryType = GraphQL::ObjectType.define do
name "Query"
field :posts, !types[PostType], resolve: ->(obj, args, ctx) { Post.all }
end

GraphqlSchema = GraphQL::Schema.define do
query QueryType
use BatchLoader::GraphQL
end
elsif
class UserType < GraphQL::Schema::Object
field :id, ID, null: false
end

class PostType < GraphQL::Schema::Object
field :user, UserType, null: false
field :user_old, UserType, null: false

def user
BatchLoader::GraphQL.for(object.user_id).batch do |user_ids, loader|
User.where(id: user_ids).each { |user| loader.call(user.id, user) }
end
end

def user_old
BatchLoader.for(object.user_id).batch do |user_ids, loader|
User.where(id: user_ids).each { |user| loader.call(user.id, user) }
end
def user_old
BatchLoader.for(object.user_id).batch do |user_ids, loader|
User.where(id: user_ids).each { |user| loader.call(user.id, user) }
end
end
end

class QueryType < GraphQL::Schema::Object
field :posts, [PostType], null: false
class QueryType < GraphQL::Schema::Object
field :posts, [PostType], null: false

def posts
Post.all
end
def posts
Post.all
end
end

class GraphqlSchema < GraphQL::Schema
class GraphqlSchema < GraphQL::Schema
query QueryType
use BatchLoader::GraphQL
end

if defined?(GraphQL::Execution::Interpreter)
class GraphqlSchemaWithInterpreter < GraphQL::Schema
use GraphQL::Execution::Interpreter
use GraphQL::Analysis::AST
query QueryType
use BatchLoader::GraphQL
end

if defined?(GraphQL::Execution::Interpreter)
class GraphqlSchemaWithInterpreter < GraphQL::Schema
use GraphQL::Execution::Interpreter
use GraphQL::Analysis::AST
query QueryType
use BatchLoader::GraphQL
end
end
end

0 comments on commit 9c9540e

Please sign in to comment.