У меня есть HTTParty «модель», который я использую, как такКак я могу изменить этот класс, чтобы использовать шаблон singleton, например 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
Скажите, пожалуйста, что я делаю это все неправильно (показать мне свет)
Использование шаблона одноплодной всегда будет обращаться к нему с помощью 'RestModel.instance.method()', ГЭТ аксессор для проверки экземпляра, если один был создан и возвращает этот экземпляр или создает его, если он ранее не использовался. Использование его с 'RestModel.method()' было бы способом, которым будет работать статический класс, а не singleton – jzworkman
ok, вы не возражаете, если я изменю заголовок. –
@jzworkman Это неправда в Ruby. «Класс» или «статические» методы и свойства в Ruby существуют на одноэлементном объекте класса. Ruby - это не Java. –