私は、大規模なサードパーティの残りの API と強く結合されたアプリに取り組んでいます。
API の URL は次のようになります。
http://somedomain.com/state/:state_id/city/:city_id/appointment/:id
http://somedomain.com/state/:state_id/city/:city_id/person/:id
上記の API を処理するためのモデルは、次のようになります。
class Appointment
SINGULAR_PATH = '/appointment'
def person
Person.find(state_id, city_id, person_id)
end
end
class Person
SINGULAR_PATH = '/person'
def self.find(state_id, city_id, id)
RestCall.get(state_id, city_id, SINGULAR_PATH, id)
end
def qualification
Qualification.find(state_id, city_id, qualification_id)
end
end
class Qualification
SINGULAR_PATH = '/qualification'
def self.find(state_id, city_id, id)
RestCall.get(state_id, city_id, SINGULAR_PATH, id)
end
end
すべての残りの呼び出しで、URL を構成するために state_id と city_id を渡す必要があります。他のリソースを取得するためにこれらのネストされた呼び出しが多数あり、各インスタンスで state_id と city_id がチェーンに渡されます。
基本クラスがstate_idとcity_idを設定し、基本から継承するすべてのサブクラスがアクセスできるように、クラス変数と継承を使用することを考えていましたが、私は本当にこのアプローチを避けたいと思っています.
これらのパラメーターを各メソッドに渡す必要を回避するより良い方法はありますか?