gpt4 book ai didi

ruby - 使用 YARD 记录通过元编程创建的方法

转载 作者:数据小太阳 更新时间:2023-10-29 07:35:33 27 4
gpt4 key购买 nike

我目前正在开发一个 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 记录这些方法,但是在生成项目文档时,这些方法没有出现在类文档中。

有人知道我如何记录这些吗?我错过了什么吗?

最佳答案

与迭代任意列表不同,您通常会使用宏来定义方法,方法是将动态行为包装到一个类方法中,该类方法可以在您的类中记录为 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

希望它对你有用。

关于ruby - 使用 YARD 记录通过元编程创建的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39266833/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com