2017-06-12 45 views
0

我向RubyGems发布了一个gem,它为我构建了文档http://www.rubydoc.info/gems/step_sequencer/1.0.7。我注意到它没有包含从我的角度来看并不理想的私有方法。我试着将它们都切换到保护状态,但仍然没有显示出来。只有当我将他们改为公开时​​,他们才会出现。如何在rubydoc.info文档中包含私有方法

有没有办法配置RubyGems发布文档与我自己的配置?

例如方法,我使用的是常规的private关键字。对于类方法我使用的是单例类,如:

class Foo 
    class << self 
    private 
    def self.private_class_method 
    end 
end 

无论是显示出来,甚至当我添加.yardopts文件,--private

+0

你为什么要包含在文档中的公共的方法呢?无论如何,我认为这些不应该从外面使用。那么将这些方法添加到公共文档中有什么意义呢? – spickermann

+0

对于“你真正需要知道的”概述,我有自述文件。在Baiscally中,公共方法的“显示源”按钮不会产生可理解的来源,除非私有方法的定义也存在;我知道不是每个人都以这种方式使用它,而是分别使用它们。它也可以是文档用户知道幕后发生的事情的有用信息。 –

+0

换句话说,我认为README就像休闲的宝石消费者一样,而rubydoc则是为了更高级的人们想要知道的东西。 –

回答

1

我只是碰到了同样的问题,找到了答案,如何将私人和受保护的方法包含在您的rdoc中,尽管需要一些挖掘。有两种方法可以做到这一点。

  1. 包括特定的私有方法添加#:doc:到方法的定义是这样的:

    def my_method #:doc: 
    
  2. 要包括所有的私有/受保护的方法在结尾处加上了--all选项,当您生成从该文档命令行。如果你有更新的文档rake任务,你可以加入这一行成块:

    rdoc.options << "--all" 
    
相关问题