diff --git a/lib/tapioca/dsl/compilers/active_record_associations.rb b/lib/tapioca/dsl/compilers/active_record_associations.rb index 9cf1b9a98..d46159377 100644 --- a/lib/tapioca/dsl/compilers/active_record_associations.rb +++ b/lib/tapioca/dsl/compilers/active_record_associations.rb @@ -92,6 +92,12 @@ module Compilers # # sig { returns(T.nilable(::Category)) } # def reload_category; end + # + # sig { void } + # def reset_author; end + # + # sig { void } + # def reset_category; end # end # end # ~~~ @@ -196,6 +202,10 @@ def populate_single_assoc_getter_setter(klass, association_name, reflection) "reload_#{association_name}", return_type: association_type, ) + klass.create_method( + "reset_#{association_name}", + return_type: "void", + ) unless reflection.polymorphic? klass.create_method( "build_#{association_name}", diff --git a/manual/compiler_activerecordassociations.md b/manual/compiler_activerecordassociations.md index dfb16eeb7..b80789e46 100644 --- a/manual/compiler_activerecordassociations.md +++ b/manual/compiler_activerecordassociations.md @@ -84,6 +84,12 @@ class Post sig { returns(T.nilable(::Category)) } def reload_category; end + + sig { void } + def reset_author; end + + sig { void } + def reset_category; end end end ~~~ diff --git a/spec/tapioca/dsl/compilers/active_record_associations_spec.rb b/spec/tapioca/dsl/compilers/active_record_associations_spec.rb index 8c6bddb5a..d2b53ceb2 100644 --- a/spec/tapioca/dsl/compilers/active_record_associations_spec.rb +++ b/spec/tapioca/dsl/compilers/active_record_associations_spec.rb @@ -156,6 +156,12 @@ def reload_author; end sig { returns(T.nilable(::Category)) } def reload_category; end + + sig { void } + def reset_author; end + + sig { void } + def reset_category; end end end RBI @@ -195,6 +201,9 @@ def category_attributes=(attributes); end sig { returns(T.untyped) } def reload_category; end + + sig { void } + def reset_category; end end end RBI @@ -294,6 +303,9 @@ def create_author!(*args, &blk); end sig { returns(T.nilable(::User)) } def reload_author; end + + sig { void } + def reset_author; end end end RBI @@ -557,6 +569,9 @@ def create_author!(*args, &blk); end sig { returns(T.nilable(::Blog::Author)) } def reload_author; end + + sig { void } + def reset_author; end end end RBI @@ -627,6 +642,9 @@ def post=(value); end sig { returns(T.nilable(::Blog::Core::Post)) } def reload_post; end + + sig { void } + def reset_post; end end end RBI @@ -745,6 +763,9 @@ def create_shop!(*args, &blk); end sig { returns(T.nilable(::Shop)) } def reload_shop; end + sig { void } + def reset_shop; end + sig { returns(T.nilable(::Shop)) } def shop; end @@ -858,6 +879,12 @@ def reload_author; end sig { returns(T.nilable(::Category)) } def reload_category; end + + sig { void } + def reset_author; end + + sig { void } + def reset_category; end end end RBI @@ -897,6 +924,9 @@ def category_attributes=(attributes); end sig { returns(T.untyped) } def reload_category; end + + sig { void } + def reset_category; end end end RBI @@ -996,6 +1026,9 @@ def create_author!(*args, &blk); end sig { returns(T.nilable(::User)) } def reload_author; end + + sig { void } + def reset_author; end end end RBI @@ -1259,6 +1292,9 @@ def create_author!(*args, &blk); end sig { returns(T.nilable(::Blog::Author)) } def reload_author; end + + sig { void } + def reset_author; end end end RBI @@ -1329,6 +1365,9 @@ def post=(value); end sig { returns(T.nilable(::Blog::Core::Post)) } def reload_post; end + + sig { void } + def reset_post; end end end RBI @@ -1447,6 +1486,9 @@ def create_shop!(*args, &blk); end sig { returns(T.nilable(::Shop)) } def reload_shop; end + sig { void } + def reset_shop; end + sig { returns(T.nilable(::Shop)) } def shop; end @@ -1524,6 +1566,12 @@ def reload_photo_attachment; end sig { returns(T.untyped) } def reload_photo_blob; end + + sig { void } + def reset_photo_attachment; end + + sig { void } + def reset_photo_blob; end end end RBI