ちまちまと開発を続けているrakuten_web_service
v1.10.0 をリリースしました。
今回のリリースで、やっとこさトラベルAPIのうち
を使えるようになりました。
経緯
プルリクエストを振り返ってみると、 このAPIだけがレスポンスの形がマジ糞 設計思想が異なるところから、それをどう取り込んだらいいのか悩んだ挙げ句、途中で挫折してから5年も経ってしまっていました。
この機能を望んでいる方が現れたので、開発を再開した次第です。
改めて勉強がてらRails周り触ってみてる。RakutenのSDK便利なんだけど、TravelAPIだけ未リリース。@sato_ryuさんリリースしてくださらないかなぁ・・・https://t.co/oahToKV0zo
— mano🚲 (@hiroya_mano) 2019年3月1日
使い方
RakutenWebService::Travel::Hotel
のsearch
メソッドを使い、SimpleHotelSearch APIを利用することができます。
hotels = RWS::Travel::Hotel.search( latitude: 128440.51, longitude: 503172.21, searchRadius: 1 )
また、RakutenWebService::Travel::AreaClass
を使うことで、エリアコードを扱うことができます。
AreaClass はLargeClassの唯一のクラス japan
を根とした木構造になっています。あるエリアの中の要素は children
メソッドで取得することができ、またあるエリアの親エリアの要素はparent
で取得することができます。
以下のコードは、東京の子エリアの中から「二子玉川」を含むエリアを取得し、そのエリアに含まれるホテル施設を検索しています。
tokyo = RakutenWebService::Travel::AreaCode::SmallClass['tokyo'] nikotama = tokyo.children.find { |area| area.class_name =~ /二子玉川/ } nikotama.search.each do |hotel| puts "Hotel Name: #{hotel.basic_info['hotelName']}" end
ご要望、バグ報告があれば、ぜひIssueを!