module MITS::V4_1::Mapper::PropertyMapper
Public Instance Methods
property(tag)
click to toggle source
# File lib/mits/v4.1/mapper/property_mapper.rb, line 5 def property(tag) basics = property_basics(tag) details = property_details(tag) Property.new(basics.merge(details)) end
Private Instance Methods
company_id(tags)
click to toggle source
# File lib/mits/v4.1/mapper/property_mapper.rb, line 42 def company_id(tags) tag = tags.find { |t| t[:IDType].downcase == 'company' } tag[:IDValue] if tag end
property_basics(tag)
click to toggle source
# File lib/mits/v4.1/mapper/property_mapper.rb, line 13 def property_basics(tag) propId = tag[:PropertyID] { company_id: company_id(propId[:Identification]), description: tag[:Information][:LongDescription], id: tag[:IDValue], name: propId[:MarketingName], summary: tag[:Information][:ShortDescription], type: tag[:ILS_Identification][:ILS_IdentificationType], website: propId[:WebSite] } end
property_details(tag)
click to toggle source
# File lib/mits/v4.1/mapper/property_mapper.rb, line 26 def property_details(tag) details = {} # Optional fields details[:address] = try(tag[:PropertyID][:Address], tag[:ILS_Identification], Address, :address) details[:amenities] = try(tag[:ILS_Unit][:Amenity], Amenity, :amenities) details[:deposit] = try(tag[:Deposit], Deposit, :deposit) details[:fees] = try(tag[:Fee], Fees, :fees) details[:floorplans] = try(tag[:Floorplan], Floorplan, :floorplans) details[:files] = try(tag[:File], File, :files) details[:policy] = try(tag[:Policy], Policy, PetPolicy, Pet, :policy) details[:units] = try(tag[:ILS_Unit][:Units][:Unit], :units) details end