Closed zerebom closed 3 years ago
下記クエリにアクセスすれば情報が返ってくる。 これをrails内で組み立てる
curl "https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=-33.8670522,151.1957362&radius=1500&type=restaurant&keyword=cruise&key=API_KEY"
ActiveRecordのインスタンス化は、直接そのModelにメソッドを生やすのがロジックが集約されるので筋が良さそう。 各モデルにクラスメソッを作成し、GCPのレスポンスであるresult(=json)を渡して組み立てることにする。
例↓
class Shop < ApplicationRecord
has_many :reviews, dependent: :destroy
has_many :photos, dependent: :destroy
has_one :address
# ref: https://qiita.com/suzuki-koya/items/1553c405beeb73f83bbc
def self.from_result(result:,
place_id:)
shop = self.new
shop.name = result['name']
shop.phone_number = result['formatted_phone_number']
shop.email = result['email']
shop.place_id = place_id
shop
end
end
また、挙動の確認にはうちの会社で使われているテストライブラリである、Rspecでテストを書くことにした。
必要なデータはすべて取得できたためclose
13 より、RailsからGCPサーバーにGETしにいくことにした。
ここに、どんな実装が必要かをメモする
データフロー
/shops/neigbors?range=20km¤t_lat=32.18...¤t_lon=68.88.../
このうち 3,4をこのissueのスコープとする_
todo