0

私は、大規模なサードパーティの残りの 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を設定し、基本から継承するすべてのサブクラスがアクセスできるように、クラス変数と継承を使用することを考えていましたが、私は本当にこのアプローチを避けたいと思っています.

これらのパラメーターを各メソッドに渡す必要を回避するより良い方法はありますか?

4

0 に答える 0