クラスにいくつかの関数があります。関数ごとに、実行前に何を呼び出すか、実行後に何を呼び出すかを指定できるようにしたいと考えています。
たとえば、関数が a、b、c、d、および e であるとします。次のようなことをしたい:
before: [:a, :b, :c], execute: :before_func
after: [d, e], execute: :after_func
上記を達成するために使用できる宝石やテクニックはありますか?
バックグラウンド:
私のクラスは、基本的には ftp からファイルを読み取るクラスです。クラス インスタンスの作成時に初期化される @ftp 変数を宣言し、必要に応じて ftp からの読み取りを試みたり、ftp で他の操作を実行したりします。操作が近くで発生した場合は機能しますが、そうでない場合はタイムアウトになります。したがって、各関数の前に、現在の @ftp を閉じ、新しい接続を再度開いて使用したいと考えています。関数が終了したら、ftp 接続を閉じたいと思います。私はすでにほとんどの関数を書いているので、接続を開く関数と接続を閉じる関数の 2 つの関数を宣言するだけです。