2013-05-02 381 views
0

我只是想了解如何使用特定的红宝石宝石。例如,采取这个reddit gem。它说,有这样的代码开始:红宝石宝石文档

require 'snoo' 

# Create a new instance of the client 
reddit = Snoo::Client.new 

# Log into reddit 
reddit.log_in 'Username', 'Password' 

# Send a private message to me (Paradox!) 
reddit.send_pm 'Paradox', 'Snoo rubygem rocks!', "Hey Paradox, I'm trying your Snoo rubygem out and it rocks. Thanks for providing such an awesome thing!" 

# Log back out of reddit 
reddit.log_out 

大,但在the documentation你可以看到,客户端类没有非常许多令人兴奋的功能。令人兴奋的功能在账户类,但也没有办法得到它......因为如果我尝试这样的事情

reddit = Snoo::Account.new 

我得到这个错误:

`initialize': undefined method `new' for Snoo::Account:Module (NoMethodError) 

好了,有没有新方法,但如何制作Account对象并使用其功能,如log_in

回答

2

Snoo::Account是一个红宝石Module,已被混合到Snoo::Client宝石。 Snoo::Account的所有功能已经在reddit对象上提供给您。

自述文件中的简介文档没有说明这一点。但否则关于宝石的文档对我来说看起来不错。

1

github的源代码进行简短的介绍让我相信这是文档中的错误,因为客户端清楚地包含了许多其他模块的功能,包括您希望访问的帐户模块。在你的示例代码,请尝试以下方法来确认它自己:

reddit.methods.sort 
reddit.is_a? Snoo::Account 

我假设的文档软件没赶上包括为他们使用的模块执行。