Как Вы называете метод включенного класса в Ruby? Посмотрите пример ниже. Это работает, но это не то, что я хочу:
require 'httparty'
module MyModule
class MyClass
include HTTParty
base_uri 'http://localhost'
def initialize(path)
# other code
end
end
end
Это - то, что я хочу, но не работает, говоря undefined method 'base_uri' [...]
. То, что я пытаюсь сделать, должно установить base_uri httparty динамично от инициализировать параметра.
require 'httparty'
module MyModule
class MyClass
include HTTParty
def initialize(path)
base_uri 'http://localhost'
# other code
end
end
end
Согласно исходному коду HTTParty , base_uri
является методом класса.
Таким образом, вам нужно будет вызвать метод метод в контексте класса
module MyModule
class MyClass
include HTTParty
def initialize(path)
self.class.base_uri 'http://localhost'
# other code
end
end
end
Помните, что это решение может быть небезопасным для потоков, в зависимости от того, как вы используете свою библиотеку.