From b096cfcebd29121b00735470df0038bc8cf82586 Mon Sep 17 00:00:00 2001 From: Aymen Chebbi Date: Fri, 30 Jan 2026 15:43:05 +0100 Subject: [PATCH 1/4] Remove usage of Field.from_options --- .ruby-version | 2 +- Gemfile.lock | 7 ++++--- lib/graphql/groups/has_aggregates.rb | 12 +++++++++++- lib/graphql/groups/has_groups.rb | 12 +++++++++++- 4 files changed, 27 insertions(+), 6 deletions(-) diff --git a/.ruby-version b/.ruby-version index 8c50098..fd2a018 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -3.1 +3.1.0 diff --git a/Gemfile.lock b/Gemfile.lock index eb23b7a..768078b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -27,7 +27,7 @@ GEM addressable (2.8.0) public_suffix (>= 2.0.2, < 5.0) ast (2.4.1) - base64 (0.2.0) + base64 (0.3.0) benchmark-ips (2.8.2) bigdecimal (3.1.8) concurrent-ruby (1.3.4) @@ -41,14 +41,15 @@ GEM domain_name (0.5.20190701) unf (>= 0.0.5, < 1.0.0) drb (2.2.1) - fiber-storage (1.0.0) + fiber-storage (1.0.1) gqli (1.0.0) hashie (~> 3.0) http (> 0.8, < 3.0) multi_json (~> 1) - graphql (2.3.19) + graphql (2.5.18) base64 fiber-storage + logger groupdate (6.5.1) activesupport (>= 7) gruff (0.10.0) diff --git a/lib/graphql/groups/has_aggregates.rb b/lib/graphql/groups/has_aggregates.rb index 23fcc34..56c7d3a 100644 --- a/lib/graphql/groups/has_aggregates.rb +++ b/lib/graphql/groups/has_aggregates.rb @@ -30,7 +30,17 @@ def aggregate(name, *_, **options, &block) end def aggregate_field(*args, **kwargs, &block) - field_defn = Schema::AggregateField.from_options(*args, owner: self, **kwargs, &block) + if args.any? + name_arg = args.shift + type_arg = args.shift + desc_arg = args.shift + + kwargs[:name] ||= name_arg + kwargs[:type] ||= type_arg if type_arg + kwargs[:description] ||= desc_arg if desc_arg + end + + field_defn = Schema::AggregateField.new(owner: self, **kwargs, &block) field_defn.ensure_loaded if Gem::Version.new(GraphQL::VERSION) >= Gem::Version.new('2.3') add_field(field_defn) field_defn diff --git a/lib/graphql/groups/has_groups.rb b/lib/graphql/groups/has_groups.rb index 2729cbc..28fe228 100644 --- a/lib/graphql/groups/has_groups.rb +++ b/lib/graphql/groups/has_groups.rb @@ -37,7 +37,17 @@ def by(name, **options, &block) end def group_field(*args, **kwargs, &block) - field_defn = field_class.from_options(*args, owner: self, **kwargs, &block) + if args.any? + name_arg = args.shift + type_arg = args.shift + desc_arg = args.shift + + kwargs[:name] ||= name_arg + kwargs[:type] ||= type_arg if type_arg + kwargs[:description] ||= desc_arg if desc_arg + end + + field_defn = field_class.new(owner: self, **kwargs, &block) add_field(field_defn) field_defn end From 4b6c7e11a29f5acf9a4955d36c04517a2b362dab Mon Sep 17 00:00:00 2001 From: Aymen Chebbi Date: Mon, 2 Feb 2026 08:03:00 +0100 Subject: [PATCH 2/4] Install ImageMagick dependency --- .github/workflows/build.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 92e6da2..4c78a9e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -13,6 +13,8 @@ jobs: - uses: actions/checkout@v4 - name: Set up Ruby uses: ruby/setup-ruby@v1 + - name: Install ImageMagick + run: sudo apt-get update && sudo apt-get install -y libmagickwand-dev - name: Install dependencies run: bundle install - name: Run tests From c5ef0685cd442d1b54a85e7f3dc591ebebb354af Mon Sep 17 00:00:00 2001 From: Aymen Chebbi Date: Mon, 2 Feb 2026 08:17:05 +0100 Subject: [PATCH 3/4] Comment out Report coverage step --- .github/workflows/build.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4c78a9e..ef4a406 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -19,10 +19,11 @@ jobs: run: bundle install - name: Run tests run: bundle exec rspec - - name: Report coverage - uses: paambaati/codeclimate-action@v9.0.0 - env: - CC_TEST_REPORTER_ID: ${{secrets.CC_TEST_REPORTER_ID}} - with: - # Coverage is already generated in test step, need to run anything again - coverageCommand: echo '' > /dev/null +# - name: Report coverage +# # DEPRECATED: paambaati/codeclimate-action is deprecated in favor of qlty-app/qlty-action. +# uses: paambaati/codeclimate-action@v9.0.0 +# env: +# CC_TEST_REPORTER_ID: ${{secrets.CC_TEST_REPORTER_ID}} +# with: +# # Coverage is already generated in test step, need to run anything again +# coverageCommand: echo '' > /dev/null From ca2470578f0bb8fa57c7088781fd78104d08a9f0 Mon Sep 17 00:00:00 2001 From: Aymen Chebbi Date: Wed, 4 Feb 2026 13:58:12 +0100 Subject: [PATCH 4/4] Exclude gruff in CI --- .github/workflows/build.yml | 21 ++++++++++----------- Gemfile | 4 ++++ Gemfile.lock | 13 +++++++++---- graphql-groups.gemspec | 1 - 4 files changed, 23 insertions(+), 16 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ef4a406..601b249 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -13,17 +13,16 @@ jobs: - uses: actions/checkout@v4 - name: Set up Ruby uses: ruby/setup-ruby@v1 - - name: Install ImageMagick - run: sudo apt-get update && sudo apt-get install -y libmagickwand-dev - name: Install dependencies - run: bundle install + run: | + bundle config set --local without 'gruff' + bundle install - name: Run tests run: bundle exec rspec -# - name: Report coverage -# # DEPRECATED: paambaati/codeclimate-action is deprecated in favor of qlty-app/qlty-action. -# uses: paambaati/codeclimate-action@v9.0.0 -# env: -# CC_TEST_REPORTER_ID: ${{secrets.CC_TEST_REPORTER_ID}} -# with: -# # Coverage is already generated in test step, need to run anything again -# coverageCommand: echo '' > /dev/null + - name: Report coverage + uses: paambaati/codeclimate-action@v9.0.0 + env: + CC_TEST_REPORTER_ID: ${{secrets.CC_TEST_REPORTER_ID}} + with: + # Coverage is already generated in test step, need to run anything again + coverageCommand: echo '' > /dev/null diff --git a/Gemfile b/Gemfile index 60127bb..b0eed96 100644 --- a/Gemfile +++ b/Gemfile @@ -2,3 +2,7 @@ source "https://rubygems.org" # Specify your gem's dependencies in graphql-groups.gemspec gemspec + +group :gruff do + gem 'gruff', '~> 0.29' +end diff --git a/Gemfile.lock b/Gemfile.lock index 768078b..e1aca01 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -52,9 +52,10 @@ GEM logger groupdate (6.5.1) activesupport (>= 7) - gruff (0.10.0) + gruff (0.29.0) + bigdecimal (>= 3.0) histogram - rmagick + rmagick (>= 5.5) hashie (3.6.0) histogram (0.2.4.1) http (2.2.2) @@ -72,15 +73,19 @@ GEM mini_portile2 (2.8.7) minitest (5.25.1) multi_json (1.15.0) + observer (0.1.2) parallel (1.19.2) parser (2.7.1.4) ast (~> 2.4.1) + pkg-config (1.6.5) public_suffix (4.0.6) rainbow (3.0.0) rake (13.0.1) regexp_parser (1.7.1) rexml (3.3.9) - rmagick (4.1.2) + rmagick (6.1.5) + observer (~> 0.1) + pkg-config (~> 1.4) rspec (3.9.0) rspec-core (~> 3.9.0) rspec-expectations (~> 3.9.0) @@ -136,7 +141,7 @@ DEPENDENCIES gqli (~> 1.0) graphql-groups! groupdate (~> 6.5.1) - gruff (~> 0.10) + gruff (~> 0.29) rake (~> 13.0) rspec (~> 3.0) rubocop (~> 0.88) diff --git a/graphql-groups.gemspec b/graphql-groups.gemspec index b5ae7ab..625429a 100644 --- a/graphql-groups.gemspec +++ b/graphql-groups.gemspec @@ -39,7 +39,6 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'database_cleaner-active_record', '~> 2.1' spec.add_development_dependency 'gqli', '~> 1.0' spec.add_development_dependency 'groupdate', '~> 6.5.1' - spec.add_development_dependency 'gruff', '~> 0.10' spec.add_development_dependency 'rake', '~> 13.0' spec.add_development_dependency 'rspec', '~> 3.0' spec.add_development_dependency 'rubocop', '~> 0.88'