From 607d51795dfd72dc36bad4468a64a5b0f6c80106 Mon Sep 17 00:00:00 2001 From: ksss Date: Fri, 31 Jan 2025 16:35:32 +0900 Subject: [PATCH] Support annotation `implicitly_returns_nil` to belongs_to --- lib/orthoses/active_record/belongs_to.rb | 2 +- lib/orthoses/active_record/belongs_to_test.rb | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/orthoses/active_record/belongs_to.rb b/lib/orthoses/active_record/belongs_to.rb index 82cc7cf..1ecd4af 100644 --- a/lib/orthoses/active_record/belongs_to.rb +++ b/lib/orthoses/active_record/belongs_to.rb @@ -23,7 +23,7 @@ def call opt = "#{type}?" [ - "def #{ref.name}: () -> #{opt}", + "%a{implicitly-returns-nil} def #{ref.name}: () -> #{type}", "def #{ref.name}=: (#{opt}) -> #{opt}", "def reload_#{ref.name}: () -> #{opt}", ].tap do |ary| diff --git a/lib/orthoses/active_record/belongs_to_test.rb b/lib/orthoses/active_record/belongs_to_test.rb index 81ce7b5..0e7a9a9 100644 --- a/lib/orthoses/active_record/belongs_to_test.rb +++ b/lib/orthoses/active_record/belongs_to_test.rb @@ -1,3 +1,8 @@ +begin + require 'test_helper' +rescue LoadError +end + module BelongsToTest LOADER = ->(){ class User < ActiveRecord::Base @@ -40,7 +45,8 @@ class BelongsToTest::Post < ::ActiveRecord::Base expect = <<~RBS module BelongsToTest::Post::GeneratedAssociationMethods - def user: () -> BelongsToTest::User? + %a{implicitly-returns-nil} + def user: () -> BelongsToTest::User def user=: (BelongsToTest::User?) -> BelongsToTest::User?