HALLORubin dynamische Verkettungsverfahren
Ich versuche, einige dynamische definiert Methoden und Kette etwas gewissen Spielraum Methoden wie zu bauen:
für dasdefine_method "#{instance_name_method}" do
Kernel.const_get(model_name).___some_chaining methods basd on condition
end
Eine Idee ist, so etwas wie:
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
in der Post haben wir Bereiche, spät, alt definiert ...
Jetzt können wir Methoden wie benennen:
Post.latest or Post.old_archived etc...
Meine Fragen sind:
Gibt es einen besseren Ansatz, dies zu tun? (ähnlich wie bei active record find aber ohne method_missing) das ist hässlich ...
Wie kann ich Methoden dynamisch verketten?
ich bereits für Senden wissen (‚Methode‘, var), aber ich weiß nicht, wie diese Methoden von Strings unter der Bedingung ...
Dank