class Airbnb::RentInfo

Attributes

infos[R]
location[R]

Public Class Methods

find(location:) click to toggle source
# File lib/VIAJERO/rentInfo.rb, line 19
def self.find(location:)
  @search_info = {api:ENV['AIRBNB_API'],locate:location}
  rooms_data = AirbnbApi.rooms_info(location)
  new(rooms_data,@search_info)
end
new(rooms,info) click to toggle source
# File lib/VIAJERO/rentInfo.rb, line 8
def initialize(rooms,info)
  @infos = rooms.map { |item|
    rooms = room(item)
  }
  searchVal(info)
end

Private Instance Methods

room(item) click to toggle source
# File lib/VIAJERO/rentInfo.rb, line 26
def room(item)
  #item = item['listing']
  room_id = item['listing']['id']
  room = {
    id: room_id,
    name: item['listing']['name'],
    # need to get price from airbnbAPI
    #  Basic Sample Request:
    #   https://api.airbnb.com/v2/listings/5116458?client_id=3092nxybyb0otqw18e8nh5nty&_format=v1_legacy_for_p3
    address: item['listing']['public_address'],
    airbnb_link: "https://www.airbnb.com.tw/rooms/" + room_id.to_s,
    roomImg: item['listing']['picture_url'],
    bed: item['listing']['beds'],
    roomRank: item['listing']['star_rating']

  }
end
searchVal(oriSearch) click to toggle source
# File lib/VIAJERO/rentInfo.rb, line 44
def searchVal(oriSearch)
  @location = oriSearch['locate']
  @airbnbapi = oriSearch['api']
end