From bea8b87a42b9feb901238232fc58f94f24063be5 Mon Sep 17 00:00:00 2001 From: Victor Date: Mon, 27 Apr 2020 04:35:13 -0300 Subject: [PATCH 1/5] Change rails dependency to 6 --- graphoid.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/graphoid.gemspec b/graphoid.gemspec index 776016a3..e6c4d6a8 100644 --- a/graphoid.gemspec +++ b/graphoid.gemspec @@ -16,5 +16,5 @@ Gem::Specification.new do |gem| gem.files = Dir['{app,config,db,lib}/**/*', 'MIT-LICENSE', 'Rakefile', 'README.md'] gem.add_dependency 'graphql', '~> 1.8.0' - gem.add_dependency 'rails', '~> 5' + gem.add_dependency 'rails', '~> 6' end From 5916cb4fd3ddf882d5d1bf66f439aac07dc25ef8 Mon Sep 17 00:00:00 2001 From: Victor Cordeiro Costa Date: Thu, 25 Aug 2022 14:48:05 -0300 Subject: [PATCH 2/5] Change graphql gem dependency version (#3) The upgrade of gem is very important, because it will enable [DataLoader](https://graphql-ruby.org/dataloader/overview.html), which is basically aimed to fix N+1 Query Problem when requesting queries with has_many associations. (E.g: Person has_many Books) References: 1. https://evilmartians.com/chronicles/how-to-graphql-with-ruby-rails-active-record-and-no-n-plus-one 2. https://graphql-ruby.org/dataloader/overview.html --- graphoid.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/graphoid.gemspec b/graphoid.gemspec index e6c4d6a8..a1f10929 100644 --- a/graphoid.gemspec +++ b/graphoid.gemspec @@ -15,6 +15,6 @@ Gem::Specification.new do |gem| gem.files = Dir['{app,config,db,lib}/**/*', 'MIT-LICENSE', 'Rakefile', 'README.md'] - gem.add_dependency 'graphql', '~> 1.8.0' + gem.add_dependency 'graphql', '~> 1.12.0' gem.add_dependency 'rails', '~> 6' end From e70b3711635f0f7eff1b08218cebb34599ace7e8 Mon Sep 17 00:00:00 2001 From: Victor Cordeiro Costa Date: Fri, 26 Aug 2022 01:19:04 -0300 Subject: [PATCH 3/5] Add binding.pry --- lib/graphoid/queries/queries.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/graphoid/queries/queries.rb b/lib/graphoid/queries/queries.rb index 155073ea..c94af36f 100644 --- a/lib/graphoid/queries/queries.rb +++ b/lib/graphoid/queries/queries.rb @@ -10,6 +10,8 @@ module Queries grapho = Graphoid.build(model) query_type = ::Types::QueryType + binding.pry + query_type.field name: grapho.name, type: grapho.type, null: true do argument :id, GraphQL::Types::ID, required: false argument :where, grapho.filter, required: false From 03d96f82e21fef911ad47be519543a5fc4330965 Mon Sep 17 00:00:00 2001 From: Victor Cordeiro Costa Date: Fri, 26 Aug 2022 02:40:54 -0300 Subject: [PATCH 4/5] Change binding.pry places --- lib/graphoid/queries/queries.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/graphoid/queries/queries.rb b/lib/graphoid/queries/queries.rb index c94af36f..372471c9 100644 --- a/lib/graphoid/queries/queries.rb +++ b/lib/graphoid/queries/queries.rb @@ -10,8 +10,6 @@ module Queries grapho = Graphoid.build(model) query_type = ::Types::QueryType - binding.pry - query_type.field name: grapho.name, type: grapho.type, null: true do argument :id, GraphQL::Types::ID, required: false argument :where, grapho.filter, required: false @@ -26,6 +24,7 @@ module Queries end query_type.class_eval do + binding.pry define_method :"#{grapho.name}" do |id: nil, where: nil| begin return model.find(id) if id @@ -37,6 +36,7 @@ module Queries end query_type.class_eval do + binding.pry define_method :"#{grapho.plural}" do |where: nil, order: nil, limit: nil, skip: nil| begin model = Graphoid.driver.eager_load(context.irep_node, model) From be4f1b028ae729598d33dee64bc2b24f0e302c32 Mon Sep 17 00:00:00 2001 From: Victor Cordeiro Costa Date: Fri, 26 Aug 2022 05:39:44 -0300 Subject: [PATCH 5/5] Reduce graphql version --- graphoid.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/graphoid.gemspec b/graphoid.gemspec index a1f10929..e6c4d6a8 100644 --- a/graphoid.gemspec +++ b/graphoid.gemspec @@ -15,6 +15,6 @@ Gem::Specification.new do |gem| gem.files = Dir['{app,config,db,lib}/**/*', 'MIT-LICENSE', 'Rakefile', 'README.md'] - gem.add_dependency 'graphql', '~> 1.12.0' + gem.add_dependency 'graphql', '~> 1.8.0' gem.add_dependency 'rails', '~> 6' end