Skip to content

Commit 61181e7

Browse files
authored
Merge pull request #406 from graphiti-api/ruby-3-1-gha
Support Ruby 3.1
2 parents 6dcf894 + a0b5f46 commit 61181e7

24 files changed

+110
-124
lines changed

.github/workflows/ci.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ jobs:
3131
- "2.6"
3232
- "2.7"
3333
- "3.0"
34+
- "3.1"
3435
gemfile:
3536
- Gemfile
3637
- gemfiles/rails_5_2.gemfile
@@ -70,6 +71,10 @@ jobs:
7071
ruby: 3.0
7172
- gemfile: gemfiles/rails_5_2_graphiti_rails.gemfile
7273
ruby: 3.0
74+
- gemfile: gemfiles/rails_5_2.gemfile
75+
ruby: 3.1
76+
- gemfile: gemfiles/rails_5_2_graphiti_rails.gemfile
77+
ruby: 3.1
7378
# Raise 7 can't run on 2.6
7479
- gemfile: gemfiles/rails_7.gemfile
7580
ruby: 2.6

Appraisals

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@ appraise "rails-5_2-graphiti-rails" do
1010
gem "rspec-rails"
1111
gem "sqlite3", "~> 1.4.0"
1212
gem "database_cleaner"
13-
gem "rescue_registry"
14-
gem "graphiti-rails", git: "https://github.com/graphiti-api/graphiti-rails.git", branch: "master"
13+
gem "graphiti-rails", "~> 0.4.0"
1514
end
1615

1716
appraise "rails-6" do
@@ -26,8 +25,7 @@ appraise "rails-6-graphiti-rails" do
2625
gem "rspec-rails"
2726
gem "sqlite3", "~> 1.4.0"
2827
gem "database_cleaner"
29-
gem "rescue_registry"
30-
gem "graphiti-rails", git: "https://github.com/graphiti-api/graphiti-rails.git", branch: "master"
28+
gem "graphiti-rails", "~> 0.4.0"
3129
end
3230

3331
appraise "rails-7" do
@@ -42,6 +40,5 @@ appraise "rails-7-graphiti-rails" do
4240
gem "rspec-rails"
4341
gem "sqlite3", "~> 1.4.0"
4442
gem "database_cleaner"
45-
gem "rescue_registry"
46-
gem "graphiti-rails", git: "https://github.com/graphiti-api/graphiti-rails.git", branch: "master"
43+
gem "graphiti-rails", "~> 0.4.0"
4744
end

gemfiles/rails_5_2_graphiti_rails.gemfile

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@ gem "rails", "~> 5.2.0"
66
gem "rspec-rails"
77
gem "sqlite3", "~> 1.4.0"
88
gem "database_cleaner"
9-
gem "rescue_registry"
10-
gem "graphiti-rails", git: "https://github.com/graphiti-api/graphiti-rails.git", branch: "master"
9+
gem "graphiti-rails", "~> 0.4.0"
1110

1211
group :test do
1312
gem "pry"

gemfiles/rails_6_graphiti_rails.gemfile

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@ gem "rails", "~> 6.0"
66
gem "rspec-rails"
77
gem "sqlite3", "~> 1.4.0"
88
gem "database_cleaner"
9-
gem "rescue_registry"
10-
gem "graphiti-rails", git: "https://github.com/graphiti-api/graphiti-rails.git", branch: "master"
9+
gem "graphiti-rails", "~> 0.4.0"
1110

1211
group :test do
1312
gem "pry"

gemfiles/rails_7_graphiti_rails.gemfile

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@ gem "rails", "~> 7.0"
66
gem "rspec-rails"
77
gem "sqlite3", "~> 1.4.0"
88
gem "database_cleaner"
9-
gem "rescue_registry"
10-
gem "graphiti-rails", git: "https://github.com/graphiti-api/graphiti-rails.git", branch: "master"
9+
gem "graphiti-rails", "~> 0.4.0"
1110

1211
group :test do
1312
gem "pry"

graphiti.gemspec

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Gem::Specification.new do |spec|
1616
spec.bindir = "exe"
1717
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
1818
spec.require_paths = ["lib"]
19-
spec.required_ruby_version = [">= 2.6", "< 3.1"]
19+
spec.required_ruby_version = ">= 2.6"
2020

2121
spec.add_dependency "jsonapi-serializable", "~> 0.3.0"
2222
spec.add_dependency "jsonapi-renderer", "~> 0.2", ">= 0.2.2"
@@ -29,7 +29,7 @@ Gem::Specification.new do |spec|
2929
spec.add_development_dependency "kaminari", "~> 0.17"
3030
spec.add_development_dependency "bundler"
3131
spec.add_development_dependency "rake", ">= 10.0"
32-
spec.add_development_dependency "standard", "~> 1.0.0"
32+
spec.add_development_dependency "standard", "~> 1.4.0"
3333
spec.add_development_dependency "activemodel", ">= 5.2"
3434
spec.add_development_dependency "graphiti_spec_helpers", "1.0.beta.4"
3535
end

lib/graphiti/adapters/active_record.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,7 @@ def column_for(scope, name)
317317
end
318318

319319
def sanitized_like_for(scope, attribute, value, &block)
320-
escape_char = '\\'
320+
escape_char = "\\"
321321
column = column_for(scope, attribute)
322322
map = value.map { |v|
323323
v = v.downcase

lib/graphiti/adapters/persistence/associations.rb

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,20 @@ module Associations
55
def process_belongs_to(persistence, attributes)
66
parents = [].tap do |processed|
77
persistence.iterate(only: [:polymorphic_belongs_to, :belongs_to]) do |x|
8-
begin
9-
id = x.dig(:attributes, :id)
10-
x[:object] = x[:resource]
11-
.persist_with_relationships(x[:meta], x[:attributes], x[:relationships])
8+
id = x.dig(:attributes, :id)
9+
x[:object] = x[:resource]
10+
.persist_with_relationships(x[:meta], x[:attributes], x[:relationships])
11+
processed << x
12+
rescue Graphiti::Errors::RecordNotFound
13+
if Graphiti.config.raise_on_missing_sidepost
14+
path = "relationships/#{x.dig(:meta, :jsonapi_type)}"
15+
raise Graphiti::Errors::RecordNotFound.new(x[:sideload].name, id, path)
16+
else
17+
pointer = "data/relationships/#{x.dig(:meta, :jsonapi_type)}"
18+
object = Graphiti::Errors::NullRelation.new(id.to_s, pointer)
19+
object.errors.add(:base, :not_found, message: "could not be found")
20+
x[:object] = object
1221
processed << x
13-
rescue Graphiti::Errors::RecordNotFound
14-
if Graphiti.config.raise_on_missing_sidepost
15-
path = "relationships/#{x.dig(:meta, :jsonapi_type)}"
16-
raise Graphiti::Errors::RecordNotFound.new(x[:sideload].name, id, path)
17-
else
18-
pointer = "data/relationships/#{x.dig(:meta, :jsonapi_type)}"
19-
object = Graphiti::Errors::NullRelation.new(id.to_s, pointer)
20-
object.errors.add(:base, :not_found, message: "could not be found")
21-
x[:object] = object
22-
processed << x
23-
end
2422
end
2523
end
2624
end

lib/graphiti/extensions/temp_id.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ module SerializableTempId
1313
# Common interface for jsonapi-rb extensions
1414
def as_jsonapi(*)
1515
super.tap do |hash|
16-
if (temp_id = @object.instance_variable_get(:'@_jsonapi_temp_id'))
16+
if (temp_id = @object.instance_variable_get(:@_jsonapi_temp_id))
1717
hash[:'temp-id'] = temp_id
1818
end
1919
end

lib/graphiti/filter_operators.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ def initialize(resource, type_name, opts)
1717
end
1818
end
1919

20-
# rubocop: disable Style/MethodMissingSuper
2120
def method_missing(name, *args, &blk)
2221
@procs[name] = blk
2322
end

0 commit comments

Comments
 (0)