class Tapioca::Dsl::Compilers::IdentityCache
def create_aliased_fetch_by_methods(field, klass)
def create_aliased_fetch_by_methods(field, klass) type, _ = Helpers::ActiveRecordColumnTypeHelper.new( constant, column_type_option: Helpers::ActiveRecordColumnTypeHelper::ColumnTypeOption::Nilable, ).type_for(field.alias_name.to_s) multi_type = type.delete_prefix("T.nilable(").delete_suffix(")").delete_prefix("::") suffix = field.send(:fetch_method_suffix) parameters = field.key_fields.map do |arg| create_param(arg.to_s, type: "T.untyped") end klass.create_method( "fetch_#{suffix}", class_method: true, parameters: parameters, return_type: field.unique ? type : COLLECTION_TYPE.call(type), ) klass.create_method( "fetch_multi_#{suffix}", class_method: true, parameters: [create_param("keys", type: "T::Enumerable[T.untyped]")], return_type: COLLECTION_TYPE.call(multi_type), ) end