class Rubillow::Models::UpdatedPropertyDetails
List of updated attributes for a property.
Attributes
edited_facts[RW]
@return [Hash] list of edited facts
@example
edited_facts.each do |key, value| end
elementary_school[RW]
@return [String] elementary school's name.
home_description[RW]
@return [String] Realtor provided home description
middle_school[RW]
@return [String] middle school's name.
neighborhood[RW]
@return [String] neighborhood.
page_views[RW]
@return [Hash] number of page views (:current_month, :total).
@example
puts page_views[:current_month]
posting[RW]
@return [Hash] posting information
@example
posting.each do |key, value| end
price[RW]
@return [String] price.
school_district[RW]
@return [String] school district's name.
Protected Instance Methods
parse()
click to toggle source
@private
Calls superclass method
Rubillow::Models::Base#parse
# File lib/rubillow/models/updated_property_details.rb, line 54 def parse super return if !success? extract_zpid(@parser) extract_links(@parser) extract_address(@parser) extract_images(@parser) @page_views = { :current_month => @parser.xpath('//pageViewCount/currentMonth').first.text, :total => @parser.xpath('//pageViewCount/total').first.text } @price = @parser.xpath('//price').first.text @neighborhood = @parser.xpath('//neighborhood').first.text @school_district = @parser.xpath('//schoolDistrict').first.text @elementary_school = @parser.xpath('//elementarySchool').first.text @middle_school = @parser.xpath('//middleSchool').first.text @home_description = @parser.xpath('//homeDescription').first.text @posting = {} @parser.xpath('//posting').children.each do |elm| @posting[underscore(elm.name).to_sym] = elm.text end @edited_facts = {} @parser.xpath('//editedFacts').children.each do |elm| @edited_facts[underscore(elm.name).to_sym] = elm.text end end
underscore(string)
click to toggle source
@private
# File lib/rubillow/models/updated_property_details.rb, line 87 def underscore(string) word = string.to_s.dup word.gsub!(/::/, '/') word.gsub!(/([A-Z]+)([A-Z][a-z])/,'\1_\2') word.gsub!(/([a-z\d])([A-Z])/,'\1_\2') word.gsub!(/\-/, '_') word.downcase! word end