Ваша запись Class.method
обозначает метод класса.Но ваше описание звучит как стандартный метод Class#method
.Для пояснения, последний эквивалентен Class.new.method
.Здесь я предполагаю, что ваш вопрос связан с последним.
Я думаю, что стандартной стратегией является использование переменной экземпляра, которая содержит информацию о обработанном до сих пор URL-адресе.Вот пример.
class MyClass
attr_reader :url # defines the reading method "url"
def initialize(baseurl)
@url = baseurl
end
def my_method1
@url << "?" + "my_method1_return"
end
def my_method2
@url << "?" + "my_method2_return"
end
end
my_url = MyClass.new('www.domain.com/xxx/xxx')
string_url0 = my_url.url # => 'www.domain.com/xxx/xxx'
string_url1 = my_url.my_method1 # => 'www.domain.com/xxx/xxx?my_method1_return'
string_url2 = my_url.my_method2 # => 'www.domain.com/xxx/xxx?my_method1_return?my_method2_return'
my_url.url # == string_url2 == 'www.domain.com/xxx/xxx?my_method1_return?my_method2_return'
Что касается общего источника информации, я думаю, что проблема связана с фундаментальным шаблоном проектирования ООП, как правильно отмечено.Итак, я не могу придумать ни одного ярлыка, но программист учится годами, изучая его с помощью учебников, реального программирования и т. Д ...