HIрубин динамические методы Chaining
я пытаюсь построить некоторые динамические определенных методов и цепь некоторые методы Scope что-то вроде:
define_method "#{instance_name_method}" do
Kernel.const_get(model_name).___some_chaining methods basd on condition
end
Одна идея, что это что-то вроде:
method_action = model_name #ex Post
['latest', 'old', 'deleted','latest_deleted','archived'].each do |prefix|
method_action << ".deleted" if prefix.match('deleted')
method_action << ".latest" if prefix.match('latest')
method_action << ".old" if prefix.match('old')
define_method "#{prefix}_#{instance_name_method}" do
eval(method_action)
end
end
в должности у нас есть defiend scopes последние, старые ...
Теперь мы можем назвать методы вроде:
Post.latest or Post.old_archived etc...
Мои вопросы:
Есть ли лучший подход для этого? (аналогично активному обнаружению записи, но без method_missing) это добрая уродливость ...
Как я могу цеплять методы динамически?
Я уже знаю, для отправки («метод», вар), но я не знаю, как присоединиться к этим методам из строк на основе состояния ...
Благодаря