Ruby 动态文档,在描述另一个码时使用返回方法?

Ruby 动态文档,在描述另一个码时使用返回方法?,ruby,documentation,yard,Ruby,Documentation,Yard,我正在记录一个项目,基本上我有以下类似的东西: def foo return bar(__method__) end def bar (method) return method.to_s + 'somestring' end 我正在建立大量的方法,类似于我如何实现foo,它们在哪里,它们在返回bar。例如: # The descriptions for foo0... # @return [String] the method name concatenated with somes

我正在记录一个项目,基本上我有以下类似的东西:

def foo
  return bar(__method__)
end

def bar (method)
 return method.to_s + 'somestring'
end
我正在建立大量的方法,类似于我如何实现foo,它们在哪里,它们在返回bar。例如:

# The descriptions for foo0...
# @return [String] the method name concatenated with somestring
def foo0
  return bar(__method__)
end
# The descriptions for foo1...
# @return [String] the method name concatenated with somestring
def foo1
  return bar(__method__)
end

# The descriptions for bar...
# @return [String] the method name concatenated with somestring
def bar (method)
 return method.to_s + 'somestring'
end
# The descriptions for foo0...
# @return [#bar@return.type] the method name concatenated with somestring
def foo0
  return bar(__method__)
end
# The descriptions for foo1...
# @return [#bar@return.type] the method name concatenated with somestring
def foo1
  return bar(__method__)
end

# The descriptions for bar...
# @return [String] the method name concatenated with somestring
def bar (method)
 return method.to_s + 'somestring'
end
但是如果我将
返回的值更改为整数,那么我的文档就不正确了。我熟悉在院子里记录DSL,但您如何指定
#bar@return.type
当描述另一种方法时,返回方法
条的返回类型。我所指的例子如下:

# The descriptions for foo0...
# @return [String] the method name concatenated with somestring
def foo0
  return bar(__method__)
end
# The descriptions for foo1...
# @return [String] the method name concatenated with somestring
def foo1
  return bar(__method__)
end

# The descriptions for bar...
# @return [String] the method name concatenated with somestring
def bar (method)
 return method.to_s + 'somestring'
end
# The descriptions for foo0...
# @return [#bar@return.type] the method name concatenated with somestring
def foo0
  return bar(__method__)
end
# The descriptions for foo1...
# @return [#bar@return.type] the method name concatenated with somestring
def foo1
  return bar(__method__)
end

# The descriptions for bar...
# @return [String] the method name concatenated with somestring
def bar (method)
 return method.to_s + 'somestring'
end
最终,我试图实现的是记录我的代码,而不必像返回类型那样定义绝对值,它依赖于另一个方法的定义

更新:
我发现您可以调用
#@return(请参阅#bar)
并让它列出返回或
foo
方法,与
bar
方法相同,但我无法确定如何简单地获取返回的类型和/或使用您发现的
foo
的自定义描述重载
bar
的返回说明,您应该使用
@return(请参见#bar)
@return
标记从#bar逐字复制到其他docstring。注意:它也会复制描述文本。没有办法只插值方法的类型。但是,在您的特定示例中似乎不需要它。

正如您所发现的,您应该使用
@return(请参见#bar)
@return
标记从#bar逐字复制到其他docstring。注意:它也会复制描述文本。没有办法只插值方法的类型。但是,在您的特定示例中,您似乎不需要它。

有没有办法重载继承的描述,而只使用继承的返回类型?不幸的是,没有。YARD只能很好地保持内容的干爽。如果您需要在非常低的粒度级别上进行替换,那么YARD并不能很好地完成这项工作。也就是说,如果你的API经常改变,你应该考虑去耦部分来本地化delta。我正在为一个REST API编写一个接口,我正在致力于一个完全干涸的实现,是API调用的类。我正在定义一个DSL,这样所有需要输入的都是方法,即它的名称、参数(每个方法的参数数量不同)以及它们的默认值。以及我希望文件是干燥的。每个方法都有一个共同的返回类型,但每个方法对返回的内容的描述略有不同。是否有办法重载继承的描述,但只使用继承的返回类型?不幸的是,没有。YARD只能很好地保持内容的干爽。如果您需要在非常低的粒度级别上进行替换,那么YARD并不能很好地完成这项工作。也就是说,如果你的API经常改变,你应该考虑去耦部分来本地化delta。我正在为一个REST API编写一个接口,我正在致力于一个完全干涸的实现,是API调用的类。我正在定义一个DSL,这样所有需要输入的都是方法,即它的名称、参数(每个方法的参数数量不同)以及它们的默认值。以及我希望文件是干燥的。每个方法都有一个共同的返回类型,但每个方法对返回内容的描述略有不同。