Sha256: 5a63a53f5fb72ebeee9752296805ee1e6f8511c0128af6247b1043a7ac4fdfd2

Contents?: true

Size: 1.17 KB

Versions: 15

Compression:

Stored size: 1.17 KB

Contents

# frozen_string_literal: true

module PriceHubble
  # The common PriceHubble property object.
  #
  # @see https://docs.pricehubble.com/#types-property
  class Property < BaseEntity
    # All valid condition values
    CONDITIONS = %i[renovation_needed well_maintained
                    new_or_recently_renovated].freeze
    # All valid quality values
    QUALITIES = %i[simple normal high_quality luxury].freeze

    # Mapped and tracked attributes
    tracked_attr :location, :property_type, :building_year, :living_area,
                 :land_area, :garden_area, :volume, :number_of_rooms,
                 :number_of_bathrooms, :balcony_area,
                 :number_of_indoor_parking_spaces,
                 :number_of_outdoor_parking_spaces, :floor_number, :has_lift,
                 :energy_label, :has_sauna, :has_pool,
                 :number_of_floors_in_building, :is_furnished, :is_new,
                 :renovation_year

    # Associations
    with_options(initialize: true, persist: true) do
      has_one :location
      has_one :property_type
      has_one :condition, class_name: PropertyConditions
      has_one :quality, class_name: PropertyQualities
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
pricehubble-1.3.0 lib/price_hubble/entity/property.rb
pricehubble-1.2.5 lib/price_hubble/entity/property.rb
pricehubble-1.2.4 lib/price_hubble/entity/property.rb
pricehubble-1.2.3 lib/price_hubble/entity/property.rb
pricehubble-1.2.2 lib/price_hubble/entity/property.rb
pricehubble-1.2.1 lib/price_hubble/entity/property.rb
pricehubble-1.2.0 lib/price_hubble/entity/property.rb
pricehubble-1.1.0 lib/pricehubble/entity/property.rb
pricehubble-1.0.0 lib/pricehubble/entity/property.rb
pricehubble-0.4.2 lib/pricehubble/entity/property.rb
pricehubble-0.4.1 lib/pricehubble/entity/property.rb
pricehubble-0.4.0 lib/pricehubble/entity/property.rb
pricehubble-0.3.0 lib/pricehubble/entity/property.rb
pricehubble-0.2.0 lib/pricehubble/entity/property.rb
pricehubble-0.1.0 lib/pricehubble/entity/property.rb