外部 API から情報を取得するモデルを Rails アプリケーションで使用しようとしています。私がやりたいことは、ActiveRecord モデルが提供するものと同様の方法 (具体的には関連付け、およびチェーン可能なクエリ メソッドの同じスタイル) で、データ モデル (複数の API 呼び出しから生じる情報で構成される可能性がある) にアクセスすることです。
私の最初の本能は、必要な ActiveRecord の部分を再作成し、この API を組み込むことでした。「車輪の再発明」を望んでおらず、機能を追加するにはどれだけの作業が必要になるかを正確に把握しているため、一歩下がって、これにアプローチする方法を再評価する必要がありました。
テーブルなしで ActiveRecord を使用する方法を見つけ (Railscast #193 Tableless Model およびこちらのブログ投稿を参照)、ActiveRecord を調べました。ActiveModel には検証のみが含まれているように見えるため、この状況で非常に役立つかどうかはわかりません。テーブルなしで ActiveRecord を使用するという回避策が最良の選択肢のように思えますが、これを行うためのよりクリーンな方法があると思います。
以下は、ActiveRecord 機能を再作成しようとしていたときに記述したコードの一部を含む要点であり、ActiveRecord ソース自体から大幅に借用しています。
私の質問は次のとおりです。上記の ActiveRecord に回避策を実装するか、自分で機能を再作成することで、必要な機能 (クエリ メソッド、リレーションの連鎖) を取得できますが、これらは本当に理想的なソリューションですか?