Sha256: 3d66f6b418a849f28fb68507595642da7debcff3203daf5eb09871db1d1c8eaa

Contents?: true

Size: 977 Bytes

Versions: 17

Compression:

Stored size: 977 Bytes

Contents

# frozen_string_literal: true
require_relative 'airbnb_api'

module Airbnb
  # Room info
  class RoomsInfo
    attr_reader :location

    def initialize(location)
      @location = location
    end

    def rooms
      return @rooms if @rooms
      rooms_data = AirbnbApi.rooms_result(@location)
      @rooms = rooms_data.map do |item|
        room(item)
      end
    end

    def self.find(location)
      new(location)
    end

    private

    def room(item)
      item = item
      {
        city: item['listing']['city'],
        name: item['listing']['name'],
        pic_url: item['listing']['picture_url'],
        id: item['listing']['id'],
        person_capacity: item['listing']['person_capacity'],
        primary_host: item['listing']['primary_host'],
        star_rating: item['listing']['star_rating'],
        listing_currency: item['pricing_quote']['listing_currency'],
        nightly_price: item['pricing_quote']['nightly_price']
      }
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
movlog-0.4.2 lib/movlog/room.rb
movlog-0.4.1 lib/movlog/room.rb
movlog-0.4.0 lib/movlog/room.rb
movlog-0.3.15 lib/movlog/room.rb
movlog-0.3.14 lib/movlog/room.rb
movlog-0.3.13 lib/movlog/room.rb
movlog-0.3.12 lib/movlog/room.rb
movlog-0.3.11 lib/movlog/room.rb
movlog-0.3.10 lib/movlog/room.rb
movlog-0.3.9 lib/movlog/room.rb
movlog-0.3.8 lib/movlog/room.rb
movlog-0.3.7 lib/movlog/room.rb
movlog-0.3.6 lib/movlog/room.rb
movlog-0.3.5 lib/movlog/room.rb
movlog-0.3.4 lib/movlog/room.rb
movlog-0.3.3 lib/movlog/room.rb
movlog-0.3.2 lib/movlog/room.rb