From 546f1cc040b995db5becc5d00ae8186878885d8f Mon Sep 17 00:00:00 2001 From: Tomas Durcak Date: Wed, 11 Sep 2019 19:51:34 +0200 Subject: [PATCH 01/14] Add alias resolve for resolve_field method --- lib/graphql-pundit/authorization.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/graphql-pundit/authorization.rb b/lib/graphql-pundit/authorization.rb index 9144308..ff28970 100644 --- a/lib/graphql-pundit/authorization.rb +++ b/lib/graphql-pundit/authorization.rb @@ -44,7 +44,9 @@ def resolve_field(obj, args, ctx) raise GraphQL::ExecutionError, "You're not authorized to do this" end end - + + alias_method :resolve, :resolve_field + private def do_authorize(root, arguments, context) From 4e44d5f8c982dc5d54bc213749da3f12035cf13c Mon Sep 17 00:00:00 2001 From: stickler-ci Date: Wed, 11 Sep 2019 17:57:35 +0000 Subject: [PATCH 02/14] Fixing style errors. --- lib/graphql-pundit/authorization.rb | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/graphql-pundit/authorization.rb b/lib/graphql-pundit/authorization.rb index ff28970..618b1c3 100644 --- a/lib/graphql-pundit/authorization.rb +++ b/lib/graphql-pundit/authorization.rb @@ -38,15 +38,16 @@ def authorize!(*args, record: nil, policy: nil) def resolve_field(obj, args, ctx) raise ::Pundit::NotAuthorizedError unless do_authorize(obj, args, ctx) + super(obj, args, ctx) rescue ::Pundit::NotAuthorizedError if @do_raise raise GraphQL::ExecutionError, "You're not authorized to do this" end end - - alias_method :resolve, :resolve_field - + + alias resolve resolve_field + private def do_authorize(root, arguments, context) From 89b08b65d7761ed6f1125140b8f79b611bbe4b37 Mon Sep 17 00:00:00 2001 From: Tomas Durcak Date: Wed, 11 Sep 2019 20:49:48 +0200 Subject: [PATCH 03/14] Override resolve method for new graphql ruby interpreter. --- lib/graphql-pundit/authorization.rb | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/graphql-pundit/authorization.rb b/lib/graphql-pundit/authorization.rb index 618b1c3..5b72025 100644 --- a/lib/graphql-pundit/authorization.rb +++ b/lib/graphql-pundit/authorization.rb @@ -35,7 +35,7 @@ def authorize!(*args, record: nil, policy: nil) @do_raise = true authorize(*args, record: record, policy: policy) end - + def resolve_field(obj, args, ctx) raise ::Pundit::NotAuthorizedError unless do_authorize(obj, args, ctx) @@ -46,8 +46,16 @@ def resolve_field(obj, args, ctx) end end - alias resolve resolve_field + def resolve(obj, args, ctx) + raise ::Pundit::NotAuthorizedError unless do_authorize(obj, args, ctx) + super(obj, args, ctx) + rescue ::Pundit::NotAuthorizedError + if @do_raise + raise GraphQL::ExecutionError, "You're not authorized to do this" + end + end + private def do_authorize(root, arguments, context) From 9227b8b90c42572150fa59a853eaa879157ed700 Mon Sep 17 00:00:00 2001 From: Tomas Durcak Date: Wed, 11 Sep 2019 20:51:57 +0200 Subject: [PATCH 04/14] Override resolve method for new graphql ruby interpreter. --- lib/graphql-pundit/scope.rb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/graphql-pundit/scope.rb b/lib/graphql-pundit/scope.rb index 026725e..3865d06 100644 --- a/lib/graphql-pundit/scope.rb +++ b/lib/graphql-pundit/scope.rb @@ -32,6 +32,12 @@ def resolve_field(obj, args, ctx) apply_scope(@after_scope, field_return, args, ctx) end + def resolve(obj, args, ctx) + before_scope_return = apply_scope(@before_scope, obj, args, ctx) + field_return = super(before_scope_return, args, ctx) + apply_scope(@after_scope, field_return, args, ctx) + end + private def apply_scope(scope, root, arguments, context) From 3b7bd2a5c0179b11076a1ac6b406ba7be595cea3 Mon Sep 17 00:00:00 2001 From: stickler-ci Date: Wed, 11 Sep 2019 18:47:23 +0000 Subject: [PATCH 05/14] Fixing style errors. --- lib/graphql-pundit/authorization.rb | 4 ++-- lib/graphql-pundit/scope.rb | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/graphql-pundit/authorization.rb b/lib/graphql-pundit/authorization.rb index 5b72025..7d72154 100644 --- a/lib/graphql-pundit/authorization.rb +++ b/lib/graphql-pundit/authorization.rb @@ -35,7 +35,7 @@ def authorize!(*args, record: nil, policy: nil) @do_raise = true authorize(*args, record: record, policy: policy) end - + def resolve_field(obj, args, ctx) raise ::Pundit::NotAuthorizedError unless do_authorize(obj, args, ctx) @@ -55,7 +55,7 @@ def resolve(obj, args, ctx) raise GraphQL::ExecutionError, "You're not authorized to do this" end end - + private def do_authorize(root, arguments, context) diff --git a/lib/graphql-pundit/scope.rb b/lib/graphql-pundit/scope.rb index 3865d06..c3927e4 100644 --- a/lib/graphql-pundit/scope.rb +++ b/lib/graphql-pundit/scope.rb @@ -37,7 +37,7 @@ def resolve(obj, args, ctx) field_return = super(before_scope_return, args, ctx) apply_scope(@after_scope, field_return, args, ctx) end - + private def apply_scope(scope, root, arguments, context) From 4e2ef9e643d7589a0be1f4b24319013a196f6b95 Mon Sep 17 00:00:00 2001 From: Tomas Durcak Date: Wed, 11 Sep 2019 22:38:38 +0200 Subject: [PATCH 06/14] Refactor resolve methods. --- lib/graphql-pundit/authorization.rb | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/lib/graphql-pundit/authorization.rb b/lib/graphql-pundit/authorization.rb index 7d72154..9114393 100644 --- a/lib/graphql-pundit/authorization.rb +++ b/lib/graphql-pundit/authorization.rb @@ -35,29 +35,26 @@ def authorize!(*args, record: nil, policy: nil) @do_raise = true authorize(*args, record: record, policy: policy) end - + def resolve_field(obj, args, ctx) - raise ::Pundit::NotAuthorizedError unless do_authorize(obj, args, ctx) - - super(obj, args, ctx) - rescue ::Pundit::NotAuthorizedError - if @do_raise - raise GraphQL::ExecutionError, "You're not authorized to do this" - end + resolve_helper(obj, args, ctx) { super(obj, args, ctx) } end def resolve(obj, args, ctx) - raise ::Pundit::NotAuthorizedError unless do_authorize(obj, args, ctx) + resolve_helper(obj, args, ctx) { super(obj, args, ctx) } + end + + private - super(obj, args, ctx) + def resolve_helper(obj, args, ctx) + raise ::Pundit::NotAuthorizedError unless do_authorize(obj, args, ctx) + yield rescue ::Pundit::NotAuthorizedError if @do_raise raise GraphQL::ExecutionError, "You're not authorized to do this" end end - private - def do_authorize(root, arguments, context) return true unless @authorize return @authorize.call(root, arguments, context) if callable? @authorize From 7c28ba04dbbf60bd15b620c4d267169a03e3e66d Mon Sep 17 00:00:00 2001 From: stickler-ci Date: Wed, 11 Sep 2019 20:32:44 +0000 Subject: [PATCH 07/14] Fixing style errors. --- lib/graphql-pundit/authorization.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/graphql-pundit/authorization.rb b/lib/graphql-pundit/authorization.rb index 9114393..8af3fc3 100644 --- a/lib/graphql-pundit/authorization.rb +++ b/lib/graphql-pundit/authorization.rb @@ -35,7 +35,7 @@ def authorize!(*args, record: nil, policy: nil) @do_raise = true authorize(*args, record: record, policy: policy) end - + def resolve_field(obj, args, ctx) resolve_helper(obj, args, ctx) { super(obj, args, ctx) } end @@ -48,6 +48,7 @@ def resolve(obj, args, ctx) def resolve_helper(obj, args, ctx) raise ::Pundit::NotAuthorizedError unless do_authorize(obj, args, ctx) + yield rescue ::Pundit::NotAuthorizedError if @do_raise From 83507765b3717c8d68414431f4a581497ba4fb30 Mon Sep 17 00:00:00 2001 From: Tomas Durcak Date: Thu, 12 Sep 2019 09:39:49 +0200 Subject: [PATCH 08/14] Refactoring resolve_helper method --- lib/graphql-pundit/authorization.rb | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/graphql-pundit/authorization.rb b/lib/graphql-pundit/authorization.rb index 8af3fc3..4cc995c 100644 --- a/lib/graphql-pundit/authorization.rb +++ b/lib/graphql-pundit/authorization.rb @@ -48,12 +48,13 @@ def resolve(obj, args, ctx) def resolve_helper(obj, args, ctx) raise ::Pundit::NotAuthorizedError unless do_authorize(obj, args, ctx) - yield rescue ::Pundit::NotAuthorizedError - if @do_raise - raise GraphQL::ExecutionError, "You're not authorized to do this" - end + raise_graphql_error if @do_raise + end + + def raise_graphql_error + raise GraphQL::ExecutionError, "You're not authorized to do this" end def do_authorize(root, arguments, context) From 82e5b34f25db6c8ebc2c07659058daedb27516e4 Mon Sep 17 00:00:00 2001 From: stickler-ci Date: Thu, 12 Sep 2019 07:40:13 +0000 Subject: [PATCH 09/14] Fixing style errors. --- lib/graphql-pundit/authorization.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/graphql-pundit/authorization.rb b/lib/graphql-pundit/authorization.rb index 4cc995c..68014a2 100644 --- a/lib/graphql-pundit/authorization.rb +++ b/lib/graphql-pundit/authorization.rb @@ -48,6 +48,7 @@ def resolve(obj, args, ctx) def resolve_helper(obj, args, ctx) raise ::Pundit::NotAuthorizedError unless do_authorize(obj, args, ctx) + yield rescue ::Pundit::NotAuthorizedError raise_graphql_error if @do_raise From c8bed93638ab96a6c1d6c05c4796d178432f3ce9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Dur=C4=8D=C3=A1k?= Date: Wed, 22 Jan 2020 19:00:11 +0100 Subject: [PATCH 10/14] Fix test, update for new graphql gem version --- graphql-pundit.gemspec | 4 ++-- spec/graphql-pundit/authorization_spec.rb | 5 ++-- spec/graphql-pundit/scope_spec.rb | 14 ++++++------ spec/spec_helper.rb | 28 +++++++++++++++++++++++ 4 files changed, 39 insertions(+), 12 deletions(-) diff --git a/graphql-pundit.gemspec b/graphql-pundit.gemspec index ec8d74a..57784f7 100644 --- a/graphql-pundit.gemspec +++ b/graphql-pundit.gemspec @@ -22,10 +22,10 @@ Gem::Specification.new do |spec| spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) } spec.require_paths = ['lib'] - spec.add_dependency 'graphql', '>= 1.6.4', '< 1.10.0' + spec.add_dependency 'graphql', '>= 1.9.0', '< 1.10.0' spec.add_dependency 'pundit', '~> 1.1.0' - spec.add_development_dependency 'bundler', '~> 1.14' + spec.add_development_dependency 'bundler', '~> 2.0.2' spec.add_development_dependency 'codecov', '~> 0.1.10' spec.add_development_dependency 'fuubar', '~> 2.3.0' spec.add_development_dependency 'pry', '~> 0.11.0' diff --git a/spec/graphql-pundit/authorization_spec.rb b/spec/graphql-pundit/authorization_spec.rb index 8a55925..8ad6f87 100644 --- a/spec/graphql-pundit/authorization_spec.rb +++ b/spec/graphql-pundit/authorization_spec.rb @@ -94,7 +94,7 @@ let(:record) { nil } let(:policy) { nil } let(:field_value) { Car.first.name } - let(:result) { field.resolve(Car.first, {}, {}) } + let(:result) { field.resolve(Car.first, {}, spec_context) } context 'one-line field definition' do let(:field) do @@ -104,8 +104,7 @@ authorize: (do_raise ? nil : query), record: record, policy: policy, - null: true). - to_graphql + null: true) end include_examples 'auth methods' diff --git a/spec/graphql-pundit/scope_spec.rb b/spec/graphql-pundit/scope_spec.rb index ad03776..0a3c35c 100644 --- a/spec/graphql-pundit/scope_spec.rb +++ b/spec/graphql-pundit/scope_spec.rb @@ -30,7 +30,8 @@ let(:authorize) { true } if with_authorization context 'before_scope' do - let(:resolve) { ->(cars, _, _) { cars.to_a.map(&:name) } } + let(:resolve) { :names } + context 'inferred scope' do let(:before_scope) { true } let(:expected_result) do @@ -59,7 +60,7 @@ end context 'after_scope' do - let(:resolve) { ->(scope, _, _) { scope.where { |c| c.name.length > 5 } } } + let(:resolve) { :longer_then_five } context 'inferred scope' do let(:scope_class) do @@ -120,7 +121,7 @@ def resolve let(:before_scope) { nil } let(:after_scope) { nil } let(:authorize) { nil } - let(:result) { field.resolve(Car, {}, {}) } + let(:result) { field.resolve(Car, {}, spec_context) } context 'one-line field definition' do let(:field) do Field.new(name: :name, @@ -129,8 +130,7 @@ def resolve before_scope: before_scope, after_scope: after_scope, null: true, - resolve: resolve). - to_graphql + resolver_method: resolve) end context 'with failing authorization' do @@ -147,10 +147,10 @@ def resolve type: [String], authorize: authorize, null: true, - resolve: resolve) + resolver_method: resolve) field.before_scope before_scope field.after_scope after_scope - field.to_graphql + field end context 'with failing authorization' do diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index d59b4a8..a746897 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -22,6 +22,22 @@ Field = GraphQL::Pundit::Field +class BaseObject < GraphQL::Schema::Object + field_class GraphQL::Pundit::Field +end + +class Query < BaseObject + field :test, Int, null: true +end + +class Schema < GraphQL::Schema + query(Query) +end + +def spec_context + GraphQL::Query::Context.new(query: Query, schema: Schema, object: {}, values: {}) +end + class CarDataset attr_reader :cars @@ -52,6 +68,10 @@ def to_a def model Car end + + def names + self.to_a.map(&:name) + end end class Car @@ -73,6 +93,14 @@ def self.first(&block) where(&block).first end + def object + self + end + + def self.longer_then_five + self.where { |c| c.name.length > 5 } + end + def initialize(name, country) @name = name @country = country From a25a51f25988c04aa270d430f595e55135650184 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Dur=C4=8D=C3=A1k?= Date: Wed, 22 Jan 2020 19:37:20 +0100 Subject: [PATCH 11/14] Change dependencies --- graphql-pundit.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/graphql-pundit.gemspec b/graphql-pundit.gemspec index 57784f7..9ba78ae 100644 --- a/graphql-pundit.gemspec +++ b/graphql-pundit.gemspec @@ -25,7 +25,7 @@ Gem::Specification.new do |spec| spec.add_dependency 'graphql', '>= 1.9.0', '< 1.10.0' spec.add_dependency 'pundit', '~> 1.1.0' - spec.add_development_dependency 'bundler', '~> 2.0.2' + spec.add_development_dependency 'bundler', '~> 1.14' spec.add_development_dependency 'codecov', '~> 0.1.10' spec.add_development_dependency 'fuubar', '~> 2.3.0' spec.add_development_dependency 'pry', '~> 0.11.0' From e30f781bca517e2911e52cba113eb67ad4592ba3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Dur=C4=8D=C3=A1k?= Date: Wed, 29 Jan 2020 10:35:37 +0100 Subject: [PATCH 12/14] Update spec gems dependencies --- .rubocop.yml | 8 ++++---- graphql-pundit.gemspec | 18 +++++++++--------- lib/graphql-pundit/common.rb | 1 + lib/graphql-pundit/field.rb | 1 + .../instrumenters/authorization.rb | 2 ++ lib/graphql-pundit/instrumenters/scope.rb | 1 + spec/spec_helper.rb | 9 ++++++--- 7 files changed, 24 insertions(+), 16 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index a2287aa..7e7ebbd 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,6 +1,6 @@ AllCops: TargetRubyVersion: 2.5 - TargetRailsVersion: 5.1 + # TargetRailsVersion: 5.1 CacheRootDirectory: /tmp AllowSymlinksInCacheRootDirectory: true @@ -24,7 +24,7 @@ AllCops: - 'repos/**/*' - 'tmp/**/*' -Layout/AlignParameters: +Layout/ParameterAlignment: Enabled: false Layout/DotPosition: @@ -47,7 +47,7 @@ Metrics/BlockLength: - 'db/migrate/*' - '*.gemspec' -Metrics/LineLength: +Layout/LineLength: Exclude: - 'app/graphql/**/*_enum.rb' - 'config/initializers/devise.rb' @@ -62,7 +62,7 @@ Naming/FileName: - lib/ontohub-models.rb - spec/lib/git-shell_spec.rb -Naming/UncommunicativeMethodParamName: +Naming/MethodParameterName: Exclude: - 'spec/**/*' diff --git a/graphql-pundit.gemspec b/graphql-pundit.gemspec index 9ba78ae..713f788 100644 --- a/graphql-pundit.gemspec +++ b/graphql-pundit.gemspec @@ -22,18 +22,18 @@ Gem::Specification.new do |spec| spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) } spec.require_paths = ['lib'] - spec.add_dependency 'graphql', '>= 1.9.0', '< 1.10.0' - spec.add_dependency 'pundit', '~> 1.1.0' + spec.add_dependency 'graphql', '>= 1.6.4', '< 1.11.0' + spec.add_dependency 'pundit', '>= 1.1.0', '< 2.2' - spec.add_development_dependency 'bundler', '~> 1.14' + spec.add_development_dependency 'bundler', '~> 2.1.4' spec.add_development_dependency 'codecov', '~> 0.1.10' - spec.add_development_dependency 'fuubar', '~> 2.3.0' - spec.add_development_dependency 'pry', '~> 0.11.0' - spec.add_development_dependency 'pry-byebug', '~> 3.6.0' + spec.add_development_dependency 'fuubar', '~> 2.5.0' + spec.add_development_dependency 'pry', '~> 0.12.2' + spec.add_development_dependency 'pry-byebug', '~> 3.8.0' spec.add_development_dependency 'pry-rescue', '~> 1.4.4' spec.add_development_dependency 'pry-stack_explorer', '~> 0.4.9.2' - spec.add_development_dependency 'rake', '~> 12.0' + spec.add_development_dependency 'rake', '~> 13.0' spec.add_development_dependency 'rspec', '~> 3.6' - spec.add_development_dependency 'rubocop', '~> 0.57.0' - spec.add_development_dependency 'simplecov', '~> 0.16.1' + spec.add_development_dependency 'rubocop', '~> 0.79.0' + spec.add_development_dependency 'simplecov', '~> 0.18.0' end diff --git a/lib/graphql-pundit/common.rb b/lib/graphql-pundit/common.rb index 4344e2a..de8b60e 100644 --- a/lib/graphql-pundit/common.rb +++ b/lib/graphql-pundit/common.rb @@ -8,6 +8,7 @@ module Common module ClassMethods def current_user(current_user = nil) return @current_user unless current_user + @current_user = current_user end end diff --git a/lib/graphql-pundit/field.rb b/lib/graphql-pundit/field.rb index 443a258..fddf69c 100644 --- a/lib/graphql-pundit/field.rb +++ b/lib/graphql-pundit/field.rb @@ -5,6 +5,7 @@ require 'graphql-pundit/scope' module GraphQL + # Pundit module module Pundit if defined?(GraphQL::Schema::Field) # Field class that contains authorization and scope behavior diff --git a/lib/graphql-pundit/instrumenters/authorization.rb b/lib/graphql-pundit/instrumenters/authorization.rb index da6188b..d89f2af 100644 --- a/lib/graphql-pundit/instrumenters/authorization.rb +++ b/lib/graphql-pundit/instrumenters/authorization.rb @@ -20,6 +20,7 @@ def call(root, arguments, context) unless authorize(root, arguments, context) raise ::Pundit::NotAuthorizedError end + old_resolver.call(root, arguments, context) rescue ::Pundit::NotAuthorizedError if options[:raise] @@ -64,6 +65,7 @@ def initialize(current_user = :current_user) def instrument(_type, field) return field unless field.metadata[:authorize] + old_resolver = field.resolve_proc resolver = AuthorizationResolver.new(current_user, old_resolver, diff --git a/lib/graphql-pundit/instrumenters/scope.rb b/lib/graphql-pundit/instrumenters/scope.rb index 7c71d40..d5ced45 100644 --- a/lib/graphql-pundit/instrumenters/scope.rb +++ b/lib/graphql-pundit/instrumenters/scope.rb @@ -73,6 +73,7 @@ def instrument(_type, field) # rubocop:enable Metrics/MethodLength scope_metadata = field.metadata[self.class::SCOPE_KEY] return field unless scope_metadata + scope = scope_metadata[:proc] old_resolver = field.resolve_proc diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index a746897..581292d 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -35,7 +35,10 @@ class Schema < GraphQL::Schema end def spec_context - GraphQL::Query::Context.new(query: Query, schema: Schema, object: {}, values: {}) + GraphQL::Query::Context.new(query: Query, + schema: Schema, + object: {}, + values: {}) end class CarDataset @@ -70,7 +73,7 @@ def model end def names - self.to_a.map(&:name) + to_a.map(&:name) end end @@ -98,7 +101,7 @@ def object end def self.longer_then_five - self.where { |c| c.name.length > 5 } + where { |c| c.name.length > 5 } end def initialize(name, country) From dead7be3716287b839671bdbb1aae2861de4d2cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Dur=C4=8D=C3=A1k?= Date: Wed, 29 Jan 2020 10:36:26 +0100 Subject: [PATCH 13/14] Update version to 0.8.0 --- lib/graphql-pundit/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/graphql-pundit/version.rb b/lib/graphql-pundit/version.rb index 44479b2..0fbc8ea 100644 --- a/lib/graphql-pundit/version.rb +++ b/lib/graphql-pundit/version.rb @@ -2,6 +2,6 @@ module GraphQL module Pundit - VERSION = '0.7.1' + VERSION = '0.8.0' end end From 26e2cf2659540bf015fa95810660c972d0774531 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Dur=C4=8D=C3=A1k?= Date: Thu, 30 Jan 2020 15:48:30 +0100 Subject: [PATCH 14/14] Downgrade simplecov version to 0.17.0 to support older ruby versions --- graphql-pundit.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/graphql-pundit.gemspec b/graphql-pundit.gemspec index 713f788..0a312df 100644 --- a/graphql-pundit.gemspec +++ b/graphql-pundit.gemspec @@ -35,5 +35,5 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'rake', '~> 13.0' spec.add_development_dependency 'rspec', '~> 3.6' spec.add_development_dependency 'rubocop', '~> 0.79.0' - spec.add_development_dependency 'simplecov', '~> 0.18.0' + spec.add_development_dependency 'simplecov', '~> 0.17.0' end