我有一个httparty“模型”,我用像这样如何修改此类以使用单例模式,如activemodel?
myRest = RestModel.new
myRest.someGetResquest()
myRest.somePostRequest()
我怎么会去改变它的工作方式类似于一个activemodel的,像这样?
RestModel.someGetRequest()
RestModel.somePostRequest()
这blog post展示了如何在单模块,但它仍然访问这样的实例:RestModel.instance.someGetRequest()
这里是我的代码:
class Managementdb
include HTTParty
base_uri "http://localhost:7001/management/"
def initialise(authToken)
self.authToken = authToken
end
def login()
response = self.class.get("/testLogin")
if response.success?
self.authToken = response["authToken"]
else
# this just raises the net/http response that was raised
raise response.response
end
end
attr_accessor :authToken
...
end
请告诉我,我这样做全部错误(向我展示灯光)
使用Singleton模式使用'RestModel.instance.method()',get访问例如支票将始终访问它,如果一个已经创建并返回该实例或创建一个,如果它以前没有使用过。在RestModel.method()中使用它将是静态类的运行方式,而不是单身。 – jzworkman 2012-03-02 17:05:20
好吧,如果我改变标题,你介意吗? – 2012-03-02 17:07:44
@jzworkman在Ruby中这不是真的。类的单例对象中存在Ruby中的“类”或“静态”方法和属性。 Ruby不是Java。 – 2012-03-02 17:14:07