子类

时间:2016-02-20 17:46:40

标签: ruby macros documentation yard

出于某种原因,码子宏在子类上工作,但不在这些类的子类上工作。我的代码如下所示:

# Define an attribute method.
# @param [Symbol] name the property to create.
# @!macro [attach] property
#   @!attribute [r] $1
def self.property(name)
  define_method(name) { @response[name] }
  define_method(:"#{name}?") { @response[name] ? true : false }
end

适用于以这种方式定义的类

# MainClass is where the property is defined
class SubClass < MainClass
  # @return [Integer] the foo value.
  property :foo
end

但不是这种方式(它被认为是一种方法):

class SubSubClass < SubClass
  # @return [Boolean] the bar value.
  property :bar
end

关于stackoverflow的类似问题建议我首先需要解析宏定义类,但是以下命令没有区别。

yard doc "lib/test/base.rb" "lib/**/*.rb"

有没有办法让院子确认DSL超过一级继承?感谢。

0 个答案:

没有答案