Class: JustimmoClient::V1::Realty

Inherits:
JustimmoBase show all
Defined in:
lib/justimmo_client/api/v1/models/realty.rb

Attributes collapse

Instance Method Summary collapse

Methods inherited from JustimmoBase

#==, #save!, #to_h

Methods included from Utils

#autoload_dir, #translate

Methods included from Logging

default_logger, #logger, rails_logger

Constructor Details

#initialize(**options) ⇒ Realty

Returns a new instance of Realty.



39
40
41
42
43
44
45
46
47
48
# File 'lib/justimmo_client/api/v1/models/realty.rb', line 39

def initialize(**options)
  super(options)
  @contact ||= Employee.new
  @usage ||= RealtyUsage.new
  @marketing ||= RealtyMarketing.new
  @geo ||= GeoLocation.new
  @area ||= RealtyArea.new
  @room_count ||= RealtyRoomCount.new
  @price ||= RealtyPrice.new
end

Instance Method Details

#areaRealtyArea

Returns:



33
# File 'lib/justimmo_client/api/v1/models/realty.rb', line 33

attribute :area,                  RealtyArea

#attachmentsObject

Returns [].

Returns:



20
# File 'lib/justimmo_client/api/v1/models/realty.rb', line 20

attribute :attachments,           Array[Attachment], default: []

#availableDateTime

Returns:

  • (DateTime)


26
# File 'lib/justimmo_client/api/v1/models/realty.rb', line 26

attribute :available,             DateTime

#available=(date) ⇒ String, DateTime

Parameters:

  • date (String)

Returns:

  • (String, DateTime)


60
61
62
63
64
65
# File 'lib/justimmo_client/api/v1/models/realty.rb', line 60

def available=(date)
  @available = DateTime.parse(date) unless date.nil?
rescue ArgumentError
  log.debug("Failed to convert date: #{date}")
  @available = date
end

#construction_yearInteger

Returns:

  • (Integer)


25
# File 'lib/justimmo_client/api/v1/models/realty.rb', line 25

attribute :construction_year,     Integer

#contactEmployee

Returns:



29
# File 'lib/justimmo_client/api/v1/models/realty.rb', line 29

attribute :contact,               Employee

#created_atDateTime

Returns:

  • (DateTime)


27
# File 'lib/justimmo_client/api/v1/models/realty.rb', line 27

attribute :created_at,            DateTime

#descriptionString

Returns:

  • (String)


12
# File 'lib/justimmo_client/api/v1/models/realty.rb', line 12

attribute :description,           String, default: ""

#description=(desc) ⇒ Object



67
68
69
70
71
72
73
74
75
76
# File 'lib/justimmo_client/api/v1/models/realty.rb', line 67

def description=(desc)
  @description =
    if @teaser.empty?
      parts = desc.partition("</ul>\n")
      self.teaser = parts[0..1].join
      parts.last.strip
    else
      desc.strip
    end
end

#description_furnitureObject

Returns [].

Returns:



18
# File 'lib/justimmo_client/api/v1/models/realty.rb', line 18

attribute :description_furniture, Array[String], default: []

#documentsArray

Returns:

  • (Array)


21
# File 'lib/justimmo_client/api/v1/models/realty.rb', line 21

attribute :documents,             Array, default: []

#furnitureObject

Returns [].

Returns:



19
# File 'lib/justimmo_client/api/v1/models/realty.rb', line 19

attribute :furniture,             Array[String], default: []

#geoGeoLocation

Returns:



32
# File 'lib/justimmo_client/api/v1/models/realty.rb', line 32

attribute :geo,                   GeoLocation

#idInteger

Returns:

  • (Integer)


9
# File 'lib/justimmo_client/api/v1/models/realty.rb', line 9

attribute :id,                    Integer

#imagesObject



50
51
52
# File 'lib/justimmo_client/api/v1/models/realty.rb', line 50

def images
  attachments.select { |x| x.type == "pic" }
end

#images360Array

Returns:

  • (Array)


23
# File 'lib/justimmo_client/api/v1/models/realty.rb', line 23

attribute :images360,             Array, default: []

Returns:

  • (Array)


24
# File 'lib/justimmo_client/api/v1/models/realty.rb', line 24

attribute :links,                 Array, default: []

#marketingRealtyMarketing

Returns:



31
# File 'lib/justimmo_client/api/v1/models/realty.rb', line 31

attribute :marketing,             RealtyMarketing

#numberInteger

Returns:

  • (Integer)


10
# File 'lib/justimmo_client/api/v1/models/realty.rb', line 10

attribute :number,                Integer

#openimmo_idString

Returns:

  • (String)


17
# File 'lib/justimmo_client/api/v1/models/realty.rb', line 17

attribute :openimmo_id,           String

#priceRealtyPrice

Returns:



35
# File 'lib/justimmo_client/api/v1/models/realty.rb', line 35

attribute :price,                 RealtyPrice

#room_countRealtyRoomCount

Returns:



34
# File 'lib/justimmo_client/api/v1/models/realty.rb', line 34

attribute :room_count,            RealtyRoomCount

#status_idInteger

Returns:

  • (Integer)


16
# File 'lib/justimmo_client/api/v1/models/realty.rb', line 16

attribute :status_id,             Integer

#sub_type_idInteger

Returns:

  • (Integer)


15
# File 'lib/justimmo_client/api/v1/models/realty.rb', line 15

attribute :sub_type_id,           Integer

#teaserArray[String]

Returns:

  • (Array[String])


13
# File 'lib/justimmo_client/api/v1/models/realty.rb', line 13

attribute :teaser,                Array[String], default: []

#teaser=(tea) ⇒ Object



78
79
80
81
82
83
84
85
86
87
# File 'lib/justimmo_client/api/v1/models/realty.rb', line 78

def teaser=(tea)
  @teaser =
    case tea
    when Array
      tea.map(&:strip)
    when String
      tea.gsub(/<\/?(ul|li)>/, "").strip.split("\n").map(&:strip)
    else []
    end
end

#titleString

Returns:

  • (String)


11
# File 'lib/justimmo_client/api/v1/models/realty.rb', line 11

attribute :title,                 String, default: ""

#title_imageObject



54
55
56
# File 'lib/justimmo_client/api/v1/models/realty.rb', line 54

def title_image
  attachments.select { |x| x.category == :title_image }.first
end

#typeObject



89
90
91
# File 'lib/justimmo_client/api/v1/models/realty.rb', line 89

def type
  @type ||= RealtyInterface.types.select { |x| x.id == type_id }.first
end

#type_idInteger

Returns:

  • (Integer)


14
# File 'lib/justimmo_client/api/v1/models/realty.rb', line 14

attribute :type_id,               Integer

#updated_atDateTime

Returns:

  • (DateTime)


28
# File 'lib/justimmo_client/api/v1/models/realty.rb', line 28

attribute :updated_at,            DateTime

#usageRealtyUsage

Returns:



30
# File 'lib/justimmo_client/api/v1/models/realty.rb', line 30

attribute :usage,                 RealtyUsage

#videosArray

Returns:

  • (Array)


22
# File 'lib/justimmo_client/api/v1/models/realty.rb', line 22

attribute :videos,                Array, default: []