lib/realogy/app/models/realogy/entity.rb in realogy-0.6.5 vs lib/realogy/app/models/realogy/entity.rb in realogy-0.6.6
- old
+ new
@@ -1,10 +1,10 @@
class Realogy::Entity < ApplicationRecord
self.table_name = 'realogy_entities'
validates :type, presence: true
- validates :entity_id, presence: true
+ validates :entity_id, presence: true, uniqueness: true
validates :last_update_on, presence: true
def needs_updating?
self.new_record? || self.last_update_on_changed? || self.data.blank?
end
@@ -12,13 +12,17 @@
def self.triage hash
@object = self.find_or_initialize_by(entity_id: [hash["entityId"], hash["id"]].compact.first)
@object.last_update_on = hash["lastUpdateOn"].to_s.to_datetime
@object.populate if @object.needs_updating?
end
-
- def populate
+
+ def get_data
call = ["get_", self.class.to_s.downcase.split("::").last, "_by_id"].join.to_sym
- result = Realogy::DataSync.client.__send__(call, self.entity_id)
+ Realogy::DataSync.client.__send__(call, self.entity_id)
+ end
+
+ def populate
+ result = get_data
self.data = result unless result.blank?
self.save if self.changed?
end
def dig_for_array(*path)