Ruby Rack调用:类vs实例方法?

时间:2015-10-17 01:18:46

标签: rack rackup

我正在使用Rack来构建REST API。

call应该是类还是实例方法?

2 个答案:

答案 0 :(得分:1)

实际上没关系。

来自config.ru的

#run想要一个响应#call的对象并且需要一个参数。

一个类是一个对象,因此它可以用作Rack应用程序。

<强> BUT

随着您的应用程序的发展,您可能希望在应用程序中注入一些依赖项,可能是数据库连接:

config.ru ex:

database    = Database.new
application = Application.new(database)
run application

使用实例是一个更好的选择,它将更容易维护和测试。 在OOP中大多数时候你应该使用实例。

答案 1 :(得分:0)

我认为它应该是一个实例方法。

请参阅:https://github.com/rack/rack/wiki/Rack-app-with-uri-and-HTTP-specific-responses