Yard doc 和 `define_method`
Yard doc and `define_method`
有没有办法在 YardDoc 中注释用 define_method
定义的方法?
我试过这个:
%w(one two three).each do |type|
# The #{type} way
# @return [String] the #{type} way
define_method("#{type}_way") do ... end
end
但是,不幸的是,没有用。
如果将方法创建移动到 class 方法中,则可以使用宏:
class Foo
# @!macro [attach] generate
# @method _way
# The way
# @return [String] the way
def self.generate(type)
define_method("#{type}_way") do
end
end
generate :one
generate :two
generate :three
end
YARD 输出:
- (String) one_way
The one way
Returns:
(String
) — the one way
- (String) three_way
The three way
Returns:
(String
) — the three way
- (String) two_way
The two way
Returns:
(String
) — the two way
有没有办法在 YardDoc 中注释用 define_method
定义的方法?
我试过这个:
%w(one two three).each do |type|
# The #{type} way
# @return [String] the #{type} way
define_method("#{type}_way") do ... end
end
但是,不幸的是,没有用。
如果将方法创建移动到 class 方法中,则可以使用宏:
class Foo
# @!macro [attach] generate
# @method _way
# The way
# @return [String] the way
def self.generate(type)
define_method("#{type}_way") do
end
end
generate :one
generate :two
generate :three
end
YARD 输出:
- (String) one_way
The one way
Returns:
(
String
) — the one way
- (String) three_way
The three way
Returns:
(
String
) — the three way
- (String) two_way
The two way
Returns:
(
String
) — the two way