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)