私は周りのフックのような振る舞いを実装したいいくつかのレーキタスクを持っています。具体的には、私は自分のすべてのRakeタスクが特定の(複雑な、派生した)Time.use_zone
ブロックで実行されるようにする方法を探しています。類推するためレーキタスクのラウンドフックのような動作をどうやって得ることができますか?
、私は私のApplicationController
でこれを持っている:
around_filter :use_time_zone
def use_time_zone
time_zone = non_trivial_derivation
Time.use_zone(time_zone) { yield }
end
そして今、すべての私のコントローラのアクションは、適切に指定された時間帯に実行されます。私はこのようなRakeの仕組みを望んでいる。私は自分のレーキタスクの依存関係を変更したり変更したりしたいと思っていますが、メンテナンスの脆弱性を招く懸念から、実際のタイムゾーンの派生コードを各レーキタスクの先頭に挿入したくありません。 私は、Rakeの依存関係には解決策があると確信しています。 - Rakeの依存関係によって、私のRailsアプリケーションのコンテキストでコードを実行できるようになりました。しかし、私はこのユースケースのためにそれをどうやって行うのか理解できません。