diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a0455bf25..b02f6a0a1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,6 +13,12 @@ jobs: matrix: include: # Recent Rubies and Rails + - ruby-version: '3.1' + rails-version: '7.0' + - ruby-version: '3.0' + rails-version: '7.0' + - ruby-version: '2.7' + rails-version: '7.0' - ruby-version: '2.6' rails-version: '6.1' - ruby-version: '2.6' diff --git a/active_model_serializers.gemspec b/active_model_serializers.gemspec index 50cd71154..2d1855e8d 100644 --- a/active_model_serializers.gemspec +++ b/active_model_serializers.gemspec @@ -21,7 +21,7 @@ Gem::Specification.new do |spec| spec.required_ruby_version = '>= 2.1' - rails_versions = ['>= 4.1', '< 7.0'] + rails_versions = ['>= 4.1', '< 7.1'] spec.add_runtime_dependency 'activemodel', rails_versions # 'activesupport', rails_versions # 'builder' diff --git a/test/action_controller/serialization_test.rb b/test/action_controller/serialization_test.rb index 8d360b6f8..2286309b4 100644 --- a/test/action_controller/serialization_test.rb +++ b/test/action_controller/serialization_test.rb @@ -7,6 +7,7 @@ module Serialization class ImplicitSerializerTest < ActionController::TestCase class ImplicitSerializationTestController < ActionController::Base include SerializationTesting + def render_using_implicit_serializer @profile = Profile.new(name: 'Name 1', description: 'Description 1', comments: 'Comments 1') render json: @profile @@ -75,8 +76,12 @@ def render_json_array_object_without_serializer render json: [{ error: 'Result is Invalid' }] end + # HACK: to prevent the resetting of instance variables after each request in Rails 7 + # see https://github.com/rails/rails/pull/43735 + def clear_instance_variables_between_requests; end + def update_and_render_object_with_cache_enabled - @post.updated_at = Time.zone.now + @post.updated_at = Time.zone.now # requires hack above to prevent `NoMethodError: undefined method `updated_at=' for nil:NilClass` generate_cached_serializer(@post) render json: @post