Skip to content

Commit 6d16e17

Browse files
authored
Fix compatibility with GraphQL 2.5.18 (removal of from_options) (#25)
1 parent 69be2f5 commit 6d16e17

7 files changed

Lines changed: 43 additions & 12 deletions

File tree

.github/workflows/build.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@ jobs:
1414
- name: Set up Ruby
1515
uses: ruby/setup-ruby@v1
1616
- name: Install dependencies
17-
run: bundle install
17+
run: |
18+
bundle config set --local without 'gruff'
19+
bundle install
1820
- name: Run tests
1921
run: bundle exec rspec
2022
- name: Report coverage

.ruby-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.1
1+
3.1.0

Gemfile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,7 @@ source "https://rubygems.org"
22

33
# Specify your gem's dependencies in graphql-groups.gemspec
44
gemspec
5+
6+
group :gruff do
7+
gem 'gruff', '~> 0.29'
8+
end

Gemfile.lock

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ GEM
2727
addressable (2.8.0)
2828
public_suffix (>= 2.0.2, < 5.0)
2929
ast (2.4.1)
30-
base64 (0.2.0)
30+
base64 (0.3.0)
3131
benchmark-ips (2.8.2)
3232
bigdecimal (3.1.8)
3333
concurrent-ruby (1.3.4)
@@ -41,19 +41,21 @@ GEM
4141
domain_name (0.5.20190701)
4242
unf (>= 0.0.5, < 1.0.0)
4343
drb (2.2.1)
44-
fiber-storage (1.0.0)
44+
fiber-storage (1.0.1)
4545
gqli (1.0.0)
4646
hashie (~> 3.0)
4747
http (> 0.8, < 3.0)
4848
multi_json (~> 1)
49-
graphql (2.3.19)
49+
graphql (2.5.18)
5050
base64
5151
fiber-storage
52+
logger
5253
groupdate (6.5.1)
5354
activesupport (>= 7)
54-
gruff (0.10.0)
55+
gruff (0.29.0)
56+
bigdecimal (>= 3.0)
5557
histogram
56-
rmagick
58+
rmagick (>= 5.5)
5759
hashie (3.6.0)
5860
histogram (0.2.4.1)
5961
http (2.2.2)
@@ -71,15 +73,19 @@ GEM
7173
mini_portile2 (2.8.7)
7274
minitest (5.25.1)
7375
multi_json (1.15.0)
76+
observer (0.1.2)
7477
parallel (1.19.2)
7578
parser (2.7.1.4)
7679
ast (~> 2.4.1)
80+
pkg-config (1.6.5)
7781
public_suffix (4.0.6)
7882
rainbow (3.0.0)
7983
rake (13.0.1)
8084
regexp_parser (1.7.1)
8185
rexml (3.3.9)
82-
rmagick (4.1.2)
86+
rmagick (6.1.5)
87+
observer (~> 0.1)
88+
pkg-config (~> 1.4)
8389
rspec (3.9.0)
8490
rspec-core (~> 3.9.0)
8591
rspec-expectations (~> 3.9.0)
@@ -135,7 +141,7 @@ DEPENDENCIES
135141
gqli (~> 1.0)
136142
graphql-groups!
137143
groupdate (~> 6.5.1)
138-
gruff (~> 0.10)
144+
gruff (~> 0.29)
139145
rake (~> 13.0)
140146
rspec (~> 3.0)
141147
rubocop (~> 0.88)

graphql-groups.gemspec

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ Gem::Specification.new do |spec|
3939
spec.add_development_dependency 'database_cleaner-active_record', '~> 2.1'
4040
spec.add_development_dependency 'gqli', '~> 1.0'
4141
spec.add_development_dependency 'groupdate', '~> 6.5.1'
42-
spec.add_development_dependency 'gruff', '~> 0.10'
4342
spec.add_development_dependency 'rake', '~> 13.0'
4443
spec.add_development_dependency 'rspec', '~> 3.0'
4544
spec.add_development_dependency 'rubocop', '~> 0.88'

lib/graphql/groups/has_aggregates.rb

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,17 @@ def aggregate(name, *_, **options, &block)
3030
end
3131

3232
def aggregate_field(*args, **kwargs, &block)
33-
field_defn = Schema::AggregateField.from_options(*args, owner: self, **kwargs, &block)
33+
if args.any?
34+
name_arg = args.shift
35+
type_arg = args.shift
36+
desc_arg = args.shift
37+
38+
kwargs[:name] ||= name_arg
39+
kwargs[:type] ||= type_arg if type_arg
40+
kwargs[:description] ||= desc_arg if desc_arg
41+
end
42+
43+
field_defn = Schema::AggregateField.new(owner: self, **kwargs, &block)
3444
field_defn.ensure_loaded if Gem::Version.new(GraphQL::VERSION) >= Gem::Version.new('2.3')
3545
add_field(field_defn)
3646
field_defn

lib/graphql/groups/has_groups.rb

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,17 @@ def by(name, **options, &block)
3737
end
3838

3939
def group_field(*args, **kwargs, &block)
40-
field_defn = field_class.from_options(*args, owner: self, **kwargs, &block)
40+
if args.any?
41+
name_arg = args.shift
42+
type_arg = args.shift
43+
desc_arg = args.shift
44+
45+
kwargs[:name] ||= name_arg
46+
kwargs[:type] ||= type_arg if type_arg
47+
kwargs[:description] ||= desc_arg if desc_arg
48+
end
49+
50+
field_defn = field_class.new(owner: self, **kwargs, &block)
4151
add_field(field_defn)
4252
field_defn
4353
end

0 commit comments

Comments
 (0)