我目前正在开发一个gem并为其编写文档。我目前有一个类使用defined_method
定义了几个方法,如下所示:
class Client
['one', 'two'].each do |method_name|
# Sets the value
# @param argument the argument to set.
define_method("set_#{method_name}") do |argument|
# Method content
end
end
end
我试图使用YARD记录这些方法,但是在生成项目文档时,这些方法没有出现在类文档中。
有谁知道我怎么能记录这些?我错过了什么吗?
答案 0 :(得分:2)
不是迭代任意列表,而是通常使用宏来定义方法,方法是将动态行为包装到类方法中,该方法可以在类中记录为DSL样式的调用:
class << self
private
# @macro [attach] container.increment
# @method $1()
# Increment the $1 container.
def make(name)
define_method(name) { container.send(name).increment }
end
end
make :lion
make :pigeon
end
希望它适合你。