Предположим, у нас есть множество методов с типичными префиксами.Динамически генерировать префиксы для имен методов
def pref_foo
# code
end
def pref_bar
# code
end
Я хочу, чтобы узнать, как автоматически предварять эти префиксы к моим именам методов (например, как это делается в Rails: Model.find_by_smth
).
Другими словами я хочу создать некоторые возможности pref_
, который принимает методы и pref_
добавлять в начало их имен, так что мой метод foo
становится доступен как pref_foo
.
module Bar
# definition of some wrapper `pref_`
end
class Foo
include Bar
<some wrapper from Bar> do
def foo
puts 'What does a computer scientist wear on Halloween?'
end
def bar
puts 'A bit-mask.'
end
end
end
foo = Foo.new
foo.pref_foo # => "What does a computer scientist wear on Halloween?"
foo.pref_bar # => "A bit-mask."
проверить ['method_missing'] (https://ruby-doc.org/core-2.3.3/BasicObject.html#method-i-method_missing) :) –