diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 900f56f..ae1d568 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -4,10 +4,10 @@ on: [push, pull_request] jobs: tests: - runs-on: ubuntu-18.04 + runs-on: ubuntu-latest strategy: matrix: - ruby: [2.4, 2.7, 3.0, truffleruby-head] + ruby: [2.4, 2.7, '3.0', 3.1, truffleruby-head] steps: - uses: actions/checkout@master diff --git a/.rubocop.yml b/.rubocop.yml index 25104f3..43747b4 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -42,6 +42,9 @@ Performance/TimesMap: Exclude: - 'spec/**/**.rb' +Gemspec/RequiredRubyVersion: + Enabled: false + # TODO: Fix these... Style/Documentation: Enabled: false diff --git a/jsonapi-serializer.gemspec b/jsonapi-serializer.gemspec index 0732452..9cc59c7 100644 --- a/jsonapi-serializer.gemspec +++ b/jsonapi-serializer.gemspec @@ -12,7 +12,7 @@ Gem::Specification.new do |gem| gem.summary = 'Fast JSON:API serialization library' gem.description = 'Fast, simple and easy to use '\ - 'JSON:API serialization library (also known as fast_jsonapi).' + 'JSON:API serialization library (also known as fast_jsonapi).' gem.homepage = 'https://github.com/jsonapi-serializer/jsonapi-serializer' gem.licenses = ['Apache-2.0'] gem.files = Dir['lib/**/*'] @@ -33,4 +33,5 @@ Gem::Specification.new do |gem| gem.add_development_dependency('rubocop-rspec') gem.add_development_dependency('simplecov') gem.add_development_dependency('sqlite3') + gem.metadata['rubygems_mfa_required'] = 'true' end diff --git a/lib/fast_jsonapi/object_serializer.rb b/lib/fast_jsonapi/object_serializer.rb index 26dd5f5..04bd98d 100644 --- a/lib/fast_jsonapi/object_serializer.rb +++ b/lib/fast_jsonapi/object_serializer.rb @@ -1,5 +1,6 @@ # frozen_string_literal: true +require 'active_support' require 'active_support/time' require 'active_support/concern' require 'active_support/inflector' @@ -133,9 +134,7 @@ module FastJsonapi def reflected_record_type return @reflected_record_type if defined?(@reflected_record_type) - @reflected_record_type ||= begin - name.split('::').last.chomp('Serializer').underscore.to_sym if name&.end_with?('Serializer') - end + @reflected_record_type ||= (name.split('::').last.chomp('Serializer').underscore.to_sym if name&.end_with?('Serializer')) end def set_key_transform(transform_name) diff --git a/lib/fast_jsonapi/serialization_core.rb b/lib/fast_jsonapi/serialization_core.rb index 4931fa7..0cbdad0 100644 --- a/lib/fast_jsonapi/serialization_core.rb +++ b/lib/fast_jsonapi/serialization_core.rb @@ -1,5 +1,6 @@ # frozen_string_literal: true +require 'active_support' require 'active_support/concern' require 'digest/sha1' diff --git a/lib/jsonapi/serializer/instrumentation.rb b/lib/jsonapi/serializer/instrumentation.rb index 4f555df..b89a3dd 100644 --- a/lib/jsonapi/serializer/instrumentation.rb +++ b/lib/jsonapi/serializer/instrumentation.rb @@ -1,3 +1,4 @@ +require 'active_support' require 'active_support/notifications' module JSONAPI diff --git a/spec/fixtures/_user.rb b/spec/fixtures/_user.rb index 733f582..5a4177e 100644 --- a/spec/fixtures/_user.rb +++ b/spec/fixtures/_user.rb @@ -1,3 +1,4 @@ +require 'active_support' require 'active_support/cache' class User diff --git a/spec/fixtures/actor.rb b/spec/fixtures/actor.rb index f85120a..f212de1 100644 --- a/spec/fixtures/actor.rb +++ b/spec/fixtures/actor.rb @@ -1,3 +1,4 @@ +require 'active_support' require 'active_support/cache' require 'jsonapi/serializer/instrumentation' diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index c9068d7..138462e 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -6,6 +6,7 @@ SimpleCov.start do end SimpleCov.minimum_coverage 90 +require 'active_support' require 'active_support/core_ext/object/json' require 'jsonapi/serializer' require 'ffaker'