From 9fe353c01329039ba458aa83e6782720dae5397b Mon Sep 17 00:00:00 2001 From: Takeshi KOMIYA Date: Mon, 24 Jun 2024 02:22:33 +0900 Subject: [PATCH] Fix #277: CollectionProxy should include Enumerable explicitly To precise the types of enumerable methods of CollectionProxy object, this adds include statement to the generated CollectionProxy types. refs: https://github.com/pocke/rbs_rails/issues/277 --- lib/rbs_rails/active_record.rb | 1 + test/expectations/user.rbs | 1 + 2 files changed, 2 insertions(+) diff --git a/lib/rbs_rails/active_record.rb b/lib/rbs_rails/active_record.rb index f260497..c29ee53 100644 --- a/lib/rbs_rails/active_record.rb +++ b/lib/rbs_rails/active_record.rb @@ -85,6 +85,7 @@ class #{relation_class_name(abs: false)} < ::ActiveRecord::Relation class ActiveRecord_Associations_CollectionProxy < ::ActiveRecord::Associations::CollectionProxy include #{generated_relation_methods_name} include ::_ActiveRecord_Relation[#{klass_name}, #{pk_type}] + include ::Enumerable[#{klass_name}] end RBS end diff --git a/test/expectations/user.rbs b/test/expectations/user.rbs index d317140..b62136f 100644 --- a/test/expectations/user.rbs +++ b/test/expectations/user.rbs @@ -252,5 +252,6 @@ class User < ::ApplicationRecord class ActiveRecord_Associations_CollectionProxy < ::ActiveRecord::Associations::CollectionProxy include ::User::GeneratedRelationMethods include ::_ActiveRecord_Relation[::User, ::Integer] + include ::Enumerable[::User] end end